From db327b64691410726463901c8ac5b95e27fb46c4 Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Fri, 4 May 2012 22:43:33 +0000 Subject: [PATCH] semantics.c (cxx_eval_constant_expression, [...]): Tidy. 2012-05-04 Paolo Carlini * semantics.c (cxx_eval_constant_expression, case CONVERT_EXPR): Tidy. From-SVN: r187184 --- gcc/cp/ChangeLog | 4 ++++ gcc/cp/semantics.c | 10 ++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 560722c7f1c..4a5c36fdca8 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2012-05-04 Paolo Carlini + + * semantics.c (cxx_eval_constant_expression, case CONVERT_EXPR): Tidy. + 2012-05-04 Paolo Carlini PR c++/53166 diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 90378dc4122..fbb26b22375 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -7757,18 +7757,16 @@ cxx_eval_constant_expression (const constexpr_call *call, tree t, case NOP_EXPR: { tree oldop = TREE_OPERAND (t, 0); - tree op = oldop; - tree to = TREE_TYPE (t); - op = cxx_eval_constant_expression (call, TREE_OPERAND (t, 0), - allow_non_constant, addr, - non_constant_p); + tree op = cxx_eval_constant_expression (call, oldop, + allow_non_constant, addr, + non_constant_p); if (*non_constant_p) return t; if (op == oldop) /* We didn't fold at the top so we could check for ptr-int conversion. */ return fold (t); - r = fold_build1 (TREE_CODE (t), to, op); + r = fold_build1 (TREE_CODE (t), TREE_TYPE (t), op); /* Conversion of an out-of-range value has implementation-defined behavior; the language considers it different from arithmetic overflow, which is undefined. */ -- 2.30.2