@Test
	public void testStructDeclThatIsLaterDefined()
			throws CancelledException, IOException, DWARFException {

		// CU1
		// struct structA; // fwd decl
		// struct structB { structA struct1field; int guardfield; }
		DebugInfoEntry intDIE = addInt();
		DebugInfoEntry structADecl = newDeclStruct("structA").create();
		DebugInfoEntry structB = newStruct("structB", 20).create();
		newMember(structB, "structAfield", structADecl, 0).create();
		newMember(structB, "guardfield", intDIE, 16).create();

		addCompUnit();

		// CU2
		// struct structB { structA struct1field; int guardfield; }
		// struct structA { int f1, f2, f3, f4; }
		// Redefine structB with the same info, but to a fully
		// specified structA instance instead of missing fwd decl.
		// The order of the DIE records is important.  The structure (structB) 
		// containing the problematic structA needs to be hit first so we can
		// test that cached types are handled correctly.
		DebugInfoEntry int2DIE = addInt();
		DebugInfoEntry structB_cu2 = newStruct("structB", 20).create();
		long structA_cu2_offset = dwarfProg.getRelativeDIEOffset(2);
		newMember(structB_cu2, "structAfield", structA_cu2_offset, 0).create();
		newMember(structB_cu2, "guardfield", int2DIE, 16).create();

		DebugInfoEntry structA_cu2 = newStruct("structA", 16).create();
		newMember(structA_cu2, "f1", int2DIE, 0).create();
		newMember(structA_cu2, "f2", int2DIE, 4).create();
		newMember(structA_cu2, "f3", int2DIE, 8).create();
		newMember(structA_cu2, "f4", int2DIE, 12).create();

		importAllDataTypes();

		Structure structAdt = (Structure) dataMgr.getDataType(uncatCP, "structA");
		Structure structBdt = (Structure) dataMgr.getDataType(uncatCP, "structB");
		assertEquals(2, structBdt.getNumComponents());
		assertEquals(4, structAdt.getNumComponents());
	}
Test structure definition when a struct is fwd decl'd in one CU and fully
defined in a second CU.

@throws CancelledException
@throws IOException
@throws DWARFException
Ghidra/Features/Base/src/test.slow/java/ghidra/app/util/bin/format/dwarf/DWARFDataTypeImporterTest.java