inline.c
来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 70 行
C
70 行
// { dg-do assemble }// { dg-options "-ansi -pedantic-errors -Winline -O1" }// Copyright (C) 2000 Free Software Foundation, Inc.// Contributed by Nathan Sidwell 9 Mar 2000 <nathan@codesourcery.com>// derived from a bug report by Benjamin Kosnik <bkoz@cygnus.com>// __FUNCTION__ was erroneously causing us to issue a `cannot inline'// diagnostic, even though we'd (a) inlined it, (b) been forced to issue an// out of line body by taking it's address, (c) not used __FUNCTION__.inline void wibble (){}inline void wobble (){} // { dg-bogus "" } cannot inlinevoid bar (void (*)());void bar1 (){ wibble (); // can be inlined void (*ptr) () = wobble; // force out of line issue bar (ptr); // make sure we make use of it}struct B{ void mwibble () {}; void mwobble () {}; // { dg-bogus "" } cannot inline static void swibble () {}; static void swobble () {}; // { dg-bogus "" } cannot inline};void bar (void (B::*)());void bar2 (){ B::swibble (); // can be inlined void (*ptr) () = &B::swobble; // force out of line issue bar (ptr); // make sure we make use of it}void bar3 (B *b){ b->mwibble (); // can be inlined void (B::*ptr) () = &B::mwobble; // force out of line issue bar (ptr); // make sure we make use of it}struct C{ virtual void vwobble () {}; // { dg-bogus "" } cannot inline};void bar4 (){ C c; // force issue of C's vtable etc}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?