diff options
author | dim <dim@FreeBSD.org> | 2014-11-24 09:15:30 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2014-11-24 09:15:30 +0000 |
commit | 173a4f43a911175643bda81ee675e8d9269056ea (patch) | |
tree | 47df2c12b57214af6c31e47404b005675b8b7ffc /unittests/Lex/PPCallbacksTest.cpp | |
parent | 88f7a7d5251a2d813460274c92decc143a11569b (diff) | |
download | FreeBSD-src-173a4f43a911175643bda81ee675e8d9269056ea.zip FreeBSD-src-173a4f43a911175643bda81ee675e8d9269056ea.tar.gz |
Vendor import of clang RELEASE_350/final tag r216957 (effectively, 3.5.0 release):
https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_350/final@216957
Diffstat (limited to 'unittests/Lex/PPCallbacksTest.cpp')
-rw-r--r-- | unittests/Lex/PPCallbacksTest.cpp | 74 |
1 files changed, 38 insertions, 36 deletions
diff --git a/unittests/Lex/PPCallbacksTest.cpp b/unittests/Lex/PPCallbacksTest.cpp index 9405a84..a1af754 100644 --- a/unittests/Lex/PPCallbacksTest.cpp +++ b/unittests/Lex/PPCallbacksTest.cpp @@ -8,7 +8,10 @@ //===--------------------------------------------------------------===// #include "clang/Lex/Preprocessor.h" +#include "clang/AST/ASTConsumer.h" +#include "clang/AST/ASTContext.h" #include "clang/Basic/Diagnostic.h" +#include "clang/Basic/DiagnosticOptions.h" #include "clang/Basic/FileManager.h" #include "clang/Basic/LangOptions.h" #include "clang/Basic/SourceManager.h" @@ -20,8 +23,6 @@ #include "clang/Lex/PreprocessorOptions.h" #include "clang/Parse/Parser.h" #include "clang/Sema/Sema.h" -#include "clang/AST/ASTContext.h" -#include "clang/AST/ASTConsumer.h" #include "llvm/ADT/SmallString.h" #include "llvm/Support/Path.h" #include "gtest/gtest.h" @@ -34,17 +35,22 @@ namespace { // Stub out module loading. class VoidModuleLoader : public ModuleLoader { - virtual ModuleLoadResult loadModule(SourceLocation ImportLoc, - ModuleIdPath Path, - Module::NameVisibilityKind Visibility, - bool IsInclusionDirective) { + ModuleLoadResult loadModule(SourceLocation ImportLoc, + ModuleIdPath Path, + Module::NameVisibilityKind Visibility, + bool IsInclusionDirective) override { return ModuleLoadResult(); } - virtual void makeModuleVisible(Module *Mod, - Module::NameVisibilityKind Visibility, - SourceLocation ImportLoc, - bool Complain) { } + void makeModuleVisible(Module *Mod, + Module::NameVisibilityKind Visibility, + SourceLocation ImportLoc, + bool Complain) override { } + + GlobalModuleIndex *loadGlobalModuleIndex(SourceLocation TriggerLoc) override + { return nullptr; } + bool lookupMissingImports(StringRef Name, SourceLocation TriggerLoc) override + { return 0; }; }; // Stub to collect data from InclusionDirective callbacks. @@ -110,14 +116,12 @@ public: class PPCallbacksTest : public ::testing::Test { protected: PPCallbacksTest() - : FileMgr(FileMgrOpts), - DiagID(new DiagnosticIDs()), - DiagOpts(new DiagnosticOptions()), - Diags(DiagID, DiagOpts.getPtr(), new IgnoringDiagConsumer()), - SourceMgr(Diags, FileMgr) { - TargetOpts = new TargetOptions(); + : FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()), + DiagOpts(new DiagnosticOptions()), + Diags(DiagID, DiagOpts.get(), new IgnoringDiagConsumer()), + SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions()) { TargetOpts->Triple = "x86_64-apple-darwin11.1.0"; - Target = TargetInfo::CreateTargetInfo(Diags, &*TargetOpts); + Target = TargetInfo::CreateTargetInfo(Diags, TargetOpts); } FileSystemOptions FileMgrOpts; @@ -127,7 +131,7 @@ protected: DiagnosticsEngine Diags; SourceManager SourceMgr; LangOptions LangOpts; - IntrusiveRefCntPtr<TargetOptions> TargetOpts; + std::shared_ptr<TargetOptions> TargetOpts; IntrusiveRefCntPtr<TargetInfo> Target; // Register a header path as a known file and add its location @@ -157,22 +161,20 @@ protected: CharSourceRange InclusionDirectiveFilenameRange(const char* SourceText, const char* HeaderPath, bool SystemHeader) { MemoryBuffer *Buf = MemoryBuffer::getMemBuffer(SourceText); - (void)SourceMgr.createMainFileIDForMemBuffer(Buf); + SourceMgr.setMainFileID(SourceMgr.createFileID(Buf)); VoidModuleLoader ModLoader; IntrusiveRefCntPtr<HeaderSearchOptions> HSOpts = new HeaderSearchOptions(); HeaderSearch HeaderInfo(HSOpts, SourceMgr, Diags, LangOpts, - Target.getPtr()); + Target.get()); AddFakeHeader(HeaderInfo, HeaderPath, SystemHeader); IntrusiveRefCntPtr<PreprocessorOptions> PPOpts = new PreprocessorOptions(); - Preprocessor PP(PPOpts, Diags, LangOpts, - Target.getPtr(), - SourceMgr, HeaderInfo, ModLoader, - /*IILookup =*/ 0, - /*OwnsHeaderSearch =*/false, - /*DelayInitialization =*/ false); + Preprocessor PP(PPOpts, Diags, LangOpts, SourceMgr, HeaderInfo, ModLoader, + /*IILookup =*/nullptr, + /*OwnsHeaderSearch =*/false); + PP.Initialize(*Target); InclusionDirectiveCallbacks* Callbacks = new InclusionDirectiveCallbacks; PP.addPPCallbacks(Callbacks); // Takes ownership. @@ -196,25 +198,25 @@ protected: OpenCLLangOpts.OpenCL = 1; MemoryBuffer* sourceBuf = MemoryBuffer::getMemBuffer(SourceText, "test.cl"); - (void)SourceMgr.createMainFileIDForMemBuffer(sourceBuf); + SourceMgr.setMainFileID(SourceMgr.createFileID(sourceBuf)); VoidModuleLoader ModLoader; HeaderSearch HeaderInfo(new HeaderSearchOptions, SourceMgr, Diags, - OpenCLLangOpts, Target.getPtr()); + OpenCLLangOpts, Target.get()); - Preprocessor PP(new PreprocessorOptions(), Diags, OpenCLLangOpts, - Target.getPtr(), - SourceMgr, HeaderInfo, ModLoader, - /*IILookup =*/ 0, - /*OwnsHeaderSearch =*/false, - /*DelayInitialization =*/ false); + Preprocessor PP(new PreprocessorOptions(), Diags, OpenCLLangOpts, SourceMgr, + HeaderInfo, ModLoader, /*IILookup =*/nullptr, + /*OwnsHeaderSearch =*/false); + PP.Initialize(*Target); // parser actually sets correct pragma handlers for preprocessor // according to LangOptions, so we init Parser to register opencl // pragma handlers - ASTContext Context(OpenCLLangOpts, SourceMgr, Target.getPtr(), + ASTContext Context(OpenCLLangOpts, SourceMgr, PP.getIdentifierTable(), PP.getSelectorTable(), - PP.getBuiltinInfo(), 0); + PP.getBuiltinInfo()); + Context.InitBuiltinTypes(*Target); + ASTConsumer Consumer; Sema S(PP, Context, Consumer); Parser P(PP, S, false); |