1/* { dg-do compile } */ 2/* { dg-options "-O2 -mcpu=5208" } */ 3 4#include <stdlib.h> 5 6void __attribute__ ((noinline)) 7oof() 8{ 9 asm volatile ("" ::: "memory"); 10} 11int print_info(unsigned int *ip_addr) 12{ 13 int invalid = 0; 14 15 if (ip_addr) { 16 unsigned int haddr = *ip_addr; 17 oof("stuff"); 18 if (0x0 == haddr) { 19 invalid = 1; 20 } 21 oof("stuff2"); 22 } else { 23 invalid = 1; 24 } 25 26 return invalid; 27} 28 29int main(int argc, char *argv[]) 30{ 31 unsigned int myaddr; 32 int ret; 33 34 myaddr = 0x0; 35 ret = print_info(&myaddr); 36 if (!ret) 37 abort (); 38 39 myaddr = 0x01020304; 40 ret = print_info(&myaddr); 41 if (ret) 42 abort (); 43 exit (0); 44} 45 46 47