📄 asm-4.c
字号:
/* Test if functions marked __attribute__((used)), but with address never taken in C code, don't use alternate calling convention for local functions on IA-32. *//* { dg-do run { target i?86-*-* x86_64-*-* } } *//* { dg-options "-O2" } */extern void abort (void);static int foo (int, int, int, int) __asm ("foo");static __attribute__((noinline, used)) intfoo (int i, int j, int k, int l){ return i + j + k + l;}voidbar (void){ if (foo (1, 2, 3, 4) != 10) abort ();}int (*fn) (int, int, int, int);voidbaz (void){ __asm ("movl $foo, %k0" : "=r" (fn)); if (fn (2, 3, 4, 5) != 14) abort ();}intmain (void){ bar (); baz (); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -