1*67e74705SXin Li // RUN: %clang_cc1 %s -emit-llvm -o - 2*67e74705SXin Li 3*67e74705SXin Li struct tree_common {}; 4*67e74705SXin Li 5*67e74705SXin Li struct tree_int_cst { 6*67e74705SXin Li struct tree_common common; 7*67e74705SXin Li struct tree_int_cst_lowhi { 8*67e74705SXin Li unsigned long long low; 9*67e74705SXin Li long long high; 10*67e74705SXin Li } int_cst; 11*67e74705SXin Li }; 12*67e74705SXin Li 13*67e74705SXin Li enum XXX { yyy }; 14*67e74705SXin Li 15*67e74705SXin Li struct tree_function_decl { 16*67e74705SXin Li struct tree_common common; 17*67e74705SXin Li long long locus, y; 18*67e74705SXin Li __extension__ enum XXX built_in_class : 2; 19*67e74705SXin Li 20*67e74705SXin Li }; 21*67e74705SXin Li 22*67e74705SXin Li 23*67e74705SXin Li union tree_node { 24*67e74705SXin Li struct tree_int_cst int_cst; 25*67e74705SXin Li struct tree_function_decl function_decl; 26*67e74705SXin Li }; 27*67e74705SXin Li 28*67e74705SXin Li foo(union tree_node * decl)29*67e74705SXin Livoid foo (union tree_node * decl) { 30*67e74705SXin Li decl->function_decl.built_in_class != 0; 31*67e74705SXin Li } 32*67e74705SXin Li 33*67e74705SXin Li 34