- Bitstruct as substruct fails to properly work with designated initializers. #2827

This commit is contained in:
Christoffer Lerno
2026-01-25 12:48:36 +01:00
parent cf9784afee
commit c65c378b7f
4 changed files with 20 additions and 11 deletions

View File

@@ -0,0 +1,18 @@
// #target: macos-x64
module test;
struct Foo4
{
bitstruct : short
{
short expand : 1..7;
bool b : 8;
}
}
fn void main()
{
Foo4 f4 = { .expand = 2, .b };
}
/* #expect: test.ll
@.__const = private unnamed_addr constant %Foo4 { i16 260 }, align 2

View File

@@ -91,12 +91,10 @@ fn void test4()
Flags1 flags1 = {.a, .b, .c};
flags1 = {.a};
flags1 = {.a = true, .b = true, .c = false};
flags1 = {.a, .b = true, .c = true}; // #error: Mixing the omission
Foo foo = { .x = 0, .z }; // #error: needs a value
Flags2 flags2 = {.b, .d};
flags2 = {.b, .c, .d}; // #error: needs a value
flags2 = {.a, .c = 1, .d}; // #error: Mixing the omission
Flags2_Struct flags2s;
flags2s = {.b, .c, .d}; // #error: needs a value