1*09240ef7SAleksandr Urakov // RUN: %clang_cc1 -w -fdump-record-layouts-simple -foverride-record-layout=%S/Inputs/override-layout-nameless-struct-union.layout %s | FileCheck %s 2*09240ef7SAleksandr Urakov 3*09240ef7SAleksandr Urakov // CHECK: Type: struct S 4*09240ef7SAleksandr Urakov // CHECK: Size:64 5*09240ef7SAleksandr Urakov // CHECK: Alignment:32 6*09240ef7SAleksandr Urakov // CHECK: FieldOffsets: [0, 32, 32] 7*09240ef7SAleksandr Urakov struct S { 8*09240ef7SAleksandr Urakov short _s; 9*09240ef7SAleksandr Urakov //union { 10*09240ef7SAleksandr Urakov int _su0; 11*09240ef7SAleksandr Urakov char _su1; 12*09240ef7SAleksandr Urakov //}; 13*09240ef7SAleksandr Urakov }; 14*09240ef7SAleksandr Urakov 15*09240ef7SAleksandr Urakov // CHECK: Type: union U 16*09240ef7SAleksandr Urakov // CHECK: Size:96 17*09240ef7SAleksandr Urakov // CHECK: Alignment:32 18*09240ef7SAleksandr Urakov // CHECK: FieldOffsets: [0, 0, 32, 64, 68, 73] 19*09240ef7SAleksandr Urakov union U { 20*09240ef7SAleksandr Urakov short _u; 21*09240ef7SAleksandr Urakov //struct { 22*09240ef7SAleksandr Urakov char _us0; 23*09240ef7SAleksandr Urakov int _us1; 24*09240ef7SAleksandr Urakov unsigned _us20 : 4; 25*09240ef7SAleksandr Urakov unsigned _us21 : 5; 26*09240ef7SAleksandr Urakov unsigned _us22 : 6; 27*09240ef7SAleksandr Urakov //}; 28*09240ef7SAleksandr Urakov }; 29*09240ef7SAleksandr Urakov use_structs()30*09240ef7SAleksandr Urakovvoid use_structs() { 31*09240ef7SAleksandr Urakov S ss[sizeof(S)]; 32*09240ef7SAleksandr Urakov U us[sizeof(U)]; 33*09240ef7SAleksandr Urakov } 34