comparison gcc/testsuite/gcc.dg/pr81281-2.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 "p_\[0-9]*\\(D\\)" "optimized" } } */
5
6 typedef __SIZE_TYPE__ size_t;
7 typedef __INTPTR_TYPE__ T;
8
9 T
10 f1 (char *p, size_t a, size_t b)
11 {
12 char *c = p + 1;
13 size_t d = a + 2;
14 size_t e = b + 3;
15 T f = (T) (p + a);
16 T g = (T) (p + b);
17 return f - g;
18 }
19
20 T
21 f2 (char *p, size_t a, size_t b)
22 {
23 size_t c = a + 1;
24 char *d = p + 2;
25 size_t e = b + 3;
26 T f = (T) (p + a);
27 T g = (T) (p + b);
28 return f - g;
29 }
30
31 T
32 f3 (char *p, size_t a, size_t b)
33 {
34 size_t c = b + 1;
35 char *d = p + 2;
36 size_t e = a + 3;
37 T f = (T) (p + a);
38 T g = (T) (p + b);
39 return f - g;
40 }
41
42 T
43 f4 (char *p, size_t a)
44 {
45 char *c = p + 1;
46 size_t d = a + 2;
47 T f = (T) (p + a);
48 T g = (T) p;
49 return f - g;
50 }
51
52 T
53 f5 (char *p, size_t a)
54 {
55 size_t c = a + 1;
56 char *d = p + 2;
57 T f = (T) (p + a);
58 T g = (T) p;
59 return f - g;
60 }
61
62 T
63 f6 (char *p, size_t a)
64 {
65 char *c = p + 1;
66 size_t d = a + 2;
67 T f = (T) p;
68 T g = (T) (p + a);
69 return f - g;
70 }
71
72 T
73 f7 (char *p, size_t a)
74 {
75 size_t c = a + 1;
76 char *d = p + 2;
77 T f = (T) p;
78 T g = (T) (p + a);
79 return f - g;
80 }