From ce19ac123abde3d9c52d52e13a00bbbe60e08722 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Sun, 6 Feb 2022 16:06:36 +0000 Subject: [Ada] Remove front-end SJLJ processing We no longer use the so called front-end SJLJ exception mechanism, so get rid of it. gcc/ada/ * ali.adb, ali.ads, bcheck.adb, exp_ch11.adb, fe.h, gnat1drv.adb, opt.adb, opt.ads, targparm.adb, targparm.ads, lib-writ.adb: Get rid of Frontend_Exceptions processing. * libgnat/system-aix.ads, libgnat/system-darwin-arm.ads, libgnat/system-darwin-ppc.ads, libgnat/system-darwin-x86.ads, libgnat/system-djgpp.ads, libgnat/system-dragonfly-x86_64.ads, libgnat/system-freebsd.ads, libgnat/system-hpux-ia64.ads, libgnat/system-hpux.ads, libgnat/system-linux-alpha.ads, libgnat/system-linux-arm.ads, libgnat/system-linux-hppa.ads, libgnat/system-linux-ia64.ads, libgnat/system-linux-m68k.ads, libgnat/system-linux-mips.ads, libgnat/system-linux-ppc.ads, libgnat/system-linux-riscv.ads, libgnat/system-linux-s390.ads, libgnat/system-linux-sh4.ads, libgnat/system-linux-sparc.ads, libgnat/system-linux-x86.ads, libgnat/system-lynxos178-ppc.ads, libgnat/system-lynxos178-x86.ads, libgnat/system-mingw.ads, libgnat/system-qnx-aarch64.ads, libgnat/system-rtems.ads, libgnat/system-solaris-sparc.ads, libgnat/system-solaris-x86.ads, libgnat/system-vxworks-arm-rtp-smp.ads, libgnat/system-vxworks-arm-rtp.ads, libgnat/system-vxworks-arm.ads, libgnat/system-vxworks-e500-kernel.ads, libgnat/system-vxworks-e500-rtp-smp.ads, libgnat/system-vxworks-e500-rtp.ads, libgnat/system-vxworks-ppc-kernel.ads, libgnat/system-vxworks-ppc-rtp-smp.ads, libgnat/system-vxworks-ppc-rtp.ads, libgnat/system-vxworks-x86-kernel.ads, libgnat/system-vxworks-x86-rtp-smp.ads, libgnat/system-vxworks-x86-rtp.ads, libgnat/system-vxworks7-aarch64-rtp-smp.ads, libgnat/system-vxworks7-aarch64.ads, libgnat/system-vxworks7-arm-rtp-smp.ads, libgnat/system-vxworks7-arm.ads, libgnat/system-vxworks7-e500-kernel.ads, libgnat/system-vxworks7-e500-rtp-smp.ads, libgnat/system-vxworks7-e500-rtp.ads, libgnat/system-vxworks7-ppc-kernel.ads, libgnat/system-vxworks7-ppc-rtp-smp.ads, libgnat/system-vxworks7-ppc-rtp.ads, libgnat/system-vxworks7-ppc64-kernel.ads, libgnat/system-vxworks7-ppc64-rtp-smp.ads, libgnat/system-vxworks7-x86-kernel.ads, libgnat/system-vxworks7-x86-rtp-smp.ads, libgnat/system-vxworks7-x86-rtp.ads, libgnat/system-vxworks7-x86_64-kernel.ads, libgnat/system-vxworks7-x86_64-rtp-smp.ads: Remove Frontend_Exceptions line. * gcc-interface/decl.cc, gcc-interface/trans.cc (gnat_to_gnu_entity, gnat_to_gnu_subprog_type, gigi, gnat_to_gnu): Remove Front_End_SJLJ processing and always assume Back_End_Exceptions. --- gcc/ada/opt.ads | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) (limited to 'gcc/ada/opt.ads') diff --git a/gcc/ada/opt.ads b/gcc/ada/opt.ads index c38a93f..0d8b25f 100644 --- a/gcc/ada/opt.ads +++ b/gcc/ada/opt.ads @@ -567,13 +567,7 @@ package Opt is type Exception_Mechanism_Type is -- Determines the kind of mechanism used to handle exceptions -- - (Front_End_SJLJ, - -- Exceptions use setjmp/longjmp generated explicitly by the front end - -- (this includes gigi or other equivalent parts of the code generator). - -- AT END handlers are converted into exception handlers by the front - -- end in this mode. - - Back_End_ZCX, + (Back_End_ZCX, -- Exceptions are handled by the back end. The front end simply -- generates the handlers as they appear in the source, and AT END -- handlers are left untouched (they are not converted into exception @@ -589,16 +583,13 @@ package Opt is -- WARNING: There is a matching C declaration of this type in fe.h - Exception_Mechanism : Exception_Mechanism_Type := Front_End_SJLJ; + Exception_Mechanism : Exception_Mechanism_Type := Back_End_SJLJ; -- GNAT -- Set to the appropriate value depending on the flags in system.ads - -- (Frontend_Exceptions + ZCX_By_Default). The C convention is there to - -- allow access by gigi. + -- (ZCX_By_Default). The C convention is there to allow access by gigi. -- WARNING: There is a matching C declaration of this variable in fe.h - function Back_End_Exceptions return Boolean; - function Front_End_Exceptions return Boolean; function ZCX_Exceptions return Boolean; function SJLJ_Exceptions return Boolean; -- GNAT -- cgit v1.1