1 /* { dg-do link } */ 2 /* { dg-require-effective-target lto } */ 3 /* { dg-require-linker-plugin "" } */ 4 /* { dg-options "-O1 -flto -fuse-linker-plugin" } */ 5 6 #define LABEL3(pfx, x) # pfx x 7 #define LABEL2(pfx, x) LABEL3(pfx, x) 8 #define LABEL(x) LABEL2(__USER_LABEL_PREFIX__, x) 9 10 unsigned int factorial_ (unsigned int) __asm__ (LABEL ("factorial")); 11 factorial(unsigned int i)12unsigned int factorial (unsigned int i) 13 { 14 return i > 1 ? i * factorial_ (i - 1) : 1; 15 } 16 main(void)17int main (void) 18 { 19 return factorial (5); 20 } 21