gcc/libstdc++-v3
Martin Sebor 342fac9537 PR c++/69517 - [5/6 regression] SEGV on a VLA with excess initializer elements
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.

From-SVN: r234966
2016-04-13 17:26:41 -06:00
..
config libstdc++/69945 Add __gnu_cxx::__freeres hook 2016-03-24 18:13:40 +00:00
doc Makefile.am (install-freestanding-headers): Add concept_check.h and move.h to the installed headers. 2016-03-23 00:41:52 +00:00
include Adjust for new empty class parameter passing ABI. 2016-04-13 23:00:50 +01:00
libsupc++ libstdc++/69945 Add __gnu_cxx::__freeres hook 2016-03-24 18:13:40 +00:00
po Update copyright years. 2016-01-04 15:30:50 +01:00
python Update copyright years. 2016-01-04 15:30:50 +01:00
scripts Update copyright years. 2016-01-04 15:30:50 +01:00
src Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null. 2016-04-06 15:07:49 +00:00
testsuite PR c++/69517 - [5/6 regression] SEGV on a VLA with excess initializer elements 2016-04-13 17:26:41 -06:00
ChangeLog PR c++/69517 - [5/6 regression] SEGV on a VLA with excess initializer elements 2016-04-13 17:26:41 -06:00
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015 Update copyright years. 2016-01-04 15:30:50 +01:00
Makefile.am Update copyright years. 2016-01-04 15:30:50 +01:00
Makefile.in
README
acinclude.m4 Restore atomic builtins usage in libstdc++-v3 2016-04-05 20:03:46 +01:00
aclocal.m4
config.h.in Test for C99 stdlib.h functions with -std=c++98 2016-02-04 23:47:21 +00:00
configure Restore atomic builtins usage in libstdc++-v3 2016-04-05 20:03:46 +01:00
configure.ac libstdc++: Make certain exceptions transaction_safe. 2016-01-15 22:42:41 +00:00
configure.host Introduce separate baselines for Solaris 10 and 11+ (PR libstdc++/66006) 2016-01-13 09:48:53 +00:00
crossconfig.m4 Test for __cxa_thread_atexit_impl when cross-compiling libstdc++ for GNU targets. 2015-10-11 23:34:28 +01:00
fragment.am
linkage.m4

README

file: libstdc++-v3/README

New users may wish to point their web browsers to the file
index.html in the 'doc/html' subdirectory.  It contains brief
building instructions and notes on how to configure the library in
interesting ways.