Attention: débordement dans la conversion constante implicite

Dans le programme suivant, la ligne 5 ne donnent débordement d'avertissement comme prévu, mais, étonnamment, la ligne 4 ne donne pas d'avertissement dans GCC: http://www.ideone.com/U0BXn

int main()
{
    int i = 256;
    char c1 = i;    //line 4
    char c2 = 256;  //line 5
    return 0;
}

Je pensais les deux lignes doivent donner débordement avertissement. Ou est-il quelque chose que je suis absent?


Le sujet qui m'a amené à faire cette expérience, c'est ceci: typedef type de vérification?

Là, j'ai dit que la suite(que j'ai supprimé de ma réponse, parce que quand je le lance, il ne se présentent pas comme je l'avais prévu):

//However, you'll get warning for this case:

typedef int  T1;
typedef char T2;

T1 x = 256;     
T2 y = x; //possible overflow warning! (but it doesn't give warning :()

source d'informationauteur Nawaz | 2011-02-23