Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
asan/asan_internal.h | ||
---|---|---|
65 ↗ | (On Diff #15851) | Umm, we probably don't need this line. |
asan/asan_internal.h | ||
---|---|---|
73 ↗ | (On Diff #15851) | explicit is not necessary for two-argument ctors. SignalContext(void *context, uptr addr) : context(context), addr(addr), pc(0), sp(0), bp(0) {} You can also make pc/sp/bp optional ctor arguments (looks like you can use that on Windows) |
93 ↗ | (On Diff #15851) | We generally don't use "struct" keyword for passing our structs around. |
asan/asan_report.h | ||
55 ↗ | (On Diff #15851) | You can make these function take const SignalContext &sig; |
asan/asan_internal.h | ||
---|---|---|
91 ↗ | (On Diff #15983) | Ok, now it becomes somewhat confusing - on POSIX the user must create SignalContext that would initialize half of the fields, and then call GetPcSpBp, that would initialize the rest of them. This looks... weird. It seems that the work done in GetPcSpBp should be done in SignalContext ctor. How do you feel about this: replace SignalContext ctor with a factory function (SignalContext::Create or whatever), that would take two opaque pointers and return a fully-constructed SignalContext object. The meaning of pointers will be different on different platforms:
|
asan/asan_stack.h | ||
84 ↗ | (On Diff #15983) | Why not (sig).pc ? |
LGTM (but please the problem for powerpc before commit)
lib/asan/asan_posix.cc | ||
---|---|---|
61 ↗ | (On Diff #16553) | Please fix the code under this #if: s/pc/sig.pc. |