summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/tools/clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
diff options
context:
space:
mode:
authorpatrick <patrick@openbsd.org>2017-01-24 08:32:59 +0000
committerpatrick <patrick@openbsd.org>2017-01-24 08:32:59 +0000
commit53d771aafdbe5b919f264f53cba3788e2c4cffd2 (patch)
tree7eca39498be0ff1e3a6daf583cd9ca5886bb2636 /gnu/llvm/tools/clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
parentIn preparation of compiling our kernels with -ffreestanding, explicitly map (diff)
downloadwireguard-openbsd-53d771aafdbe5b919f264f53cba3788e2c4cffd2.tar.xz
wireguard-openbsd-53d771aafdbe5b919f264f53cba3788e2c4cffd2.zip
Import LLVM 4.0.0 rc1 including clang and lld to help the current
development effort on OpenBSD/arm64.
Diffstat (limited to 'gnu/llvm/tools/clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp')
-rw-r--r--gnu/llvm/tools/clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/gnu/llvm/tools/clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp b/gnu/llvm/tools/clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
index ee2c3f513cd..c6f3baa7e3b 100644
--- a/gnu/llvm/tools/clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
+++ b/gnu/llvm/tools/clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
@@ -19,7 +19,6 @@
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/CrashRecoveryContext.h"
#include "llvm/Support/FileSystem.h"
-#include <string>
#include <utility>
using namespace clang;
@@ -63,8 +62,7 @@ void ModelInjector::onBodySynthesis(const NamedDecl *D) {
return;
}
- IntrusiveRefCntPtr<CompilerInvocation> Invocation(
- new CompilerInvocation(CI.getInvocation()));
+ auto Invocation = std::make_shared<CompilerInvocation>(CI.getInvocation());
FrontendOptions &FrontendOpts = Invocation->getFrontendOpts();
InputKind IK = IK_CXX; // FIXME
@@ -77,7 +75,7 @@ void ModelInjector::onBodySynthesis(const NamedDecl *D) {
// Modules are parsed by a separate CompilerInstance, so this code mimics that
// behavior for models
CompilerInstance Instance(CI.getPCHContainerOperations());
- Instance.setInvocation(&*Invocation);
+ Instance.setInvocation(std::move(Invocation));
Instance.createDiagnostics(
new ForwardingDiagnosticConsumer(CI.getDiagnosticClient()),
/*ShouldOwnClient=*/true);
@@ -90,7 +88,7 @@ void ModelInjector::onBodySynthesis(const NamedDecl *D) {
// is set to true to avoid double free issues
Instance.setFileManager(&CI.getFileManager());
Instance.setSourceManager(&SM);
- Instance.setPreprocessor(&CI.getPreprocessor());
+ Instance.setPreprocessor(CI.getPreprocessorPtr());
Instance.setASTContext(&CI.getASTContext());
Instance.getPreprocessor().InitializeForModelFile();