]>
Commit | Line | Data |
---|---|---|
77bd31de UB |
1 | /* Testcase by Martin Michlmayr <tbm@cyrius.com> */ |
2 | /* { dg-do compile } */ | |
3 | /* { dg-options "-O3" } */ | |
4 | ||
60adb641 | 5 | typedef __PTRDIFF_TYPE__ intptr_t; |
77bd31de UB |
6 | typedef union lispunion *object; |
7 | struct character | |
8 | { | |
9 | long e; | |
10 | }; | |
11 | extern struct symbol Cnil_body; | |
12 | extern struct symbol Ct_body; | |
13 | struct vector | |
14 | { | |
15 | object *v_self; | |
16 | }; | |
17 | union lispunion | |
18 | { | |
19 | struct vector v; | |
20 | }; | |
21 | void init_code () | |
22 | { | |
23 | object V659; | |
24 | object _x, _y; | |
25 | object V643; | |
60adb641 | 26 | intptr_t V648; |
77bd31de UB |
27 | unsigned char V653; |
28 | object V651; | |
29 | object V654; | |
30 | object V658; | |
31 | ||
32 | T1240: | |
60adb641 | 33 | if (V648 >= (intptr_t)V651) /* { dg-warning "cast from pointer to integer of different size" "" { target { ! int32plus } } } */ |
77bd31de UB |
34 | goto T1243; |
35 | V653 = ((char *) V654->v.v_self)[V648]; | |
36 | V659 = (object) V654 + V653; | |
37 | T1261: | |
38 | V658 = | |
39 | (object) | |
40 | V659 ? (object) & Ct_body : (object) & Cnil_body; | |
41 | if (V658 == (object) & Cnil_body) | |
42 | goto T1249; | |
43 | goto T1224; | |
44 | T1249: | |
60adb641 | 45 | V648 = (intptr_t) V648 + 1; |
77bd31de UB |
46 | goto T1240; |
47 | T1243: | |
48 | V643 = (object) & Cnil_body; | |
49 | T1224: | |
50 | _y = V643; | |
51 | number_plus (_x, _y); | |
52 | } |