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’

Reply via email to