PR26597, FAIL: gdb.dlang/demangle.exp: _D8demangle4testFI5identZv
authorAlan Modra <amodra@gmail.com>
Thu, 10 Sep 2020 14:16:11 +0000 (23:46 +0930)
committerAlan Modra <amodra@gmail.com>
Thu, 10 Sep 2020 14:27:56 +0000 (23:57 +0930)
gcc commit 387d0773f3 changed the D demangler, with the following
commit log:

    libiberty: Add support for `in' and `in ref' storage classes.

    The storage class `in' is now a first-class citizen with its own mangle
    symbol, of which also permits `in ref'.  Previously, `in' was an alias
    to `const [scope]', which is a type constructor.

    The mangle symbol repurposed for this is `I', which was originally used
    by identifier types.  However, while TypeIdentifier is part of the
    grammar, it must be resolved to some other entity during the semantic
    passes, and so shouldn't appear anywhere in the mangled name.

    Old tests that are now no longer valid have been removed.

This patch makes the same changes to the gdb testsuite as were made to
the upstream gcc libiberty testsuite.

gdb/testsuite/
PR 26597
* gdb.dlang/demangle.exp: Update tests as per gcc commit 387d0773f3.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.dlang/demangle.exp

index 33987e469a63daa0a1616db998d34851593bd35c..5e4f28ff1a4682a5f6d955d5b628fe11df0276f5 100644 (file)
@@ -1,3 +1,8 @@
+2020-09-10  Alan Modra  <amodra@gmail.com>
+
+       PR 26597
+       * gdb.dlang/demangle.exp: Update tests as per gcc commit 387d0773f3.
+
 2020-09-08  Tom de Vries  <tdevries@suse.de>
 
        * gdb.dwarf2/frame-inlined-in-outer-frame.exp: Consume gdb prompt
index 86259ca0b02398dfe2d2399a58c6359bc0d2a215..41cc43a45537957734e181b219f5291411156878 100644 (file)
@@ -93,8 +93,6 @@ proc test_d_demangling {} {
     test_demangling "_D8demangle4testFNhG2dZv" "demangle.test(__vector(double\[2\]))"
     test_demangling "_D8demangle4testFNhG4dZv" "demangle.test(__vector(double\[4\]))"
 
-    test_demangling "_D8demangle4testFI5identZv" "demangle.test(ident)"
-    test_demangling "_D8demangle4testFI5ident4testZv" "demangle.test(ident.test)"
     test_demangling "_D8demangle4testFC5classZv" "demangle.test(class)"
     test_demangling "_D8demangle4testFC5class4testZv" "demangle.test(class.test)"
     test_demangling "_D8demangle4testFS6structZv" "demangle.test(struct)"
@@ -104,6 +102,8 @@ proc test_d_demangling {} {
     test_demangling "_D8demangle4testFT7typedefZv" "demangle.test(typedef)"
     test_demangling "_D8demangle4testFT7typedef4testZv" "demangle.test(typedef.test)"
 
+    test_demangling "_D8demangle4testFIaZv" "demangle.test(in char)"
+    test_demangling "_D8demangle4testFIKaZv" "demangle.test(in ref char)"
     test_demangling "_D8demangle4testFJaZv" "demangle.test(out char)"
     test_demangling "_D8demangle4testFKaZv" "demangle.test(ref char)"
     test_demangling "_D8demangle4testFLaZv" "demangle.test(lazy char)"