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