Viewing file: pr81281-3.c (1.5 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* PR sanitizer/81281 */ /* { dg-do compile } */ /* { dg-options "-O2 -fdump-tree-optimized" } */ /* { dg-final { scan-tree-dump-not "\[+=-] \?123\[ ;]" "optimized" } } */
#ifdef __SIZEOF_INT128__ __int128 f1 (int a, long long b) { __int128 f = 123 + a; __int128 g = 123 + b; return f - g; } #endif
signed char f2 (int a, long long b) { signed char f = 123 + a; signed char g = 123 + b; return f - g; }
signed char f3 (unsigned int a, unsigned long long b) { signed char f = 123 + a; signed char g = 123 + b; return f - g; }
unsigned char f4 (unsigned int a, unsigned long long b) { unsigned char f = 123 + a; unsigned char g = 123 + b; return f - g; }
/* This isn't optimized yet. */ #if 0 long long f5 (int a) { long long f = 123 + a; long long g = 123; return f - g; } #endif
signed char f6 (long long a) { signed char f = 123 + a; signed char g = 123; return f - g; }
signed char f7 (unsigned int a) { signed char f = 123 + a; signed char g = 123; return f - g; }
unsigned char f8 (unsigned long int a) { unsigned char f = 123 + a; unsigned char g = 123; return f - g; }
long long f9 (int a) { long long f = 123; long long g = 123 + a; return f - g; }
signed char f10 (long long a) { signed char f = 123; signed char g = 123 + a; return f - g; }
signed char f11 (unsigned int a) { signed char f = 123; signed char g = 123 + a; return f - g; }
unsigned char f12 (unsigned long int a) { unsigned char f = 123; unsigned char g = 123 + a; return f - g; }
|