On Fri, Apr 25, 2014 at 01:24:13PM +0200, Eric Botcazou wrote: > > 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.
2U << 31 is undefined behavior on those targets. Jakub