1*67e74705SXin Li // RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm -o - %s | FileCheck %s 2*67e74705SXin Li 3*67e74705SXin Li struct X { }; 4*67e74705SXin Li 5*67e74705SXin Li // CHECK: @x1 = global %struct.X zeroinitializer 6*67e74705SXin Li // CHECK: @x4 = global %struct.X zeroinitializer 7*67e74705SXin Li // CHECK: @x2 = external global %struct.X 8*67e74705SXin Li // CHECK: @x3 = external global %struct.X 9*67e74705SXin Li extern "C" { 10*67e74705SXin Li X x1; 11*67e74705SXin Li } 12*67e74705SXin Li 13*67e74705SXin Li extern "C" X x2; 14*67e74705SXin Li 15*67e74705SXin Li extern X x3; 16*67e74705SXin Li 17*67e74705SXin Li X x4; 18*67e74705SXin Li get(int i)19*67e74705SXin LiX& get(int i) { 20*67e74705SXin Li if (i == 1) 21*67e74705SXin Li return x1; 22*67e74705SXin Li else if (i == 2) 23*67e74705SXin Li return x2; 24*67e74705SXin Li else if (i == 3) 25*67e74705SXin Li return x3; 26*67e74705SXin Li else 27*67e74705SXin Li return x4; 28*67e74705SXin Li } 29