https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71240
Bug ID: 71240 Summary: ICE on valid code at -O2 and above on x86_64-linux-gnu: verify_gimple failed Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rogero at howzatt dot demon.co.uk Target Milestone: --- Created attachment 38545 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38545&action=edit Example code, fails with -O2 With gcc-trunk 236575 (which includes fixes for both these possibly related PRs: Bug 70641 - [5 Regression] ICE on valid code at -O1 and above on x86_64-linux-gnu: verify_gimple failed Bug 71079 - ICE on valid code at -O1 and above on x86_64-linux-gnu: verify_gimple failed), I am still getting an ICE for the attached code. $ g++ -O2 verify_gimple.cxx verify_gimple.cxx: In function 'void failure(double)': verify_gimple.cxx:19:1: error: invalid types in nop conversion failure(double a) ^~~~~~~ unsigned int double bswapsrc_7 = (unsigned int) a_2(D); verify_gimple.cxx:19:1: internal compiler error: verify_gimple failed 0xdc6d66 verify_gimple_in_cfg(function*, bool) ../../gcc/tree-cfg.c:5213 0xcbbbc3 execute_function_todo ../../gcc/passes.c:1964 0xcbc54b execute_todo ../../gcc/passes.c:2016 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. $ g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/home/rorr/git/buildkit2/build/gcc/bin/../libexec/gcc/x86_64-pc-linux-gnu/7.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../configure --prefix=/home/rorr/git/buildkit2/build/install --enable-cloog-backend --enable-lto --enable-languages=c,c++ --enable-libstdcxx-time --enable-gold --enable-plugins --disable-multilib --enable-werror=no --enable-libstdcxx-dual-abi --with-default-libstdcxx-abi=gcc4-compatible Thread model: posix gcc version 7.0.0 20160523 (experimental) (GCC)