https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69211
Bug ID: 69211 Summary: g++ ICE on x86_64-linux-gnu (verify_gimple failed) Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: helloqirun at gmail dot com Target Milestone: --- The following code causes an ICE when compiled with the current g++ trunk on x86_64-linux-gnu in both 32-bit and 64-bit modes. The current gcc trunk works fine. $ g++-trunk -v Using built-in specs. COLLECT_GCC=g++-trunk COLLECT_LTO_WRAPPER=/home/absozero/trunk/root-gcc/libexec/gcc/x86_64-pc-linux-gnu/6.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc/configure --prefix=/home/absozero/trunk/root-gcc --enable-languages=c,c++ --disable-werror --enable-multilib Thread model: posix gcc version 6.0.0 20160109 (experimental) [trunk revision 232190] (GCC) $ g++-trunk -c abc.cc abc.cc: In function ?void fn1()?: abc.cc:2:6: error: type mismatch in binary expression void fn1() { (a & 5UL | (b = 4, 4L)) > 4; } ^~~ long unsigned int long unsigned int long int D.2260 = D.2259 | 4; abc.cc:2:6: internal compiler error: verify_gimple failed 0xd3e0dd verify_gimple_in_seq(gimple*) ../../gcc/gcc/tree-cfg.c:4787 0xacbd42 gimplify_body(tree_node*, bool) ../../gcc/gcc/gimplify.c:11313 0xacc0d6 gimplify_function_tree(tree_node*) ../../gcc/gcc/gimplify.c:11401 0x953e97 cgraph_node::analyze() ../../gcc/gcc/cgraphunit.c:625 0x957283 analyze_functions ../../gcc/gcc/cgraphunit.c:1080 0x957f68 symbol_table::finalize_compilation_unit() ../../gcc/gcc/cgraphunit.c:2531 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. -------------- $ cat abc.cc int a, b; void fn1() { (a & 5UL | (b = 4, 4L)) > 4; }