merge from gcc

This commit is contained in:
DJ Delorie
2011-08-06 18:40:27 +00:00
parent 2f7fb8e4c8
commit 6b6bd65aa5
4 changed files with 45 additions and 18 deletions

View File

@@ -1280,6 +1280,7 @@ d_nested_name (struct d_info *di)
/* <prefix> ::= <prefix> <unqualified-name>
::= <template-prefix> <template-args>
::= <template-param>
::= <decltype>
::=
::= <substitution>
@@ -1308,10 +1309,19 @@ d_prefix (struct d_info *di)
<template-param> here. */
comb_type = DEMANGLE_COMPONENT_QUAL_NAME;
if (IS_DIGIT (peek)
if (peek == 'D')
{
char peek2 = d_peek_next_char (di);
if (peek2 == 'T' || peek2 == 't')
/* Decltype. */
dc = cplus_demangle_type (di);
else
/* Destructor name. */
dc = d_unqualified_name (di);
}
else if (IS_DIGIT (peek)
|| IS_LOWER (peek)
|| peek == 'C'
|| peek == 'D'
|| peek == 'U'
|| peek == 'L')
dc = d_unqualified_name (di);