[PATCH] libstdc++: GNAT exceptions in C++
Alexandre Oliva
oliva@adacore.com
Mon Aug 17 15:25:07 GMT 2026
On Jul 14, 2026, Alexandre Oliva <oliva@adacore.com> wrote:
> This patch introduces __gnu_cxx::__gnat_exception, a class derived
> from abi::__foreign_exception, that can be used to catch GNAT
> exceptions and obtain information from them, such as the exception
> name and message:
Ping?
https://gcc.gnu.org/pipermail/gcc-patches/2026-July/723814.html
> for libstdc++-v3/ChangeLog
> * config/abi/pre/gnu-versioned-namespace.ver (CXXABI_2.0):
> Drop duplicates. Add __gnat_exception symbols.
> * config/abi/pre/gnu.ver (CXXABI_1.3.18): New. Add
> __gnat_exception symbols.
> * testsuite/util/testsuite_abi.cc: Update known_versions and
> latestp.
> * libsupc++/Makefile.am (sources): Add gnat_exception.cc.
> * libsupc++/Makefile.in: Rebuild.
> * libsupc++/cxxabi.h (__gnu_cxx::__gnat_exception): New.
> (__cxxabiv1::__foreign_exception): Befriend it.
> * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Select
> __gnat_exception for GNAT exceptions.
> * libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
> * libsupc++/eh_catch.cc (__cxxabiv1::__cxa_begin_catch):
> Return unwindHeader for GNAT exceptions.
> * libsupc++/gnat_exception.cc: New.
> * libsupc++/unwind-cxx.h (__is_gnat_exception_class): New, for
> __ARM_EABI_UNWINDER__ and generic.
> (__gnat_exception_class) [!__ARM_EABI_UNWINDER__]: New.
--
Alexandre Oliva, happy hacker https://blog.lx.oliva.nom.br/
Free Software Activist FSFLA co-founder GNU Toolchain Engineer
More tolerance and less prejudice are key for inclusion and diversity.
Excluding neuro-others for not behaving ""normal"" is *not* inclusive!
More information about the Libstdc++
mailing list