[Bug c++/84191] [7/8/9 Regression] Compiler ICEs when trying to resolve impossible arithmetic operations
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Oct 1 13:13:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84191
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords|needs-bisection |ice-on-valid-code
Status|UNCONFIRMED |NEW
Last reconfirmed| |2018-10-01
CC| |jason at gcc dot gnu.org
Summary|Compiler ICEs when trying |[7/8/9 Regression] Compiler
|to resolve impossible |ICEs when trying to resolve
|arithmetic operations |impossible arithmetic
| |operations
Ever confirmed|0 |1
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
At r254713 this started to ICE with:
/mnt/c/Users/cjdbn/projects/doge/doge/test/doge/gl/uniform.cpp: In lambda
function:
/mnt/c/Users/cjdbn/projects/doge/doge/test/doge/gl/uniform.cpp:249:52: error:
Local declaration from a different function
D.311875
/mnt/c/Users/cjdbn/projects/doge/doge/test/doge/gl/uniform.cpp:250:40: note: in
statement
_1 = &D.311875;
during GIMPLE pass: cfg
/mnt/c/Users/cjdbn/projects/doge/doge/test/doge/gl/uniform.cpp:249:52: internal
compiler error: verify_gimple failed
0x11f8dde verify_gimple_in_cfg(function*, bool)
../../gcc/tree-cfg.c:5392
0x1075f49 execute_function_todo
../../gcc/passes.c:1994
0x1074ef0 do_per_function
../../gcc/passes.c:1659
0x1076139 execute_todo
../../gcc/passes.c:2048
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
That commit was:
Capture adjustments for P0588R1.
* semantics.c (process_outer_var_ref): Capture variables when
they are named; complain about non-capture uses when odr-used.
* expr.c (mark_use): Rvalue use looks through capture proxy.
* constexpr.c (potential_constant_expression_1): Improve error
about
use of captured variable.
* lambda.c (need_generic_capture, dependent_capture_r)
(do_dependent_capture, processing_nonlambda_template): Remove.
* call.c (build_this): Remove uses of the above.
* decl.c (cp_finish_decl): Likewise.
* semantics.c (maybe_cleanup_point_expr)
(maybe_cleanup_point_expr_void, finish_goto_stmt)
(maybe_convert_cond): Likewise.
* typeck.c (check_return_expr): Likewise.
I haven't tried to reduce it.
With later trunk revisions it fails differently, so I haven't checked if it the
regression also affects the gcc-8-branch and current trunk.
In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:45,
from /usr/local/include/glm/simd/platform.h:358,
from /usr/local/include/glm/detail/setup.hpp:36,
from /usr/local/include/glm/vec2.hpp:4,
from
/mnt/c/Users/cjdbn/projects/doge/doge/include/doge/hid.hpp:23,
from
/mnt/c/Users/cjdbn/projects/doge/doge/include/doge/engine.hpp:19,
from
/mnt/c/Users/cjdbn/projects/doge/doge/test/doge/gl/uniform.cpp:17:
/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h: In function ‘__m128d
_mm_scalef_sd(__m128d, __m128d)’:
/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h:11265:20: error:
‘__builtin_ia32_scalefsd_round’ was not declared in this scope
/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h:11265:20: note:
suggested alternative: ‘__builtin_ia32_rndscalesd_round’
/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h: In function ‘__m128
_mm_scalef_ss(__m128, __m128)’:
/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h:11274:19: error:
‘__builtin_ia32_scalefss_round’ was not declared in this scope
/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h:11274:19: note:
suggested alternative: ‘__builtin_ia32_rndscaless_round’
More information about the Gcc-bugs
mailing list