aboutsummaryrefslogtreecommitdiff
path: root/clang-tidy/cert/VariadicFunctionDefCheck.cpp
diff options
context:
space:
mode:
authorAaron Ballman <aaron@aaronballman.com>2015-10-07 15:14:10 +0000
committerAaron Ballman <aaron@aaronballman.com>2015-10-07 15:14:10 +0000
commit08ae890c8b671238528816812388b6b55410a49f (patch)
tree916436ee6f5c9e78f983bf724823dc0d1a613fb9 /clang-tidy/cert/VariadicFunctionDefCheck.cpp
parentfa0bfc95a3d382920b20529a5661ded624fde34d (diff)
Loosening the restriction on variadic function definitions so that extern "C" function definitions are permissible.
git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@249555 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'clang-tidy/cert/VariadicFunctionDefCheck.cpp')
-rw-r--r--clang-tidy/cert/VariadicFunctionDefCheck.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/clang-tidy/cert/VariadicFunctionDefCheck.cpp b/clang-tidy/cert/VariadicFunctionDefCheck.cpp
index ac788a3a..a5f8fa7e 100644
--- a/clang-tidy/cert/VariadicFunctionDefCheck.cpp
+++ b/clang-tidy/cert/VariadicFunctionDefCheck.cpp
@@ -20,9 +20,12 @@ void VariadicFunctionDefCheck::registerMatchers(MatchFinder *Finder) {
if (!getLangOpts().CPlusPlus)
return;
- // We only care about function *definitions* that are variadic.
- Finder->addMatcher(functionDecl(isDefinition(), isVariadic()).bind("func"),
- this);
+ // We only care about function *definitions* that are variadic, and do not
+ // have extern "C" language linkage.
+ Finder->addMatcher(
+ functionDecl(isDefinition(), isVariadic(), unless(isExternC()))
+ .bind("func"),
+ this);
}
void VariadicFunctionDefCheck::check(const MatchFinder::MatchResult &Result) {