/* { dg-do compile } */ | |
/* { dg-options "-fdump-tree-original" } */ | |
char c[4] __attribute__ ((aligned (4))); | |
struct S { | |
char c1; | |
char c2; | |
char c3; | |
char c4; | |
}; | |
int f1 (void) | |
{ | |
return 3 & (__SIZE_TYPE__)&c[1]; | |
} | |
int f2 (void) | |
{ | |
return 3 & (__SIZE_TYPE__)&((struct S *)&c)->c2; | |
} | |
/* { dg-final { scan-tree-dump-times "\& 3" 0 "original" } } */ | |
/* { dg-final { scan-tree-dump-times "return 1" 2 "original" } } */ |