pr27528.c
来自「用于进行gcc测试」· C语言 代码 · 共 41 行
C
41 行
/* Check that constant constraints like "i", "n" and "s" can be used in cases where the operand is an initializer constant. *//* { dg-require-effective-target nonpic } */int x[2] = { 1, 2 };#ifdef __OPTIMIZE__static inline void __attribute__((__always_inline__))insn1 (int x){ asm volatile ("" :: "n" (x), "i" (x));}static inline void __attribute__((__always_inline__))insn2 (const void *x){ asm volatile ("" :: "s" (x), "i" (x));}#endifvoidfoo (void){#ifdef __OPTIMIZE__ insn1 (2); insn1 (2); insn1 (400); insn1 (__LINE__); insn2 (x); insn2 (x); insn2 (&x[1]); insn2 ("string");#endif asm volatile ("" :: "s" (x), "i" (x)); /* At the time of writing, &x[1] is decomposed before reaching expand when compiling with -O0. */ asm volatile ("" :: "s" ("string"), "i" ("string")); asm volatile ("" :: "s" (__FILE__), "i" (__FILE__)); asm volatile ("" :: "s" (__FUNCTION__), "i" (__FUNCTION__));}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?