diff options
author | Brad Linden <brad@lindenlab.com> | 2023-10-25 13:22:13 -0700 |
---|---|---|
committer | Brad Linden <brad@lindenlab.com> | 2023-10-25 16:12:13 -0700 |
commit | 673b3309dde153fdadf7559bd16a5bb6db4723a1 (patch) | |
tree | 726d5e38b016d1d5504c3024b0959cec00d6c9c1 /indra/llcommon/llerror.cpp | |
parent | 887226c7d2462306191126cc5bfc0de96e18ad42 (diff) | |
parent | e4d6a08941f9c4e81bda8ae14d481be5029353fd (diff) |
Merge remote-tracking branch 'origin/main' into DRTVWR-559
Diffstat (limited to 'indra/llcommon/llerror.cpp')
-rw-r--r-- | indra/llcommon/llerror.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp index eaf1be60f2..414515854a 100644 --- a/indra/llcommon/llerror.cpp +++ b/indra/llcommon/llerror.cpp @@ -1603,5 +1603,18 @@ namespace LLError } } - - +void crashdriver(void (*callback)(int*)) +{ + // The LLERROR_CRASH macro used to have inline code of the form: + //int* make_me_crash = NULL; + //*make_me_crash = 0; + + // But compilers are getting smart enough to recognize that, so we must + // assign to an address supplied by a separate source file. We could do + // the assignment here in crashdriver() -- but then BugSplat would group + // all LL_ERRS() crashes as the fault of this one function, instead of + // identifying the specific LL_ERRS() source line. So instead, do the + // assignment in a lambda in the caller's source. We just provide the + // nullptr target. + callback(nullptr); +} |