------- Comment #4 from rguenth at gcc dot gnu dot org 2007-04-24 15:17 ------- I can reproduce this on i?86 with 32bit HWI (even with optimization if you trick around CCP):
int one(void) { return 1; } int printf (const char *, ...); int main() { long long qhat = one(); long long res = qhat * 0xffffffffLL; printf("res = %llx\n", res); return 0; } But only with 4.1.1, at least gcc (GCC) 4.1.3 20070413 and gcc (GCC) 4.1.2 20061115 (prerelease) are ok. Also some gcc (GCC) 4.1.0 (SUSE Linux) is ok. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- GCC build triplet|i686-pc-cygwin | GCC host triplet|i686-pc-cygwin | GCC target triplet|i686-pc-cygwin |i686-*-* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31679