merge from gcc

This commit is contained in:
DJ Delorie 2010-05-06 21:40:04 +00:00
parent 7f502d6c5a
commit cf383746fa
4 changed files with 19 additions and 1 deletions

View file

@ -1,3 +1,10 @@
2010-05-06 Magnus Fromreide <magfr@lysator.liu.se>
Jason Merrill <jason@redhat.com>
* cp-demangle.c (cplus_demangle_builtin_types): Add nullptr.
(cplus_demangle_type): Handle nullptr.
* testsuite/demangle-expected: Test it.
2010-04-23 Pedro Alves <pedro@codesourcery.com>
* lbasename.c (lbasename): Split into ...

View file

@ -1987,6 +1987,8 @@ cplus_demangle_builtin_types[D_BUILTIN_TYPE_COUNT] =
/* 29 */ { NL ("half"), NL ("half"), D_PRINT_FLOAT },
/* 30 */ { NL ("char16_t"), NL ("char16_t"), D_PRINT_DEFAULT },
/* 31 */ { NL ("char32_t"), NL ("char32_t"), D_PRINT_DEFAULT },
/* 32 */ { NL ("decltype(nullptr)"), NL ("decltype(nullptr)"),
D_PRINT_DEFAULT },
};
CP_STATIC_IF_GLIBCPP_V3
@ -2221,6 +2223,12 @@ cplus_demangle_type (struct d_info *di)
ret = d_vector_type (di);
break;
case 'n':
/* decltype(nullptr) */
ret = d_make_builtin_type (di, &cplus_demangle_builtin_types[32]);
di->expansion += ret->u.s_builtin.type->len;
break;
default:
return NULL;
}

View file

@ -147,7 +147,7 @@ struct d_info
extern const struct demangle_operator_info cplus_demangle_operators[];
#endif
#define D_BUILTIN_TYPE_COUNT (32)
#define D_BUILTIN_TYPE_COUNT (33)
CP_STATIC_IF_GLIBCPP_V3
const struct demangle_builtin_type_info

View file

@ -3938,6 +3938,9 @@ decltype ((operator+)({parm#1}, {parm#1})) f<A>(A)
--format=gnu-v3
_Z1hI1AEDTcldtfp_miEET_
decltype (({parm#1}.(operator-))()) h<A>(A)
--format=gnu-v3
_Z1fDn
f(decltype(nullptr))
#
# Ada (GNAT) tests.
#