diff options
author | Cary Coutant <ccoutant@google.com> | 2013-11-22 22:25:49 +0000 |
---|---|---|
committer | Cary Coutant <ccoutant@gcc.gnu.org> | 2013-11-22 14:25:49 -0800 |
commit | 85d09f6173f7b6af0e156222a0534be468e3d7ca (patch) | |
tree | cf760059b7f5810b1dae01b0b0f0aa1360c3155d /libiberty/ChangeLog | |
parent | 9065ada9b5fa30d47ec723fbfbbeaad1082035cb (diff) | |
download | gcc-85d09f6173f7b6af0e156222a0534be468e3d7ca.zip gcc-85d09f6173f7b6af0e156222a0534be468e3d7ca.tar.gz gcc-85d09f6173f7b6af0e156222a0534be468e3d7ca.tar.bz2 |
Fix demangler to handle conversion operators correctly.
libiberty/
PR other/59195
* cp-demangle.c (struct d_info_checkpoint): New struct.
(struct d_print_info): Add current_template field.
(d_operator_name): Set flag when processing a conversion
operator.
(cplus_demangle_type): When processing <template-args> for
a conversion operator, backtrack if necessary.
(d_expression_1): Renamed from d_expression.
(d_expression): New wrapper around d_expression_1.
(d_checkpoint): New function.
(d_backtrack): New function.
(d_print_init): Initialize current_template.
(d_print_comp): Set current_template.
(d_print_cast): Put current_template in scope for
printing conversion operator name.
(cplus_demangle_init_info): Initialize is_expression and
is_conversion.
* cp-demangle.h (struct d_info): Add is_expression and
is_conversion fields.
* testsuite/demangle-expected: New test cases.
From-SVN: r205292
Diffstat (limited to 'libiberty/ChangeLog')
-rw-r--r-- | libiberty/ChangeLog | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 5a0aba8..825ddd2 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,26 @@ +2013-11-22 Cary Coutant <ccoutant@google.com> + + PR other/59195 + * cp-demangle.c (struct d_info_checkpoint): New struct. + (struct d_print_info): Add current_template field. + (d_operator_name): Set flag when processing a conversion + operator. + (cplus_demangle_type): When processing <template-args> for + a conversion operator, backtrack if necessary. + (d_expression_1): Renamed from d_expression. + (d_expression): New wrapper around d_expression_1. + (d_checkpoint): New function. + (d_backtrack): New function. + (d_print_init): Initialize current_template. + (d_print_comp): Set current_template. + (d_print_cast): Put current_template in scope for + printing conversion operator name. + (cplus_demangle_init_info): Initialize is_expression and + is_conversion. + * cp-demangle.h (struct d_info): Add is_expression and + is_conversion fields. + * testsuite/demangle-expected: New test cases. + 2013-11-15 Andreas Schwab <schwab@linux-m68k.org> * configure: Regenerate. |