@Test
	public void testComplexStructureWithFlexArray2() throws Exception {

		UnionDataType struct = new UnionDataType(CategoryPath.ROOT, "union", dataMgr);

		//@formatter:off
		List<MyPdbMember> members =
			CollectionUtils.asList(
				new MyPdbMember("a", "int", 0),
				new MyPdbMember("b", "int", 4),
				new MyPdbMember("c", "int", 8),
				new MyPdbMember("d", "char[0]", 12),
				new MyPdbMember("f", "char[0]", 0));
		//@formatter:on

		assertTrue(DefaultCompositeMember.applyDataTypeMembers(struct, false, false, 12, members,
			this, TaskMonitor.DUMMY));

		//@formatter:off
		CompositeTestUtils.assertExpectedComposite(this,
			"/union\n" +
			"pack()\n" +
			"Union union {\n" +
			"   0   union_s_0   12   _s_0   \"\"\n" +
			"   0   union_s_1   0   _s_1   \"\"\n" +
			"}\n" +
			"Length: 12 Alignment: 4\n" +
			"/union/union_s_0\n" +
			"pack()\n" +
			"Structure union_s_0 {\n" +
			"   0   int   4   a   \"\"\n" +
			"   4   int   4   b   \"\"\n" +
			"   8   int   4   c   \"\"\n" +
			"   12   char[0]   0   d   \"\"\n" +
			"}\n" +
			"Length: 12 Alignment: 4\n" +
			"/union/union_s_1\n" +
			"pack()\n" +
			"Structure union_s_1 {\n" +
			"   0   char[0]   0   f   \"\"\n" +
			"}\n" +
			"Length: 0 Alignment: 1\n", struct, true);
		//@formatter:on
	}
Structure Source ***
		
		 struct BitFieldUnionAlternatingPadded_s {
		   union {
		      struct {
		         char a0:1;
		         char :1;
		         char a2:1;
		         char :1;
		         char a4:1;
		         char :1;
		      };
		      struct {
		         char :1;
		         char a1:1;
		         char :1;
		         char a3:1;
		         char :1;
		         char a5:1;
		      };
		   };
		};
Ghidra/Features/PDB/src/test/java/ghidra/app/util/bin/format/pdb/CompositeMemberTest.java