From 3dbd972305ecfa7ca95704b7f23e895e1435cb09 Mon Sep 17 00:00:00 2001 From: jason Date: Fri, 4 Jun 2010 21:59:22 +0000 Subject: [PATCH] * 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 --- gcc/cp/ChangeLog | 3 +++ gcc/cp/pt.c | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) 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); -- 2.47.2