1 // RUN: %clang_cc1 %s -emit-llvm -triple x86_64-linux-gnu -o - | FileCheck %s --check-prefixes=CHECK,EMPTY 2 // RUN: %clang_cc1 %s -emit-llvm -triple x86_64-windows-msvc -o - | FileCheck %s --check-prefixes=CHECK,EMPTY-MSVC 3 // PR4390 4 struct sysfs_dirent { 5 union { struct sysfs_elem_dir { int x; } s_dir; }; 6 unsigned short s_mode; 7 }; 8 struct sysfs_dirent sysfs_root = { {}, 16877 }; 9 10 // CHECK: @sysfs_root = {{.*}}global { %union.anon, i16, [2 x i8] } { %union.anon zeroinitializer, i16 16877, [2 x i8] zeroinitializer } 11 12 struct Foo { 13 union { struct empty {} x; }; 14 unsigned short s_mode; 15 }; 16 struct Foo foo = { {}, 16877 }; 17 18 // EMPTY: @foo = {{.*}}global %struct.Foo { i16 16877 } 19 // EMPTY-MSVC: @foo = {{.*}}global %struct.Foo { [4 x i8] zeroinitializer, i16 16877 } 20