blob: 695f8f59defc93893d58e74e7e0969a3da15e4fe [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s
John McCall9aeed322009-10-01 00:25:31 +00002
Anders Carlssond0c47922010-01-26 06:15:16 +00003
4int f();
5
John McCall9aeed322009-10-01 00:25:31 +00006namespace {
Anders Carlssond0c47922010-01-26 06:15:16 +00007 // CHECK: @_ZN12_GLOBAL__N_11bE = internal global i32 0
8 // CHECK: @_ZN12_GLOBAL__N_1L1cE = internal global i32 0
9 // CHECK: @_ZN12_GLOBAL__N_11D1dE = internal global i32 0
John McCall9aeed322009-10-01 00:25:31 +000010 // CHECK: @_ZN12_GLOBAL__N_11aE = internal global i32 0
11 int a = 0;
12
Anders Carlssond0c47922010-01-26 06:15:16 +000013 int b = f();
14
15 static int c = f();
16
17 class D {
18 static int d;
19 };
20
21 int D::d = f();
22
John McCall9aeed322009-10-01 00:25:31 +000023 // CHECK: define internal i32 @_ZN12_GLOBAL__N_13fooEv()
24 int foo() {
25 return 32;
26 }
27
28 // CHECK: define internal i32 @_ZN12_GLOBAL__N_11A3fooEv()
29 namespace A {
30 int foo() {
31 return 45;
32 }
33 }
34}
35
36int concrete() {
37 return a + foo() + A::foo();
38}