diff options
author | msebor <msebor@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-04-13 23:26:41 +0000 |
---|---|---|
committer | msebor <msebor@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-04-13 23:26:41 +0000 |
commit | 9aed0626a663258edf49f43d36598fbbe2a865d7 (patch) | |
tree | 1d55385c5ee07d32a08d9279dcb595632d96e73c /gcc/cp/ChangeLog | |
parent | d56e1cd87803c958f2128ad3a1a55f4fad9d1b87 (diff) |
PR c++/69517 - [5/6 regression] SEGV on a VLA with excess initializer elements
PR c++/70019 - VLA size overflow not detected
PR c++/70588 - SIGBUS on a VLA larger than SIZE_MAX / 2
gcc/testsuite/ChangeLog:
2016-04-13 Martin Sebor <msebor@redhat.com>
PR c++/69517
PR c++/70019
PR c++/70588
* c-c++-common/ubsan/vla-1.c (main): Catch exceptions.
* g++.dg/cpp1y/vla11.C: New test.
* g++.dg/cpp1y/vla12.C: New test.
* g++.dg/cpp1y/vla13.C: New test.
* g++.dg/cpp1y/vla14.C: New test.
* g++.dg/cpp1y/vla3.C: Restore deleted test.
* gcc/testsuite/g++.dg/init/array24.C: Fully brace VLA initializer.
* g++.dg/ubsan/vla-1.C: Disable exceptions.
gcc/cp/ChangeLog:
2016-04-13 Martin Sebor <msebor@redhat.com>
PR c++/69517
PR c++/70019
PR c++/70588
* cp-tree.h (throw_bad_array_length, build_vla_check): Declare new
functions.
* decl.c (check_initializer, cp_finish_decl): Call them.
(reshape_init_r): Reject incompletely braced intializer-lists
for VLAs.
* init.c (throw_bad_array_length, build_vla_check)
(build_vla_size_check, build_vla_init_check): Define new functions.
* typeck2.c (split_nonconstant_init_1): Use variably_modified_type_p()
to detect a VLA.
(store_init_value): Same.
gcc/doc/ChangeLog:
2016-04-13 Martin Sebor <msebor@redhat.com>
PR c++/69517
PR c++/70019
PR c++/70588
* extend.texi (Variable Length): Document C++ specifics.
libstdc++-v3/ChangeLog:
2016-04-13 Martin Sebor <msebor@redhat.com>
PR c++/69517
* testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
upper bound is positive.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234966 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/ChangeLog')
-rw-r--r-- | gcc/cp/ChangeLog | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c9929b63b9c..866b4f2dbba 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,19 @@ +2016-04-13 Martin Sebor <msebor@redhat.com> + + PR c++/69517 + PR c++/70019 + PR c++/70588 + * cp-tree.h (throw_bad_array_length, build_vla_check): Declare new + functions. + * decl.c (check_initializer, cp_finish_decl): Call them. + (reshape_init_r): Reject incompletely braced intializer-lists + for VLAs. + * init.c (throw_bad_array_length, build_vla_check) + (build_vla_size_check, build_vla_init_check): Define new functions. + * typeck2.c (split_nonconstant_init_1): Use variably_modified_type_p() + to detect a VLA. + (store_init_value): Same. + 2016-04-13 Jason Merrill <jason@redhat.com> Warn about empty parameter ABI with -Wabi=9. |