https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88482

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Sat Dec 15 23:51:31 2018
New Revision: 267179

URL: https://gcc.gnu.org/viewcvs?rev=267179&root=gcc&view=rev
Log:
        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.

Added:
    trunk/gcc/testsuite/g++.dg/eh/builtin10.C
    trunk/gcc/testsuite/g++.dg/eh/builtin11.C
    trunk/gcc/testsuite/g++.dg/eh/builtin5.C
    trunk/gcc/testsuite/g++.dg/eh/builtin6.C
    trunk/gcc/testsuite/g++.dg/eh/builtin7.C
    trunk/gcc/testsuite/g++.dg/eh/builtin8.C
    trunk/gcc/testsuite/g++.dg/eh/builtin9.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/except.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/parse/crash55.C
    trunk/libitm/ChangeLog
    trunk/libitm/eh_cpp.cc
    trunk/libitm/libitm.h
    trunk/libitm/libitm.texi

Reply via email to