gnu-inline-global.c
来自「用于进行gcc测试」· C语言 代码 · 共 51 行
C
51 行
/* Test __attribute__((gnu_inline)). Check that __attribute__((gnu_inline)) has no effect, in the absence of extern and/or inline. Check that we don't get out-of-line definitions for extern inline gnu_inline functions, regardless of declarations or definitions. Check that such functions can be overridden by out-of-line definitions. *//* { dg-do compile } *//* { dg-options "-O" } */ // such that static functions are optimized out/* { dg-final { scan-assembler "func1" } } *//* { dg-final { scan-assembler "func2" } } *//* { dg-final { scan-assembler-not "func3" } } *//* { dg-final { scan-assembler "func4" } } *//* { dg-final { scan-assembler-not "func5" } } */#include "gnu-inline-common.h"#undef fn#define fn pfx(func1) // must be emitted out-of-linegnuindef(fn, 0)def(, fn, 2)#undef fn#define fn pfx(func2) // must be emitted out-of-linedecl(extern, fn)gnuindef(fn, 0)def(, fn, 2)#undef fn#define fn pfx(func3) // must not be emitteddecl(extern, fn)gnuindef(fn, 0)#undef fn#define fn pfx(func4) // must be emitted out-of-linedecl(extern, fn)gnuindef(fn, 0)def(, fn, 1)#undef fn#define fn pfx(func5) // must NOT be emitted, because it's static and unuseddecl(static, fn)gnuindef(fn, 0)def(, fn, 1)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?