| /* { dg-do compile } */ |
| /* { dg-options "-O2" } */ |
| |
| /* The function order in this file is opposite from what the cgraph |
| topological sort would output. So we can check the order is preserved. */ |
| |
| extern void f2(int); |
| static int func2(void); |
| |
| #ifndef NOREORDER |
| #define NOREORDER __attribute__((no_reorder)) |
| #endif |
| |
| asm("firstasm"); |
| |
| NOREORDER __attribute__((noipa)) int bozo(void) |
| { |
| f2(3); |
| func2(); |
| } |
| |
| asm("jukjuk"); |
| |
| NOREORDER __attribute__((noipa)) static int func1(void) |
| { |
| f2(1); |
| } |
| |
| asm("barbar"); |
| |
| NOREORDER __attribute__((noipa)) static int func2(void) |
| { |
| func1(); |
| } |
| |
| asm("lastasm"); |
| |
| /* { dg-final { scan-assembler "firstasm.*bozo.*jukjuk.*func1.*barbar.*func2.*lastasm" } } */ |