blob: 512624c04a95e3583ab54e89e5dfb6c2c5a0f163 [file] [log] [blame]
/* Test for proper handling of volatile parameters in ObjC methods. */
/* { dg-do compile } */
/* { dg-options "-O2" } */
/* Contributed by Ziemowit Laski <zlaski@apple.com> */
/* APPLE LOCAL radar 4894756 */
/* { dg-require-effective-target ilp32 } */
__attribute__((objc_root_class)) @interface Test
-(void) test2: (volatile int) a;
@end
@implementation Test
-(void) test2: (volatile int) a
{
/* The following assignment should NOT be optimized away. */
a = 1;
}
@end
/* { dg-final { scan-assembler "li r\[0-9\]+,1" { target powerpc*-*-darwin* } } } */
/* APPLE LOCAL testing */
/* { dg-final { scan-assembler "movl\t\\\$1, 16\\(%ebp\\)" { target i?86*-*-darwin* } } } */