2017-12-05 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.dg / noreorder.c
blob7d40a2958a4afe8213705c3eb1ed81f3dbb6e570
1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
4 /* The function order in this file is opposite from what the cgraph
5 topological sort would output. So we can check the order is preserved. */
7 extern void f2(int);
8 static int func2(void);
10 #ifndef NOREORDER
11 #define NOREORDER __attribute__((no_reorder))
12 #endif
14 asm("firstasm");
16 NOREORDER __attribute__((noinline)) int bozo(void)
18 f2(3);
19 func2();
22 asm("jukjuk");
24 NOREORDER __attribute__((noinline)) static int func1(void)
26 f2(1);
29 asm("barbar");
31 NOREORDER __attribute__((noinline)) static int func2(void)
33 func1();
36 asm("lastasm");
38 /* { dg-final { scan-assembler "firstasm.*bozo.*jukjuk.*func1.*barbar.*func2.*lastasm" } } */