diff --git a/Ghidra/Features/Base/src/test/java/ghidra/program/model/data/MSVCStructureImplBitFieldTest.java b/Ghidra/Features/Base/src/test/java/ghidra/program/model/data/MSVCStructureImplBitFieldTest.java index 40e5ea56e1..538fa67667 100644 --- a/Ghidra/Features/Base/src/test/java/ghidra/program/model/data/MSVCStructureImplBitFieldTest.java +++ b/Ghidra/Features/Base/src/test/java/ghidra/program/model/data/MSVCStructureImplBitFieldTest.java @@ -49,6 +49,23 @@ public class MSVCStructureImplBitFieldTest extends AbstractCompositeImplBitField //@formatter:on } + @Test + public void testStructureBitFieldsB1Flex() { + Structure struct = getStructure("B1flex"); + //@formatter:off + CompositeTestUtils.assertExpectedComposite(this, "/B1flex\n" + + "Aligned\n" + + "Structure B1flex {\n" + + " 0 char 1 a \"\"\n" + + " 2 ushort:6(0) 1 b \"\"\n" + + " 4 int:8(0) 1 c \"\"\n" + + " 8 short:4(0) 1 d \"\"\n" + + " long[0] 0 flex \"\"\n" + + "}\n" + + "Size = 12 Actual Alignment = 4", struct); + //@formatter:on + } + @Test public void testStructureBitFieldsB2() { Structure struct = getStructure("B2"); diff --git a/Ghidra/Features/Base/src/test/java/ghidra/program/model/data/StructureImplBigEndianBitFieldTest.java b/Ghidra/Features/Base/src/test/java/ghidra/program/model/data/StructureImplBigEndianBitFieldTest.java index ab495b8fc6..5d68204ff4 100644 --- a/Ghidra/Features/Base/src/test/java/ghidra/program/model/data/StructureImplBigEndianBitFieldTest.java +++ b/Ghidra/Features/Base/src/test/java/ghidra/program/model/data/StructureImplBigEndianBitFieldTest.java @@ -51,6 +51,23 @@ public class StructureImplBigEndianBitFieldTest extends AbstractCompositeImplBit //@formatter:on } + @Test + public void testStructureBitFieldsB1Flex() { + Structure struct = getStructure("B1flex"); + //@formatter:off + CompositeTestUtils.assertExpectedComposite(this, "/B1flex\n" + + "Aligned\n" + + "Structure B1flex {\n" + + " 0 char 1 a \"\"\n" + + " 1 ushort:6(2) 1 b \"\"\n" + + " 1 int:8(2) 2 c \"\"\n" + + " 2 short:4(6) 2 d \"\"\n" + + " long[0] 0 flex \"\"\n" + + "}\n" + + "Size = 4 Actual Alignment = 4", struct); + //@formatter:on + } + @Test public void testStructureBitFieldsB2() { Structure struct = getStructure("B2"); diff --git a/Ghidra/Features/Base/src/test/java/ghidra/program/model/data/StructureImplLittleEndianBitFieldTest.java b/Ghidra/Features/Base/src/test/java/ghidra/program/model/data/StructureImplLittleEndianBitFieldTest.java index c01550eae3..1ca78f997a 100644 --- a/Ghidra/Features/Base/src/test/java/ghidra/program/model/data/StructureImplLittleEndianBitFieldTest.java +++ b/Ghidra/Features/Base/src/test/java/ghidra/program/model/data/StructureImplLittleEndianBitFieldTest.java @@ -89,6 +89,23 @@ public class StructureImplLittleEndianBitFieldTest extends AbstractCompositeImpl //@formatter:on } + @Test + public void testStructureBitFieldsB1Flex() { + Structure struct = getStructure("B1flex"); + //@formatter:off + CompositeTestUtils.assertExpectedComposite(this, "/B1flex\n" + + "Aligned\n" + + "Structure B1flex {\n" + + " 0 char 1 a \"\"\n" + + " 1 ushort:6(0) 1 b \"\"\n" + + " 1 int:8(6) 2 c \"\"\n" + + " 2 short:4(6) 2 d \"\"\n" + + " long[0] 0 flex \"\"\n" + + "}\n" + + "Size = 8 Actual Alignment = 8", struct); + //@formatter:on + } + @Test public void testStructureBitFieldsB2() { Structure struct = getStructure("B2");