aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2011-07-28 20:59:11 +0000
committerSteve Ellcey <sje@gcc.gnu.org>2011-07-28 20:59:11 +0000
commitf715f0c186c369103dc28a7fb96c20ccd53cc559 (patch)
treecdfbb3c4d4b73984fae5d7bc07c3c143794cb2a4
parent0681d04c474280bb0e2587c283eaf1bb0bd7911c (diff)
downloadgcc-f715f0c186c369103dc28a7fb96c20ccd53cc559.zip
gcc-f715f0c186c369103dc28a7fb96c20ccd53cc559.tar.gz
gcc-f715f0c186c369103dc28a7fb96c20ccd53cc559.tar.bz2
re PR c++/49813 ([C++0x] sinh vs asinh vs constexpr)
2011-07-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/49813 * semantics.c (potential_constant_expression_1): Handle FMA_EXPR. Checking this in for Paolo. From-SVN: r176899
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/semantics.c7
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 653a0ab..ccaba95 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2011-07-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/49813
+ * semantics.c (potential_constant_expression_1): Handle FMA_EXPR.
+
2011-07-27 Jeffrey Yasskin <jyasskin@google.com>
* pt.c (build_template_decl): Copy the function_decl's
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index fdd6c33..c44c0ef 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -8057,6 +8057,13 @@ potential_constant_expression_1 (tree t, bool want_rval, tsubst_flags_t flags)
return false;
return true;
+ case FMA_EXPR:
+ for (i = 0; i < 3; ++i)
+ if (!potential_constant_expression_1 (TREE_OPERAND (t, i),
+ true, flags))
+ return false;
+ return true;
+
case COND_EXPR:
case VEC_COND_EXPR:
/* If the condition is a known constant, we know which of the legs we