summaryrefslogtreecommitdiffstats
path: root/libcxxabi/src/cxa_exception_storage.cpp
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2012-01-25 19:19:13 +0000
committerHoward Hinnant <hhinnant@apple.com>2012-01-25 19:19:13 +0000
commitdb97064263965cd1a76358d8f55c4c2fe01ab4ba (patch)
tree76d820f7263655c0bc26d34dc67b27eacf2b6046 /libcxxabi/src/cxa_exception_storage.cpp
parent5d6b9d28f7c20697488d0decc326b771fe39b4da (diff)
downloadbcm5719-llvm-db97064263965cd1a76358d8f55c4c2fe01ab4ba.tar.gz
bcm5719-llvm-db97064263965cd1a76358d8f55c4c2fe01ab4ba.zip
Add comment documenting extension behavior of __cxa_get_globals_fast().
llvm-svn: 148966
Diffstat (limited to 'libcxxabi/src/cxa_exception_storage.cpp')
-rw-r--r--libcxxabi/src/cxa_exception_storage.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/libcxxabi/src/cxa_exception_storage.cpp b/libcxxabi/src/cxa_exception_storage.cpp
index 4e06c066b70..8688932b4e8 100644
--- a/libcxxabi/src/cxa_exception_storage.cpp
+++ b/libcxxabi/src/cxa_exception_storage.cpp
@@ -75,6 +75,10 @@ extern "C" {
return retVal;
}
+ // Note that this implementation will reliably return NULL if not
+ // preceeded by a call to __cxa_get_globals(). This is an extension
+ // to the Itanium ABI and is taken advantage of in several places in
+ // libc++abi.
__cxa_eh_globals * __cxa_get_globals_fast () noexcept {
// First time through, create the key.
static int init = construct_();
OpenPOWER on IntegriCloud