[gdb/testsuite] Initialize anonymous union in gdb.cp/koenig.cc

GDB test fails while running the test case gdb.cp/koenig.exp using
clang compiler:
[...]
p foo (p_union)
No symbol "p_union" in current context.
(gdb) FAIL: gdb.cp/koenig.exp: p foo (p_union)
[...]

In the testcase, "p_union" is an unused/uninitialized variable of
anonymous union type. Clang does not emit symbol for unused anonymous
union/struct variables at any optimization level. Since the compiler
itself is not emitting the symbol for "p_union", debug info is also
not emitted when built with debug option. If the anonymous union is
initialized (or used), then clang emits the symbol "p_union" which
enables emitting debug info for "p_union".
[...]
p foo (p_union)
Cannot resolve function foo to any overloaded instance
(gdb) PASS: gdb.cp/koenig.exp: p foo (p_union)
[...]
This commit is contained in:
Kavitha Natarajan 2021-10-28 10:51:32 +05:30
parent 0a0ff9d931
commit fed5a5acc5

View File

@ -305,6 +305,8 @@ main ()
TTOA ttoa;
foo (ttoa, 'a');
p_union = {0};
P::Q q;
q == 5;
q == 5.0f;