> I'm afraid the testcase will fail on int16 targets, so perhaps > you should guard the body of main other than return 0; with > #if __INT_MAX__ >= 2147483647ULL > or > #if __SIZEOF_INT__ >= 4 > or similar (or require int32plus target, but gcc.c-torture/execute/ > is not a good place for that and *.x files are terribly ugly, so > better would be to move the test to gcc.dg/torture/ in that case).
Not clear to me, (2U << i) should be zero if the shift count is masked. -- Eric Botcazou