[Bug middle-end/78429] [6/7 Regression] ice on valid C code on x86_64-linux-gnu at -O3 in both 32-bit and 64-bit modes (internal compiler error: in set_value_range, at tree-vrp.c:361)
ebotcazou at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Nov 21 12:49:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78429
--- Comment #10 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> It's built by build_nonstandard_boolean_type via
>
> (gdb) bt
> #0 0x0000000001204281 in build_nonstandard_boolean_type (precision=32)
> at /space/rguenther/src/gcc-git/gcc/tree.c:8219
> #1 0x000000000120e478 in build_truth_vector_type (nunits=4, vector_size=16)
> at /space/rguenther/src/gcc-git/gcc/tree.c:10919
> #2 0x000000000118881a in get_mask_type_for_scalar_type (
> scalar_type=<integer_type 0x2aaaac02a690 int>)
> at /space/rguenther/src/gcc-git/gcc/tree-vect-stmts.c:8958
> #3 0x00000000019519b2 in search_type_for_mask_1 (
> var=<ssa_name 0x2aaaac173438>, vinfo=0x28ab530, cache=...)
> at /space/rguenther/src/gcc-git/gcc/tree-vect-patterns.c:3538
> #4 0x0000000001951be3 in search_type_for_mask (var=<ssa_name
> 0x2aaaac173438>,
> vinfo=0x28ab530)
Right, so it looks like Ada is not the only producer of non-standard boolean
types, there is even a helper function to do it. Which means that any language
could be affected by the regression uncovered in Ada.
More information about the Gcc-bugs
mailing list