diff options
| author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-05-09 03:58:00 +0000 |
|---|---|---|
| committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-05-09 03:58:00 +0000 |
| commit | bcb3170cd7700c03e5017c0a2b4e845b5cb1d763 (patch) | |
| tree | 09467b7a6778576ce54cf16a985769ff3c2dacb8 /libstdc++-v3/config | |
| parent | 7821c8c80c254f0dfd2a39f089d5bb1aa1bbed06 (diff) | |
| download | ppe42-gcc-bcb3170cd7700c03e5017c0a2b4e845b5cb1d763.tar.gz ppe42-gcc-bcb3170cd7700c03e5017c0a2b4e845b5cb1d763.zip | |
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: svn+ssh://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.ver | 3 | ||||
| -rw-r--r-- | libstdc++-v3/config/abi/pre/gnu.ver | 4 |
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 { |

