diff options
Diffstat (limited to 'gcc/cp/constexpr.cc')
-rw-r--r-- | gcc/cp/constexpr.cc | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/gcc/cp/constexpr.cc b/gcc/cp/constexpr.cc index 9b8e0ec..87f3a7b 100644 --- a/gcc/cp/constexpr.cc +++ b/gcc/cp/constexpr.cc @@ -1840,13 +1840,10 @@ cxx_eval_internal_function (const constexpr_ctx *ctx, tree t, false, non_constant_p, overflow_p); if (TREE_CODE (arg) == VECTOR_CST) - return fold_const_call (CFN_VEC_CONVERT, TREE_TYPE (t), arg); - else - { - *non_constant_p = true; - return t; - } + if (tree r = fold_const_call (CFN_VEC_CONVERT, TREE_TYPE (t), arg)) + return r; } + /* FALLTHRU */ default: if (!ctx->quiet) |