From: jason Date: Fri, 4 Jun 2010 21:59:22 +0000 (+0000) Subject: * pt.c (value_dependent_expression_p) [NOEXCEPT_EXPR]: Avoid X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3dbd972305ecfa7ca95704b7f23e895e1435cb09;p=thirdparty%2Fgcc.git * pt.c (value_dependent_expression_p) [NOEXCEPT_EXPR]: Avoid using an uninitialized variable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160300 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index fec4bfdde7cc..a67de73c802e 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,8 @@ 2010-06-04 Jason Merrill + * pt.c (value_dependent_expression_p) [NOEXCEPT_EXPR]: Avoid + using an uninitialized variable. + * cxx-pretty-print.c (pp_cxx_unary_expression): Handle NOEXCEPT_EXPR. (pp_cxx_expression): Likewise. diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 4c98bf276ede..d7c038217715 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -17596,9 +17596,14 @@ value_dependent_expression_p (tree expression) return true; else if (TYPE_P (expression)) return dependent_type_p (expression); - case NOEXCEPT_EXPR: return type_dependent_expression_p (expression); + case NOEXCEPT_EXPR: + expression = TREE_OPERAND (expression, 0); + /* FIXME why check value-dependency? */ + return (type_dependent_expression_p (expression) + || value_dependent_expression_p (expression)); + case SCOPE_REF: return dependent_scope_ref_p (expression, value_dependent_expression_p);