1 /* PR middle-end/18548 */
2 /* Test case reduced by Andrew Pinski <pinskia@physics.uc.edu> */
4 /* { dg-options "-O1 " } */
5 /* Option -fno-tree-lrs removed By Andrew MacLeod since it is no longer
6 supported in the compiler beginning with GCC 4.3. */
7 /* m32c has varying sized pointers */
8 /* { dg-skip-if "" { "m32c-*-*" } { "*" } { "-mcpu=m32c" "-mcpu=m32cm" } } */
10 /* Kludge to make it signed. */
11 #define unsigned signed
12 __extension__
typedef __SIZE_TYPE__ ssize_t
;
15 extern void abort (void);
19 void f(ssize_t a
, ssize_t b
)
22 ssize_t d
= *((ssize_t
*)(a
+1));
32 /* The variable a cannot be a local variable as we get better aliasing
33 now and decide that the store to a is dead. The better aliasing comes
34 from better representation of pointer arithmetic. */