diff options
author | Jakub Jelinek <jakub@redhat.com> | 2018-12-16 00:51:31 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2018-12-16 00:51:31 +0100 |
commit | 784417d1f808ea70f013a90aeede3b20e6013e39 (patch) | |
tree | d5fb499587fc8a484ff6fc7e4c0565251f7971fb /libitm/useraction.cc | |
parent | e310b38153d15c6d3ae9686eb38b6629f0f93393 (diff) | |
download | gcc-784417d1f808ea70f013a90aeede3b20e6013e39.zip gcc-784417d1f808ea70f013a90aeede3b20e6013e39.tar.gz gcc-784417d1f808ea70f013a90aeede3b20e6013e39.tar.bz2 |
re PR c++/88482 (ICE when wrongly declaring __cxa_allocate_exception)
PR c++/88482
* except.c (verify_library_fn): New function.
(declare_library_fn): Use it. Initialize TM even if the non-TM
library function has been user declared.
(do_end_catch): Don't set TREE_NOTHROW on error_mark_node.
(expand_start_catch_block): Don't call initialize_handler_parm
for error_mark_node.
(build_throw): Use verify_library_fn. Initialize TM even if the
non-TM library function has been user declared. Don't crash if
any library fn is error_mark_node.
* g++.dg/eh/builtin5.C: New test.
* g++.dg/eh/builtin6.C: New test.
* g++.dg/eh/builtin7.C: New test.
* g++.dg/eh/builtin8.C: New test.
* g++.dg/eh/builtin9.C: New test.
* g++.dg/eh/builtin10.C: New test.
* g++.dg/eh/builtin11.C: New test.
* g++.dg/parse/crash55.C: Adjust expected diagnostics.
* eh_cpp.cc (__cxa_throw): Change DEST argument type from
void * to void (*) (void *).
(_ITM_cxa_throw): Likewise.
* libitm.h (_ITM_cxa_throw): Likewise.
* libitm.texi (_ITM_cxa_throw): Likewise.
From-SVN: r267179
Diffstat (limited to 'libitm/useraction.cc')
0 files changed, 0 insertions, 0 deletions