================
@@ -103,10 +104,68 @@
#define _LIBCXXABI_DTOR_FUNC
#endif
-#if __cplusplus < 201103L
-# define _LIBCXXABI_NOEXCEPT throw()
-#else
-# define _LIBCXXABI_NOEXCEPT noexcept
+#if __has_include(<ptrauth.h>)
+# include <ptrauth.h>
#endif
+#if __has_extension(ptrauth_qualifier)
+
+// The actual value of the discriminators listed below is not important
+// beyond their impact on ABI. The derivation of the constants is only
+// being included for the purpose of maintaining a record of how they
+// were originally produced.
+
+// ptrauth_string_discriminator("__cxa_exception::actionRecord") == 0xFC91
----------------
atrosinenko wrote:
[nit] I'm not sure whether this is that important, but we can easily make these
documentation lines stricter by turning them from human-readable comments into
machine-readable `static_assert`s :) On one hand, the specific constants being
used are not important, on the other their derivations may help the developer
make sure these constants are reasonably unique (since they are produced by
hashing some sensible strings) without re-computing these hashes by custom code.
https://github.com/llvm/llvm-project/pull/143230
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits