While mucking about with the new -debug-info-kind=constructor build type, I figured it would be worth adding some integration tests to ensure that complete types can still be found by debuggers in the built programs.
There are two tests here: one simply checks the "foo" type can be examined in a different translation unit. The second checks that when we have partial type information for "foo" because of inlined elements from it (under DWARF at least) in main.o, debuggers can still find the complete type definition. This test is also run with -O2 -flto.
Each test examines fields in "bar" when stepped onto the output line, that we can step into the asString() method, and that the fields are still examinable there.
This test format requires multiple translation units; the empty "test.cfg" file reminds Dexter that it should be treating this as a whole directory test, not a single file test.
clang-format: please reformat the code