================
@@ -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
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to