[gdb/testsuite] Update psym-external-decl.exp for gcc-10/clang
authorTom de Vries <tdevries@suse.de>
Sat, 2 May 2020 07:50:50 +0000 (09:50 +0200)
committerTom de Vries <tdevries@suse.de>
Sat, 2 May 2020 07:50:50 +0000 (09:50 +0200)
When running test-case gdb.base/psym-external-decl.exp with gcc-10, we have:
...
(gdb) print aaa^M
'aaa' has unknown type; cast it to its declared type^M
(gdb) FAIL: gdb.base/psym-external-decl.exp: print aaa
...

With an an earlier version, gcc still emits the debug info for the
declaration of aaa:
...
 <0><d2>: Abbrev Number: 1 (DW_TAG_compile_unit)
    <d8>   DW_AT_name        : psym-external-decl.c
 <1><f4>: Abbrev Number: 2 (DW_TAG_variable)
    <f5>   DW_AT_name        : aaa
    <ff>   DW_AT_external    : 1
    <ff>   DW_AT_declaration : 1
...
but with gcc-10 that's no longer the case.

Fix the test-case by adding a use of aaa in psym-external-decl.c.

That still doesn't work for clang, so skip test in that case.

Tested with x86_64-linux, with gcc 7.5.0, gcc 10.0.0 and clang 5.0.2.

Also tested by reverting corresponding fix and ensuring test-case still
fails.

gdb/testsuite/ChangeLog:

2020-05-02  Tom de Vries  <tdevries@suse.de>

* gdb.base/psym-external-decl.c (main): Add use of variable aaa.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/psym-external-decl.c
gdb/testsuite/gdb.base/psym-external-decl.exp

index 737caffa0ea1c463eee22240522f53c699ab34b2..e741fd6a7d8f9f9cbb9813784a2e7a1234441de8 100644 (file)
@@ -1,3 +1,7 @@
+2020-05-02  Tom de Vries  <tdevries@suse.de>
+
+       * gdb.base/psym-external-decl.c (main): Add use of variable aaa.
+
 2020-05-01  Tom de Vries  <tdevries@suse.de>
 
        * gdb.ada/operator_bp.exp: Allow more than required amount of
index 7a4b107774120f10cda17abb5e240f79bd764d68..e2374327bdefe9b210987643b76f595c892d32b3 100644 (file)
@@ -20,6 +20,6 @@ extern int aaa;
 int
 main (void)
 {
-  return 0;
+  return aaa;
 }
 
index bbcc27457557bc234de014d397787d3304b9553c..d0388d5655e99787aa35e6863c6aa9c287593ecd 100644 (file)
 
 standard_testfile .c psym-external-decl-2.c
 
+get_compiler_info
+if { [test_compiler_info "clang-*"] } {
+    return -1
+}
+
 set srcfiles [list $srcfile $srcfile2]
 
 if { [build_executable_from_specs \