From: Bruno Larsen Date: Thu, 29 Sep 2022 12:51:34 +0000 (+0200) Subject: gdb/testsuite: disable some tests of gdb.cp/typeid.exp when using Clang X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ebe9ddbce72cb50e8d18663feafd48a7b172fab9;p=binutils-gdb.git gdb/testsuite: disable some tests of gdb.cp/typeid.exp when using Clang Since Clang chooses to not add any debug information for base types, expecting it to be included with libraries' informations, gdb.cp/typeid.exp will always fail if the program hasn't started. This commit fixes that by making it so when using Clang, the base type variables aren't tested. Approved-by: Tom Tromey --- diff --git a/gdb/testsuite/gdb.cp/typeid.exp b/gdb/testsuite/gdb.cp/typeid.exp index 6411217191a..fd8e96276c5 100644 --- a/gdb/testsuite/gdb.cp/typeid.exp +++ b/gdb/testsuite/gdb.cp/typeid.exp @@ -29,8 +29,16 @@ proc do_typeid_tests {started} { # We might see the standard type or gdb's internal type. set type_re "(std::type_info|gdb_gnu_v3_type_info)" + set var {ca b} + if {$started || ![test_compiler_info clang-*-* c++]} { + # Clang doesn't place type information for the base types in + # the executable, and relies on this being linked in from the + # standard library. As a result, type information for these + # variables is only available once the inferior is started. + lappend var i cp ccp + } - foreach simple_var {i cp ccp ca b} { + foreach simple_var $var { gdb_test "print &typeid($simple_var)" \ " = \\($type_re \\*\\) $hex.*"