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