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

Reply via email to