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’