1*0a6a1f1dSLionel Sambuc // RUN: %clang_cc1 -emit-llvm -gdwarf-4 -triple x86_64-linux-gnu %s -o - | FileCheck %s 2*0a6a1f1dSLionel Sambuc 3*0a6a1f1dSLionel Sambuc // Make sure that we emit a global variable for each of the members of the 4*0a6a1f1dSLionel Sambuc // anonymous union. 5*0a6a1f1dSLionel Sambuc 6*0a6a1f1dSLionel Sambuc static union { 7*0a6a1f1dSLionel Sambuc int c; 8*0a6a1f1dSLionel Sambuc int d; 9*0a6a1f1dSLionel Sambuc union { 10*0a6a1f1dSLionel Sambuc int a; 11*0a6a1f1dSLionel Sambuc }; 12*0a6a1f1dSLionel Sambuc struct { 13*0a6a1f1dSLionel Sambuc int b; 14*0a6a1f1dSLionel Sambuc }; 15*0a6a1f1dSLionel Sambuc }; 16*0a6a1f1dSLionel Sambuc test_it()17*0a6a1f1dSLionel Sambucint test_it() { 18*0a6a1f1dSLionel Sambuc c = 1; 19*0a6a1f1dSLionel Sambuc d = 2; 20*0a6a1f1dSLionel Sambuc a = 4; 21*0a6a1f1dSLionel Sambuc return (c == 1); 22*0a6a1f1dSLionel Sambuc } 23*0a6a1f1dSLionel Sambuc 24*0a6a1f1dSLionel Sambuc // CHECK: [[FILE:.*]] = {{.*}}[ DW_TAG_file_type ] [{{.*}}debug-info-anon-union-vars.cpp] 25*0a6a1f1dSLionel Sambuc // CHECK: [[FILE]]{{.*}}[ DW_TAG_variable ] [c] [line 6] [local] [def] 26*0a6a1f1dSLionel Sambuc // CHECK: [[FILE]]{{.*}}[ DW_TAG_variable ] [d] [line 6] [local] [def] 27*0a6a1f1dSLionel Sambuc // CHECK: [[FILE]]{{.*}}[ DW_TAG_variable ] [a] [line 6] [local] [def] 28*0a6a1f1dSLionel Sambuc // CHECK: [[FILE]]{{.*}}[ DW_TAG_variable ] [b] [line 6] [local] [def] 29