re PR sanitizer/59333 (ICE with long long and -m32 -fsanitize=undefined)
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. From-SVN: r205714
Showing
- gcc/ChangeLog 16 additions, 0 deletionsgcc/ChangeLog
- gcc/internal-fn.c 18 additions, 12 deletionsgcc/internal-fn.c
- gcc/testsuite/ChangeLog 7 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/c-c++-common/ubsan/pr59333.c 19 additions, 0 deletionsgcc/testsuite/c-c++-common/ubsan/pr59333.c
- gcc/testsuite/c-c++-common/ubsan/pr59397.c 10 additions, 0 deletionsgcc/testsuite/c-c++-common/ubsan/pr59397.c
- gcc/ubsan.c 46 additions, 34 deletionsgcc/ubsan.c
- gcc/ubsan.h 1 addition, 1 deletiongcc/ubsan.h
Loading
Please register or sign in to comment