http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59333

--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Author: mpolacek
Date: Thu Dec  5 18:03:44 2013
New Revision: 205714

URL: http://gcc.gnu.org/viewcvs?rev=205714&root=gcc&view=rev
Log:
    PR sanitizer/59333
    PR sanitizer/59397
    * ubsan.c: Include rtl.h and expr.h.
    (ubsan_encode_value): Add new parameter.  If expanding, assign
    a stack slot for DECL_RTL of the temporary and call expand_assignment.
    Handle BOOLEAN_TYPE and ENUMERAL_TYPE.
    (ubsan_build_overflow_builtin): Adjust ubsan_encode_value call.
    * ubsan.h (ubsan_encode_value): Adjust declaration.
    * internal-fn.c (ubsan_expand_si_overflow_addsub_check): Move
    ubsan_build_overflow_builtin above expand_normal call.  Surround this call
    with push_temp_slots and pop_temp_slots.
    (ubsan_expand_si_overflow_neg_check): Likewise.
    (ubsan_expand_si_overflow_mul_check): Likewise.
testsuite/
    * c-c++-common/ubsan/pr59333.c: New test.
    * c-c++-common/ubsan/pr59397.c: New test.

Added:
    trunk/gcc/testsuite/c-c++-common/ubsan/pr59333.c
    trunk/gcc/testsuite/c-c++-common/ubsan/pr59397.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/internal-fn.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/ubsan.c
    trunk/gcc/ubsan.h

Reply via email to