Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.c-torture/compile/20000825-1.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
typedef signed int s32; typedef signed long s64; typedef unsigned int u32; typedef unsigned long u64; extern __inline__ u32 foobar(int logmask) { u32 ret = ~(1 << logmask); // fails // s32 ret = ~(1 << logmask); // ok // u64 ret = ~(1 << logmask); // ok // s64 ret = ~(1 << logmask); // ok return ret; } // This procedure compiles fine... u32 good(u32 var) { var = foobar(0); return var; } // This procedure does not compile... // Same as above, but formal parameter is a pointer // Both good() and fails() compile ok if we choose // a different type for "ret" in foobar(). u32 fails(u32 *var) { *var = foobar(0); return *var; }