Summary: This is old and not used. Reviewed By: akotulski Differential Revision: D3981331 fbshipit-source-id: 41fe5c6master
parent
a9f1d21dd2
commit
af4f65a871
@ -1,31 +0,0 @@
|
||||
# Copyright (c) 2004 - present Facebook, Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the BSD style license found in the
|
||||
# LICENSE file in the root directory of this source tree. An additional grant
|
||||
# of patent rights can be found in the PATENTS file in the same directory.
|
||||
|
||||
set(MODULE TRUE)
|
||||
|
||||
set(LLVM_LINK_COMPONENTS support mc)
|
||||
|
||||
add_clang_library(infer-plugin InferPlugin.cpp)
|
||||
|
||||
add_dependencies(infer-plugin
|
||||
ClangAttrClasses
|
||||
ClangAttrList
|
||||
ClangCommentNodes
|
||||
ClangDeclNodes
|
||||
ClangDiagnosticCommon
|
||||
ClangStmtNodes
|
||||
)
|
||||
|
||||
target_link_libraries(infer-plugin
|
||||
clangFrontend
|
||||
clangAST
|
||||
)
|
||||
|
||||
set_target_properties(infer-plugin
|
||||
PROPERTIES
|
||||
LINKER_LANGUAGE CXX
|
||||
PREFIX "")
|
@ -1,64 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2004 - present Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*/
|
||||
|
||||
#include "clang/Frontend/FrontendPluginRegistry.h"
|
||||
#include "clang/AST/AST.h"
|
||||
#include "clang/AST/ASTConsumer.h"
|
||||
#include "clang/Frontend/CompilerInstance.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
|
||||
class PrintFunctionsConsumer : public ASTConsumer {
|
||||
public:
|
||||
virtual bool HandleTopLevelDecl(DeclGroupRef DG) {
|
||||
for (DeclGroupRef::iterator i = DG.begin(), e = DG.end(); i != e; ++i) {
|
||||
const Decl* D = *i;
|
||||
if (const NamedDecl* ND = dyn_cast<NamedDecl>(D))
|
||||
llvm::errs() << "top-level-decl: \"" << ND->getNameAsString() << "\"\n";
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
class PrintFunctionNamesAction : public PluginASTAction {
|
||||
protected:
|
||||
ASTConsumer* CreateASTConsumer(CompilerInstance& CI, llvm::StringRef) {
|
||||
return new PrintFunctionsConsumer();
|
||||
}
|
||||
|
||||
bool ParseArgs(const CompilerInstance& CI,
|
||||
const std::vector<std::string>& args) {
|
||||
for (unsigned i = 0, e = args.size(); i != e; ++i) {
|
||||
llvm::errs() << "toplevel-plugin arg = " << args[i] << "\n";
|
||||
|
||||
// Example error handling.
|
||||
if (args[i] == "-an-error") {
|
||||
DiagnosticsEngine& D = CI.getDiagnostics();
|
||||
unsigned DiagID = D.getCustomDiagID(
|
||||
DiagnosticsEngine::Error, "invalid argument '" + args[i] + "'");
|
||||
D.Report(DiagID);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (args.size() && args[0] == "help")
|
||||
PrintHelp(llvm::errs());
|
||||
|
||||
return true;
|
||||
}
|
||||
void PrintHelp(llvm::raw_ostream& ros) {
|
||||
ros << "Help for toplevel-plugin plugin goes here\n";
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
static FrontendPluginRegistry::Add<PrintFunctionNamesAction> X(
|
||||
"infer-plugin", "print function names");
|
@ -1,16 +0,0 @@
|
||||
# Copyright (c) 2004 - present Facebook, Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the BSD style license found in the
|
||||
# LICENSE file in the root directory of this source tree. An additional grant
|
||||
# of patent rights can be found in the PATENTS file in the same directory.
|
||||
BD=~/clang-llvm/build
|
||||
|
||||
all:
|
||||
/usr/local/bin/clang++ -DGNU_SOURCE -D_DEBUG -D_STDC_CONSTANT_MACROS \
|
||||
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS \
|
||||
-I$(BD)/tools/clang/include -I$(BD)/lib/clang/3.4/include -I$(BD)/include \
|
||||
-Xclang -load -Xclang $(BD)/lib/infer-plugin.so \
|
||||
-Xclang -plugin -Xclang infer-plugin \
|
||||
test.cpp -fsyntax-only
|
||||
|
@ -1,22 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2004 - present Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*/
|
||||
|
||||
int main() { return 0; }
|
||||
|
||||
void f() {
|
||||
for (int i = 0; i < 10; i++) {
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
void g() {
|
||||
for (int i = 1; i < 10; i++) {
|
||||
;
|
||||
}
|
||||
}
|
Loading…
Reference in new issue