[Bug c++/27724] [4.1/4.2 Regression] internal compiler error: no-op convert from 4 to 8 bytes in initializer
mmitchel at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Thu Jun 15 06:25:00 GMT 2006
------- Comment #9 from mmitchel at gcc dot gnu dot org 2006-06-15 06:25 -------
Eric --
Here, valid_initializer_constant_p returns true -- but output_constant aborts,
saying:
/* Make sure eliminating the conversion is really a no-op, except with
VIEW_CONVERT_EXPRs to allow for wild Ada unchecked conversions and
union types to allow for Ada unchecked unions. */
if (type_size > op_size
&& TREE_CODE (exp) != VIEW_CONVERT_EXPR
&& TREE_CODE (TREE_TYPE (exp)) != UNION_TYPE)
internal_error ("no-op convert from %wd to %wd bytes in initializer",
op_size, type_size);
I don't understand the assertion, given that removing it seems to generate
correct output for this test case. Since you edited this code not to long ago,
do you have thoughts?
-- Mark
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ebotcazou at libertysurf dot
| |fr, mmitchel at gcc dot gnu
| |dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27724
More information about the Gcc-bugs
mailing list