Re: [PATCH] libstdc++: GNAT exceptions in C++

Alexandre Oliva <[email protected]>
Newsgroups gmane.comp.gcc.patches,gmane.comp.gcc.libstdc++.devel
Organization Free thinker, does not speak for AdaCore
Message-ID <[email protected]>
On Jul 14, 2026, Alexandre Oliva <[email protected]> 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!
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.