From: Jason Merrill Date: Wed, 2 Sep 2009 15:48:52 +0000 (-0400) Subject: * semantics.c (describable_type): Don't pretend to be in a template. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=aef8bce8f861da1d9c2e2d10c6a9a30f3f630e95;p=gcc.git * semantics.c (describable_type): Don't pretend to be in a template. From-SVN: r151335 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index d4745c370c6..0a351b2068d 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,4 +1,6 @@ -2009-09-01 Jason Merrill +2009-09-02 Jason Merrill + + * semantics.c (describable_type): Don't pretend to be in a template. * ptree.c (cxx_print_type) [DECLTYPE_TYPE]: Print the expression. diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 1c16b72e8d5..1e5255e8ce2 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -4543,17 +4543,13 @@ describable_type (tree expr) { tree type = NULL_TREE; - /* processing_template_decl isn't set when we're called from the mangling - code, so bump it now. */ - ++processing_template_decl; if (! type_dependent_expression_p (expr) && ! type_unknown_p (expr)) { - type = TREE_TYPE (expr); + type = unlowered_expr_type (expr); if (real_lvalue_p (expr)) type = build_reference_type (type); } - --processing_template_decl; if (type) return type;