diff options
author | Filipe Cabecinhas <me@filcab.net> | 2016-09-21 20:18:18 +0000 |
---|---|---|
committer | Filipe Cabecinhas <me@filcab.net> | 2016-09-21 20:18:18 +0000 |
commit | 371ddbf8f454af7f6e7b989007c88bae477ab5cf (patch) | |
tree | c274616266ccf7b1b9db677eb5c4435648e2bde3 /test/esan | |
parent | 287bcde99afe838798828826afeb65dac307488f (diff) |
[asan] Reify ErrorGeneric
Summary:
Finish work on PR30351 (last one, after D24551, D24552, and D24554 land)
Also replace the old ReportData structure/variable with the current_error_ static
member of the ScopedInErrorReport class.
This has the following side-effects:
- Move ASAN_ON_ERROR(); call to the start of the destructor, instead
of in StartReporting().
- We only generate the error structure after the
ScopedInErrorReport constructor finishes, so we can't call
ASAN_ON_ERROR() during the constructor. I think this makes more
sense, since we end up never running two of the ASAN_ON_ERROR()
callback. This also works the same way as error reporting, since
we end up having a lock around it. Otherwise we could end up
with the ASAN_ON_ERROR() call for error 1, then the
ASAN_ON_ERROR() call for error 2, and then lock the mutex for
reporting error 1.
- The __asan_get_report_* functions will be able to, in the future,
provide information about other errors that aren't a "generic
error". But we might want to rethink that API, since it's too
restricted. Ideally we teach lldb about the current_error_ member of
ScopedInErrorReport.
Reviewers: vitalybuka, kcc, eugenis
Subscribers: kubabrecka, llvm-commits
Differential Revision: https://reviews.llvm.org/D24555
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@282107 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/esan')
0 files changed, 0 insertions, 0 deletions