diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-12-15 14:37:25 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-12-15 14:37:25 +0000 |
commit | b69d25f73c2f782a4e946db4a0708e705bf15e68 (patch) | |
tree | ceddf800710ca602c6497bf9eb391a6baf0c777f /libiberty/testsuite | |
parent | ed3a212b1b236402a0eb1885696723fe18408b77 (diff) | |
download | gcc-b69d25f73c2f782a4e946db4a0708e705bf15e68.tar.gz |
Fix handling of constructor/destructor of standard substitution:
* cp-demangle.c (struct d_standard_sub_info): Define.
(d_substitution): Add prefix argument. Change all callers.
Rework handling of standard substitutions to print full name when
qualifying a constructor/destructor, or when DMGL_VERBOSE is set.
* testsuite/demangle-expected: Add test case.
Fix handling of negative literal constants:
* cp-demangle.c (enum d_comp_type): Add D_COMP_LITERAL_NEG.
(d_dump, d_make_comp): Handle D_COMP_LITERAL_NEG.
(d_expr_primary): Use D_COMP_LITERAL_NEG for a negative number.
(d_print_comp): Handle D_COMP_LITERAL_NEG.
* testsuite/demangle-expected: Add test case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74632 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libiberty/testsuite')
-rw-r--r-- | libiberty/testsuite/demangle-expected | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/libiberty/testsuite/demangle-expected b/libiberty/testsuite/demangle-expected index c47c6aea5fa..b39e2f4386b 100644 --- a/libiberty/testsuite/demangle-expected +++ b/libiberty/testsuite/demangle-expected @@ -2905,7 +2905,17 @@ bool std::operator< <file_path, std::string>(std::pair<file_path, std::string> c --format=gnu-v3 _Z9hairyfuncM1YKFPVPFrPA2_PM1XKFKPA3_ilEPcEiE hairyfunc(int (* const (X::** (* restrict (* volatile*(Y::*)(int) const)(char*)) [2])(long) const) [3]) -# +# +# Check that negative numbers are handled correctly. +--format=gnu-v3 +_Z1fILin1EEvv +void f<-1>() +# +# Check a destructor of a standard substitution. +--format=gnu-v3 +_ZNSdD0Ev +std::basic_iostream<char, std::char_traits<char> >::~basic_iostream() +# # This caused an infinite loop. # # This is generated by an EDG compiler (kcc 4.0). To demangle it |