[compiler-rt] Replace ifs with switch statement in IsHandledDeadlySignal
Reviewers: eugenis Subscribers: kubamracek, llvm-commits, dberris Differential Revision: https://reviews.llvm.org/D33158 llvm-svn: 303392
This commit is contained in:
parent
7b62d7ccc0
commit
1cfc81f1de
|
@ -1395,15 +1395,19 @@ AndroidApiLevel AndroidGetApiLevel() {
|
|||
#endif
|
||||
|
||||
bool IsHandledDeadlySignal(int signum) {
|
||||
if (common_flags()->handle_abort && signum == SIGABRT)
|
||||
return true;
|
||||
if (common_flags()->handle_sigill && signum == SIGILL)
|
||||
return true;
|
||||
if (common_flags()->handle_sigfpe && signum == SIGFPE)
|
||||
return true;
|
||||
if (common_flags()->handle_segv && signum == SIGSEGV)
|
||||
return true;
|
||||
return common_flags()->handle_sigbus && signum == SIGBUS;
|
||||
switch (signum) {
|
||||
case SIGABRT:
|
||||
return common_flags()->handle_abort;
|
||||
case SIGILL:
|
||||
return common_flags()->handle_sigill;
|
||||
case SIGFPE:
|
||||
return common_flags()->handle_sigfpe;
|
||||
case SIGSEGV:
|
||||
return common_flags()->handle_segv;
|
||||
case SIGBUS:
|
||||
return common_flags()->handle_sigbus;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
#if !SANITIZER_GO
|
||||
|
|
|
@ -394,18 +394,22 @@ void ListOfModules::init() {
|
|||
}
|
||||
|
||||
bool IsHandledDeadlySignal(int signum) {
|
||||
if ((SANITIZER_WATCHOS || SANITIZER_TVOS) && !(SANITIZER_IOSSIM))
|
||||
// Handling fatal signals on watchOS and tvOS devices is disallowed.
|
||||
if ((SANITIZER_WATCHOS || SANITIZER_TVOS) && !(SANITIZER_IOSSIM))
|
||||
return false;
|
||||
switch (signum) {
|
||||
case SIGABRT:
|
||||
return common_flags()->handle_abort;
|
||||
case SIGILL:
|
||||
return common_flags()->handle_sigill;
|
||||
case SIGFPE:
|
||||
return common_flags()->handle_sigfpe;
|
||||
case SIGSEGV:
|
||||
return common_flags()->handle_segv;
|
||||
case SIGBUS:
|
||||
return common_flags()->handle_sigbus;
|
||||
}
|
||||
return false;
|
||||
if (common_flags()->handle_abort && signum == SIGABRT)
|
||||
return true;
|
||||
if (common_flags()->handle_sigill && signum == SIGILL)
|
||||
return true;
|
||||
if (common_flags()->handle_sigfpe && signum == SIGFPE)
|
||||
return true;
|
||||
if (common_flags()->handle_segv && signum == SIGSEGV)
|
||||
return true;
|
||||
return common_flags()->handle_sigbus && signum == SIGBUS;
|
||||
}
|
||||
|
||||
MacosVersion cached_macos_version = MACOS_VERSION_UNINITIALIZED;
|
||||
|
|
Loading…
Reference in New Issue