111
|
1 /* { dg-do compile } */
|
|
2 /* { dg-options "-fdump-tree-original" } */
|
|
3
|
|
4 struct {
|
|
5 char c1;
|
|
6 char c2;
|
|
7 char c3;
|
|
8 char c4;
|
|
9 } s __attribute__ ((aligned (4)));
|
|
10
|
|
11 unsigned f1 (void)
|
|
12 {
|
|
13 return 3 & (__SIZE_TYPE__)&s.c1;
|
|
14 }
|
|
15
|
|
16 unsigned f2 (void)
|
|
17 {
|
|
18 return 3 & (__SIZE_TYPE__)&s.c2;
|
|
19 }
|
|
20
|
|
21 unsigned f3 (void)
|
|
22 {
|
|
23 return 3 & (__SIZE_TYPE__)&s.c3;
|
|
24 }
|
|
25
|
|
26 unsigned f4 (void)
|
|
27 {
|
|
28 return 3 & (__SIZE_TYPE__)&s.c4;
|
|
29 }
|
|
30
|
|
31 unsigned f5 (void)
|
|
32 {
|
|
33 return 4 & (__SIZE_TYPE__)&s.c1;
|
|
34 }
|
|
35
|
|
36 /* { dg-final { scan-tree-dump-times "\& 3" 0 "original" } } */
|
|
37 /* { dg-final { scan-tree-dump-times "\& 4" 1 "original" } } */
|
|
38 /* { dg-final { scan-tree-dump-times "return 0" 1 "original" } } */
|
|
39 /* { dg-final { scan-tree-dump-times "return 1" 1 "original" } } */
|
|
40 /* { dg-final { scan-tree-dump-times "return 2" 1 "original" } } */
|
|
41 /* { dg-final { scan-tree-dump-times "return 3" 1 "original" } } */
|