Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/gcc.dg/pr81281-3.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
1 /* PR sanitizer/81281 */ | |
2 /* { dg-do compile } */ | |
3 /* { dg-options "-O2 -fdump-tree-optimized" } */ | |
4 /* { dg-final { scan-tree-dump-not "\[+=-] \?123\[ ;]" "optimized" } } */ | |
5 | |
6 #ifdef __SIZEOF_INT128__ | |
7 __int128 | |
8 f1 (int a, long long b) | |
9 { | |
10 __int128 f = 123 + a; | |
11 __int128 g = 123 + b; | |
12 return f - g; | |
13 } | |
14 #endif | |
15 | |
16 signed char | |
17 f2 (int a, long long b) | |
18 { | |
19 signed char f = 123 + a; | |
20 signed char g = 123 + b; | |
21 return f - g; | |
22 } | |
23 | |
24 signed char | |
25 f3 (unsigned int a, unsigned long long b) | |
26 { | |
27 signed char f = 123 + a; | |
28 signed char g = 123 + b; | |
29 return f - g; | |
30 } | |
31 | |
32 unsigned char | |
33 f4 (unsigned int a, unsigned long long b) | |
34 { | |
35 unsigned char f = 123 + a; | |
36 unsigned char g = 123 + b; | |
37 return f - g; | |
38 } | |
39 | |
40 /* This isn't optimized yet. */ | |
41 #if 0 | |
42 long long | |
43 f5 (int a) | |
44 { | |
45 long long f = 123 + a; | |
46 long long g = 123; | |
47 return f - g; | |
48 } | |
49 #endif | |
50 | |
51 signed char | |
52 f6 (long long a) | |
53 { | |
54 signed char f = 123 + a; | |
55 signed char g = 123; | |
56 return f - g; | |
57 } | |
58 | |
59 signed char | |
60 f7 (unsigned int a) | |
61 { | |
62 signed char f = 123 + a; | |
63 signed char g = 123; | |
64 return f - g; | |
65 } | |
66 | |
67 unsigned char | |
68 f8 (unsigned long int a) | |
69 { | |
70 unsigned char f = 123 + a; | |
71 unsigned char g = 123; | |
72 return f - g; | |
73 } | |
74 | |
75 long long | |
76 f9 (int a) | |
77 { | |
78 long long f = 123; | |
79 long long g = 123 + a; | |
80 return f - g; | |
81 } | |
82 | |
83 signed char | |
84 f10 (long long a) | |
85 { | |
86 signed char f = 123; | |
87 signed char g = 123 + a; | |
88 return f - g; | |
89 } | |
90 | |
91 signed char | |
92 f11 (unsigned int a) | |
93 { | |
94 signed char f = 123; | |
95 signed char g = 123 + a; | |
96 return f - g; | |
97 } | |
98 | |
99 unsigned char | |
100 f12 (unsigned long int a) | |
101 { | |
102 unsigned char f = 123; | |
103 unsigned char g = 123 + a; | |
104 return f - g; | |
105 } |