aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/config
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2013-05-09 03:58:00 +0000
committerJason Merrill <jason@redhat.com>2013-05-09 03:58:00 +0000
commita44cf59d20397743f08a7249edcabcf696954d1f (patch)
tree09467b7a6778576ce54cf16a985769ff3c2dacb8 /libstdc++-v3/config
parente688a78124f16a39fa44da685c83cf9a9fe3ea82 (diff)
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
Diffstat (limited to 'libstdc++-v3/config')
-rw-r--r--libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver3
-rw-r--r--libstdc++-v3/config/abi/pre/gnu.ver4
2 files changed, 7 insertions, 0 deletions
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 {