From aa3bf45c241decb77de0d3704ca511c8c186e0d0 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Fri, 4 Jun 2010 17:59:22 -0400 Subject: [PATCH] pt.c (value_dependent_expression_p): Avoid using an uninitialized variable. * pt.c (value_dependent_expression_p) [NOEXCEPT_EXPR]: Avoid using an uninitialized variable. From-SVN: r160300 --- 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 fec4bfdde7c..a67de73c802 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 4c98bf276ed..d7c03821771 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.11.4.GIT