1*665027dbSEvgeny Astigeevich // RUN: %clang_cc1 %s -emit-llvm -triple %itanium_abi_triple -o - | FileCheck %s 2*665027dbSEvgeny Astigeevich 3*665027dbSEvgeny Astigeevich // CHECK-DAG: @_ZZ2f0vE1a 4*665027dbSEvgeny Astigeevich // CHECK-DAG: @_ZZ2f0vE1c 5*665027dbSEvgeny Astigeevich // CHECK-DAG: @_ZZ2f0vE1e_0 f0()6*665027dbSEvgeny Astigeevichinline int f0() { 7*665027dbSEvgeny Astigeevich static union { 8*665027dbSEvgeny Astigeevich int a; 9*665027dbSEvgeny Astigeevich long int b; 10*665027dbSEvgeny Astigeevich }; 11*665027dbSEvgeny Astigeevich 12*665027dbSEvgeny Astigeevich static union { 13*665027dbSEvgeny Astigeevich int c; 14*665027dbSEvgeny Astigeevich double d; 15*665027dbSEvgeny Astigeevich }; 16*665027dbSEvgeny Astigeevich 17*665027dbSEvgeny Astigeevich if (0) { 18*665027dbSEvgeny Astigeevich static union { 19*665027dbSEvgeny Astigeevich int e; 20*665027dbSEvgeny Astigeevich int f; 21*665027dbSEvgeny Astigeevich }; 22*665027dbSEvgeny Astigeevich } 23*665027dbSEvgeny Astigeevich static union { 24*665027dbSEvgeny Astigeevich int e; 25*665027dbSEvgeny Astigeevich int f; 26*665027dbSEvgeny Astigeevich }; 27*665027dbSEvgeny Astigeevich 28*665027dbSEvgeny Astigeevich return a+c; 29*665027dbSEvgeny Astigeevich } 30*665027dbSEvgeny Astigeevich nop()31*665027dbSEvgeny Astigeevichinline void nop() { 32*665027dbSEvgeny Astigeevich static union { 33*665027dbSEvgeny Astigeevich union { 34*665027dbSEvgeny Astigeevich }; 35*665027dbSEvgeny Astigeevich }; 36*665027dbSEvgeny Astigeevich } 37*665027dbSEvgeny Astigeevich f1(int a,int c)38*665027dbSEvgeny Astigeevichint f1 (int a, int c) { 39*665027dbSEvgeny Astigeevich nop(); 40*665027dbSEvgeny Astigeevich return a+c+f0(); 41*665027dbSEvgeny Astigeevich } 42*665027dbSEvgeny Astigeevich 43