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