diff options
author | Ian Lance Taylor <ian@wasabisystems.com> | 2003-12-15 14:37:25 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2003-12-15 14:37:25 +0000 |
commit | 374caa503bcf9605a85f8b68c79ca2d918c96fb0 (patch) | |
tree | ceddf800710ca602c6497bf9eb391a6baf0c777f /libiberty/testsuite | |
parent | 58cd2515ae19e8aac09b3615b0a105e055bb4081 (diff) | |
download | gcc-374caa503bcf9605a85f8b68c79ca2d918c96fb0.zip gcc-374caa503bcf9605a85f8b68c79ca2d918c96fb0.tar.gz gcc-374caa503bcf9605a85f8b68c79ca2d918c96fb0.tar.bz2 |
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.
From-SVN: r74632
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 c47c6ae..b39e2f4 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 |