brintos

brintos / llvm-project-archived public Read only

0
0
Text · 940 B · 111a3ec Raw
46 lines · cpp
1// RUN: %clang_cc1 %s -triple i386-unknown-unknown -emit-llvm -o - | FileCheck %s2 3// CHECK: @var1 = external global i324// CHECK: @_ZN1N4var2E = external global i325// CHECK: @var5 = external global i326// CHECK: @_ZN1N4var3E = external global i327// CHECK: @_ZN1N4var4E = external global i328 9// CHECK: declare noundef i32 @_Z5func1v()10// CHECK: declare noundef i32 @_ZN1N5func2Ev()11// CHECK: declare i32 @func4()12// CHECK: declare noundef i32 @_ZN1N5func3Ev()13 14int f1() {15  extern int var1, func1();16  return var1 + func1();17}18 19namespace N {20 21int f2() {22  extern int var2, func2();23  return var2 + func2();24}25 26struct S {27  static int f3() {28    extern int var3, func3();29    struct LC { int localfunc() { extern int var4; return var4; } };30    LC localobj;31    return var3 + func3() + localobj.localfunc();32  }33};34 35int anchorf3() { return S::f3(); } 36 37extern "C" {38int f4() {39  extern int var5, func4();40  return var5 + func4();41}42}43 44}45 46