thunk2.c
来自「linux下编程用 编译软件」· C语言 代码 · 共 50 行
C
50 行
// { dg-do run { target fpic } }// { dg-options "-fPIC" }// { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))|\[Bb\]ad fixup at .DATA.:" "PIC unsupported" { xfail *-*-netware* } 0 }// Test that non-variadic function calls using thunks and PIC work right.struct A { void* p; A (void* q): p (q) { } A (const A& a): p (a.p) { }};class CBase {public: virtual void BaseFunc();};class MMixin {public: virtual A MixinFunc(int arg, A arg2) = 0;};class CExample : public CBase, public MMixin {public: A MixinFunc(int arg, A arg2);};void CBase::BaseFunc(){}A CExample::MixinFunc(int arg, A arg2){ if (arg != 1 || arg2.p != 0) return 0; return this;}void* test(MMixin& anExample){ return anExample.MixinFunc(1,A(0)).p;}main (){ CExample c; if (test(c) != &c) return 1;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?