brintos

brintos / llvm-project-archived public Read only

0
0
Text · 914 B · 8d9453c Raw
50 lines · cpp
1// Compile for x86 (FPO disabled)2// Compile with "cl /c /Zi /GR- PrettyFuncDumperTest.cpp"3// Link with "link PrettyFuncDumperTest.obj /debug /nodefaultlib /entry:main"4 5typedef void (*FuncPtrA)();6FuncPtrA FuncVarA;7 8typedef float (*FuncPtrB)(void);9FuncPtrB FuncVarB;10 11typedef int(*VariadicFuncPtrTypedef)(char, double, ...);12VariadicFuncPtrTypedef VariadicFuncVar;13 14void Func(int array[]) { return; }15 16template <int N=1, class ...T>17void TemplateFunc(T ...Arg) {18  return;19}20 21namespace {22  void Func(int& a, const double b, volatile bool c) { return; }23}24 25namespace NS {26  void Func(char a, int b, ...) {27    return;28  }29}30 31namespace MemberFuncsTest {32  class A {33  public:34    int FuncA() { return 1; }35    void FuncB(int a, ...) {}36  };37}38 39int main() {40  MemberFuncsTest::A v1;41  v1.FuncA();42  v1.FuncB(9, 10, 20);43 44  NS::Func('c', 2, 10, 100);45 46  TemplateFunc(10);47  TemplateFunc(10, 11, 88);48  return 0;49}50