[v2,5/9] gdb/testsuite: allow for Clang style destructors on gdb.cp/m-static.exp
Commit Message
when running gdb.cp/m-static.exp using Clang, we get the following
failures:
print test1.~gnu_obj_1^M
$6 = {void (gnu_obj_1 * const)} 0x555555555470 <gnu_obj_1::~gnu_obj_1()>^M
(gdb) FAIL: gdb.cp/m-static.exp: simple object instance, print destructor
ptype test1.~gnu_obj_1^M
type = void (gnu_obj_1 * const)^M
(gdb) FAIL: gdb.cp/m-static.exp: simple object instance, ptype destructor
print test1.'~gnu_obj_1'^M
$7 = {void (gnu_obj_1 * const)} 0x555555555470 <gnu_obj_1::~gnu_obj_1()>^M
(gdb) FAIL: gdb.cp/m-static.exp: simple object instance, print quoted destructor
This is because the test is expecting an extra integer parameter on the
destructor. Looking at the debuginfo, it seems that there is nothing
actually wrong with this output, so these tests were changed to test
multiple possible regexps.
---
gdb/testsuite/gdb.cp/m-static.exp | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
@@ -102,15 +102,16 @@ if { [is_aarch32_target] } {
{type = void \(single_constructor \* const\)} \
"simple object class, ptype constructor"
- gdb_test "print test1.~gnu_obj_1" \
- { = {void \(gnu_obj_1 \* const, int\)} 0x[0-9a-f]+ <gnu_obj_1::~gnu_obj_1\(\)>} \
+ gdb_test "print test1.~gnu_obj_1"\
+ { = {void \(gnu_obj_1 \* const(?:, int)?\)} 0x[0-9a-f]+ <gnu_obj_1::~gnu_obj_1\(\)>}\
"simple object instance, print destructor"
- gdb_test "ptype test1.~gnu_obj_1" \
- {type = void \(gnu_obj_1 \* const, int\)} \
+
+ gdb_test "ptype test1.~gnu_obj_1"\
+ {type = void \(gnu_obj_1 \* const(?:, int)?\)}\
"simple object instance, ptype destructor"
gdb_test "print test1.'~gnu_obj_1'" \
- { = {void \(gnu_obj_1 \*( const)?, int\)} 0x[0-9a-f]+ <gnu_obj_1::~gnu_obj_1\(\)>} \
+ { = {void \(gnu_obj_1 \*( const)?(?:, int)?\)} 0x[0-9a-f]+ <gnu_obj_1::~gnu_obj_1\(\)>} \
"simple object instance, print quoted destructor"
gdb_test "ptype gnu_obj_1::'~gnu_obj_1'" \