From a44cf59d20397743f08a7249edcabcf696954d1f Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Thu, 9 May 2013 03:58:00 +0000 Subject: Core 624/N2932: Throw bad_array_new_length on overflow in array new size calculation. libstdc++-v3/ * libsupc++/new: Add std::bad_array_new_length. * libsupc++/bad_array_new.cc: New. * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length. * libsupc++/Makefile.in: Build them. * config/abi/pre/gnu.ver: Add new symbols. * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols. gcc/cp/ * init.c (throw_bad_array_new_length): New. (build_new_1): Use it. Don't warn about braced-init-list. (build_vec_init): Use it. * call.c (build_operator_new_call): Use it. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@198731 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver | 3 +++ libstdc++-v3/config/abi/pre/gnu.ver | 4 ++++ 2 files changed, 7 insertions(+) (limited to 'libstdc++-v3/config') diff --git a/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver b/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver index 7880767af68..07feda06454 100644 --- a/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver +++ b/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver @@ -232,6 +232,9 @@ CXXABI_2.0 { _ZTSSt17bad_function_call; _ZTVSt17bad_function_call; + __cxa_throw_bad_array_new_length; + _Z*St20bad_array_new_length*; + # Default function. _ZSt11_Hash_bytesPKv*; diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver index 978641f076b..7256c6f782e 100644 --- a/libstdc++-v3/config/abi/pre/gnu.ver +++ b/libstdc++-v3/config/abi/pre/gnu.ver @@ -1556,6 +1556,10 @@ CXXABI_1.3.7 { __cxa_thread_atexit; } CXXABI_1.3.6; +CXXABI_1.3.8 { + __cxa_throw_bad_array_new_length; + _Z*St20bad_array_new_length*; +} CXXABI_1.3.7; # Symbols in the support library (libsupc++) supporting transactional memory. CXXABI_TM_1 { -- cgit v1.2.3