https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68180

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |easyhack, ice-on-valid-code

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
t88.cc: In function ‘float32x4_t foo(float32x4_t)’:
t88.cc:10:33:   in constexpr expansion of ‘fill(1.0e+0f)’
t88.cc:10:37: internal compiler error: tree check: expected constructor, have
vector_cst in cxx_eval_store_expression, at cp/constexpr.c:3051
   constexpr float32x4_t v = fill(1.f);
                                     ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://www.cavium.com/support.html> for instructions.

This should not be hard to fix.  Basically after:
ctx->values->get (object)

You convert VECTOR_CST back into a CONSTRUCTOR.  Then the rest will work.

Reply via email to