r204334 - in /trunk/gcc: ChangeLog asan.c c-fam...
mpolacek@gcc.gnu.org
mpolacek@gcc.gnu.org
Sun Nov 3 17:59:00 GMT 2013
Author: mpolacek
Date: Sun Nov 3 17:59:31 2013
New Revision: 204334
URL: http://gcc.gnu.org/viewcvs?rev=204334&root=gcc&view=rev
Log:
Implement -fsanitize=vla-bound.
* opts.c (common_handle_option): Handle vla-bound.
* sanitizer.def (BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE):
Define.
* flag-types.h (enum sanitize_code): Add SANITIZE_VLA.
* asan.c (initialize_sanitizer_builtins): Build BT_FN_VOID_PTR_PTR.
c-family/
* c-ubsan.c: Don't include hash-table.h.
(ubsan_instrument_vla): New function.
* c-ubsan.h: Declare it.
cp/
* decl.c (cp_finish_decl): Move C++1y bounds checking...
(compute_array_index_type): ...here. Add VLA instrumentation.
Call stabilize_vla_size.
(grokdeclarator): Don't call stabilize_vla_size here.
c/
* c-decl.c (grokdeclarator): Add VLA instrumentation.
testsuite/
* g++.dg/ubsan/cxx1y-vla.C: New test.
* c-c++-common/ubsan/vla-3.c: New test.
* c-c++-common/ubsan/vla-2.c: New test.
* c-c++-common/ubsan/vla-4.c: New test.
* c-c++-common/ubsan/vla-1.c: New test.
Added:
trunk/gcc/testsuite/c-c++-common/ubsan/vla-1.c
trunk/gcc/testsuite/c-c++-common/ubsan/vla-2.c
trunk/gcc/testsuite/c-c++-common/ubsan/vla-3.c
trunk/gcc/testsuite/c-c++-common/ubsan/vla-4.c
trunk/gcc/testsuite/g++.dg/ubsan/cxx1y-vla.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/asan.c
trunk/gcc/c-family/ChangeLog
trunk/gcc/c-family/c-ubsan.c
trunk/gcc/c-family/c-ubsan.h
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-decl.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/flag-types.h
trunk/gcc/opts.c
trunk/gcc/sanitizer.def
trunk/gcc/testsuite/ChangeLog
More information about the Gcc-cvs
mailing list