mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-18 14:16:44 +00:00

Ideally, there is no reason behind not being able to depend on checkers that come from a different plugin (or on builtin checkers) -- however, this is only possible if all checkers are added to the registry before resolving checker dependencies. Since I used a binary search in my addDependency method, this also resulted in an assertion failure (due to CheckerRegistry::Checkers not being sorted), since the function used by plugins to register their checkers (clang_registerCheckers) calls addDependency. This patch resolves this issue by only noting which dependencies have to established when addDependency is called, and resolves them at a later stage when no more checkers are added to the registry, by which point CheckerRegistry::Checkers is already sorted. Differential Revision: https://reviews.llvm.org/D59461 llvm-svn: 358750
21 lines
816 B
C
21 lines
816 B
C
// RUN: %clang_analyze_cc1 %s \
|
|
// RUN: -analyzer-checker=core \
|
|
// RUN: -analyzer-checker=nullability.NullReturnedFromNonnull
|
|
|
|
// RUN: %clang_analyze_cc1 %s \
|
|
// RUN: -analyzer-checker=osx.cocoa.RetainCount \
|
|
// RUN: -analyzer-list-enabled-checkers \
|
|
// RUN: 2>&1 | FileCheck %s -check-prefix=CHECK-IMPLICITLY-ENABLED
|
|
|
|
// CHECK-IMPLICITLY-ENABLED: osx.cocoa.RetainCountBase
|
|
// CHECK-IMPLICITLY-ENABLED: osx.cocoa.RetainCount
|
|
|
|
// RUN: %clang_analyze_cc1 %s \
|
|
// RUN: -analyzer-checker=osx.cocoa.RetainCount \
|
|
// RUN: -analyzer-disable-checker=osx.cocoa.RetainCountBase \
|
|
// RUN: -analyzer-list-enabled-checkers \
|
|
// RUN: 2>&1 | FileCheck %s -check-prefix=CHECK-IMPLICITLY-DISABLED
|
|
|
|
// CHECK-IMPLICITLY-DISABLED-NOT: osx.cocoa.RetainCountBase
|
|
// CHECK-IMPLICITLY-DISABLED-NOT: osx.cocoa.RetainCount
|