http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59397
Bug ID: 59397 Summary: ICE in ubsan_encode_value, at ubsan.c:143 for -fsanitize=signed-integer-overflow Product: gcc Version: 4.9.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: burnus at gcc dot gnu.org CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org, jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, mpolacek at gcc dot gnu.org Created attachment 31388 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31388&action=edit C++ test case, run as g++ -fsanitize=signed-integer-overflow The attached test case fails with: $ g++ -fsanitize=signed-integer-overflow -S test12.ii test12.ii: In function 'int s_vectorizeLoop()': test12.ii:15:29: internal compiler error: in ubsan_encode_value, at ubsan.c:143 dir = three::direction( t + dir ); ^ 0xbc9f03 ubsan_encode_value(tree_node*) ../../gcc/ubsan.c:143 0xbcb814 ubsan_build_overflow_builtin(tree_code, unsigned int, tree_node*, tree_node*, tree_node*) ../../gcc/ubsan.c:667 0xa2c020 ubsan_expand_si_overflow_addsub_check(tree_code, gimple_statement_base*) ../../gcc/internal-fn.c:175