This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/68180] [ICE] at cp/constexpr.c:2768 in initializing __vector in a loop
- From: "pinskia at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 05 Aug 2016 01:12:27 +0000
- Subject: [Bug c++/68180] [ICE] at cp/constexpr.c:2768 in initializing __vector in a loop
- Auto-submitted: auto-generated
- References: <bug-68180-4@http.gcc.gnu.org/bugzilla/>
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.