NFC: Clean up of IntrusiveRefCntPtr construction from raw pointers. (#151545)
Handles clang::DiagnosticsEngine and clang::DiagnosticIDs. For DiagnosticIDs, this mostly migrates from `new DiagnosticIDs` to convenience method `DiagnosticIDs::create()`. Part of cleanup https://github.com/llvm/llvm-project/issues/151026
This commit is contained in:
parent
1c60b7da4f
commit
c7f3437507
@ -97,8 +97,7 @@ int main(int argc, char **argv) {
|
|||||||
cl::ParseCommandLineOptions(argc, argv);
|
cl::ParseCommandLineOptions(argc, argv);
|
||||||
|
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diagnostics(
|
DiagnosticsEngine Diagnostics(DiagnosticIDs::create(), DiagOpts);
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs()), DiagOpts);
|
|
||||||
|
|
||||||
// Determine a formatting style from options.
|
// Determine a formatting style from options.
|
||||||
auto FormatStyleOrError = format::getStyle(FormatStyleOpt, FormatStyleConfig,
|
auto FormatStyleOrError = format::getStyle(FormatStyleOpt, FormatStyleConfig,
|
||||||
|
@ -128,9 +128,8 @@ int main(int argc, const char **argv) {
|
|||||||
LangOptions DefaultLangOptions;
|
LangOptions DefaultLangOptions;
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
clang::TextDiagnosticPrinter DiagnosticPrinter(errs(), DiagOpts);
|
clang::TextDiagnosticPrinter DiagnosticPrinter(errs(), DiagOpts);
|
||||||
DiagnosticsEngine Diagnostics(
|
DiagnosticsEngine Diagnostics(DiagnosticIDs::create(), DiagOpts,
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs()), DiagOpts,
|
&DiagnosticPrinter, false);
|
||||||
&DiagnosticPrinter, false);
|
|
||||||
auto &FileMgr = Tool.getFiles();
|
auto &FileMgr = Tool.getFiles();
|
||||||
SourceManager Sources(Diagnostics, FileMgr);
|
SourceManager Sources(Diagnostics, FileMgr);
|
||||||
Rewriter Rewrite(Sources, DefaultLangOptions);
|
Rewriter Rewrite(Sources, DefaultLangOptions);
|
||||||
|
@ -454,7 +454,7 @@ int includeFixerMain(int argc, const char **argv) {
|
|||||||
|
|
||||||
// Set up a new source manager for applying the resulting replacements.
|
// Set up a new source manager for applying the resulting replacements.
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diagnostics(new DiagnosticIDs, DiagOpts);
|
DiagnosticsEngine Diagnostics(DiagnosticIDs::create(), DiagOpts);
|
||||||
TextDiagnosticPrinter DiagnosticPrinter(outs(), DiagOpts);
|
TextDiagnosticPrinter DiagnosticPrinter(outs(), DiagOpts);
|
||||||
SourceManager SM(Diagnostics, tool.getFiles());
|
SourceManager SM(Diagnostics, tool.getFiles());
|
||||||
Diagnostics.setClient(&DiagnosticPrinter, false);
|
Diagnostics.setClient(&DiagnosticPrinter, false);
|
||||||
|
@ -178,9 +178,8 @@ int main(int argc, const char **argv) {
|
|||||||
|
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
clang::TextDiagnosticPrinter DiagnosticPrinter(errs(), DiagOpts);
|
clang::TextDiagnosticPrinter DiagnosticPrinter(errs(), DiagOpts);
|
||||||
DiagnosticsEngine Diagnostics(
|
DiagnosticsEngine Diagnostics(DiagnosticIDs::create(), DiagOpts,
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs()), DiagOpts,
|
&DiagnosticPrinter, false);
|
||||||
&DiagnosticPrinter, false);
|
|
||||||
auto &FileMgr = Tool.getFiles();
|
auto &FileMgr = Tool.getFiles();
|
||||||
SourceManager SM(Diagnostics, FileMgr);
|
SourceManager SM(Diagnostics, FileMgr);
|
||||||
Rewriter Rewrite(SM, LangOptions());
|
Rewriter Rewrite(SM, LangOptions());
|
||||||
|
@ -74,9 +74,8 @@ int main(int argc, const char **argv) {
|
|||||||
LangOptions DefaultLangOptions;
|
LangOptions DefaultLangOptions;
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
TextDiagnosticPrinter DiagnosticPrinter(errs(), DiagOpts);
|
TextDiagnosticPrinter DiagnosticPrinter(errs(), DiagOpts);
|
||||||
DiagnosticsEngine Diagnostics(
|
DiagnosticsEngine Diagnostics(DiagnosticIDs::create(), DiagOpts,
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs()), DiagOpts,
|
&DiagnosticPrinter, false);
|
||||||
&DiagnosticPrinter, false);
|
|
||||||
|
|
||||||
auto &FileMgr = Tool.getFiles();
|
auto &FileMgr = Tool.getFiles();
|
||||||
SourceManager Sources(Diagnostics, FileMgr);
|
SourceManager Sources(Diagnostics, FileMgr);
|
||||||
|
@ -96,8 +96,7 @@ public:
|
|||||||
llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> BaseFS)
|
llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> BaseFS)
|
||||||
: Files(FileSystemOptions(), std::move(BaseFS)),
|
: Files(FileSystemOptions(), std::move(BaseFS)),
|
||||||
DiagPrinter(new TextDiagnosticPrinter(llvm::outs(), DiagOpts)),
|
DiagPrinter(new TextDiagnosticPrinter(llvm::outs(), DiagOpts)),
|
||||||
Diags(IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs), DiagOpts,
|
Diags(DiagnosticIDs::create(), DiagOpts, DiagPrinter),
|
||||||
DiagPrinter),
|
|
||||||
SourceMgr(Diags, Files), Context(Context), ApplyFixes(ApplyFixes) {
|
SourceMgr(Diags, Files), Context(Context), ApplyFixes(ApplyFixes) {
|
||||||
DiagOpts.ShowColors = Context.getOptions().UseColor.value_or(
|
DiagOpts.ShowColors = Context.getOptions().UseColor.value_or(
|
||||||
llvm::sys::Process::StandardOutHasColors());
|
llvm::sys::Process::StandardOutHasColors());
|
||||||
@ -570,7 +569,7 @@ runClangTidy(clang::tidy::ClangTidyContext &Context,
|
|||||||
|
|
||||||
ClangTidyDiagnosticConsumer DiagConsumer(Context, nullptr, true, ApplyAnyFix);
|
ClangTidyDiagnosticConsumer DiagConsumer(Context, nullptr, true, ApplyAnyFix);
|
||||||
auto DiagOpts = std::make_unique<DiagnosticOptions>();
|
auto DiagOpts = std::make_unique<DiagnosticOptions>();
|
||||||
DiagnosticsEngine DE(new DiagnosticIDs(), *DiagOpts, &DiagConsumer,
|
DiagnosticsEngine DE(DiagnosticIDs::create(), *DiagOpts, &DiagConsumer,
|
||||||
/*ShouldOwnClient=*/false);
|
/*ShouldOwnClient=*/false);
|
||||||
Context.setDiagnosticsEngine(std::move(DiagOpts), &DE);
|
Context.setDiagnosticsEngine(std::move(DiagOpts), &DE);
|
||||||
Tool.setDiagnosticConsumer(&DiagConsumer);
|
Tool.setDiagnosticConsumer(&DiagConsumer);
|
||||||
|
@ -71,7 +71,7 @@ ExpandModularHeadersPPCallbacks::ExpandModularHeadersPPCallbacks(
|
|||||||
InMemoryFs(new llvm::vfs::InMemoryFileSystem),
|
InMemoryFs(new llvm::vfs::InMemoryFileSystem),
|
||||||
Sources(Compiler.getSourceManager()),
|
Sources(Compiler.getSourceManager()),
|
||||||
// Forward the new diagnostics to the original DiagnosticConsumer.
|
// Forward the new diagnostics to the original DiagnosticConsumer.
|
||||||
Diags(new DiagnosticIDs, DiagOpts,
|
Diags(DiagnosticIDs::create(), DiagOpts,
|
||||||
new ForwardingDiagnosticConsumer(Compiler.getDiagnosticClient())),
|
new ForwardingDiagnosticConsumer(Compiler.getDiagnosticClient())),
|
||||||
LangOpts(Compiler.getLangOpts()), HSOpts(Compiler.getHeaderSearchOpts()) {
|
LangOpts(Compiler.getLangOpts()), HSOpts(Compiler.getHeaderSearchOpts()) {
|
||||||
// Add a FileSystem containing the extra files needed in place of modular
|
// Add a FileSystem containing the extra files needed in place of modular
|
||||||
|
@ -41,7 +41,7 @@ public:
|
|||||||
new ClangTidyDiagnosticConsumer(*Context, &Compiler.getDiagnostics());
|
new ClangTidyDiagnosticConsumer(*Context, &Compiler.getDiagnostics());
|
||||||
auto DiagOpts = std::make_unique<DiagnosticOptions>();
|
auto DiagOpts = std::make_unique<DiagnosticOptions>();
|
||||||
auto DiagEngine = std::make_unique<DiagnosticsEngine>(
|
auto DiagEngine = std::make_unique<DiagnosticsEngine>(
|
||||||
new DiagnosticIDs, *DiagOpts, DiagConsumer);
|
DiagnosticIDs::create(), *DiagOpts, DiagConsumer);
|
||||||
Context->setDiagnosticsEngine(std::move(DiagOpts), DiagEngine.get());
|
Context->setDiagnosticsEngine(std::move(DiagOpts), DiagEngine.get());
|
||||||
|
|
||||||
// Create the AST consumer.
|
// Create the AST consumer.
|
||||||
|
@ -659,7 +659,7 @@ buildPreamble(PathRef FileName, CompilerInvocation CI,
|
|||||||
WallTimer PreambleTimer;
|
WallTimer PreambleTimer;
|
||||||
PreambleTimer.startTimer();
|
PreambleTimer.startTimer();
|
||||||
auto BuiltPreamble = PrecompiledPreamble::Build(
|
auto BuiltPreamble = PrecompiledPreamble::Build(
|
||||||
CI, ContentsBuffer.get(), Bounds, *PreambleDiagsEngine,
|
CI, ContentsBuffer.get(), Bounds, PreambleDiagsEngine,
|
||||||
Stats ? TimedFS : StatCacheFS, std::make_shared<PCHContainerOperations>(),
|
Stats ? TimedFS : StatCacheFS, std::make_shared<PCHContainerOperations>(),
|
||||||
StoreInMemory, /*StoragePath=*/"", CapturedInfo);
|
StoreInMemory, /*StoragePath=*/"", CapturedInfo);
|
||||||
|
|
||||||
|
@ -254,7 +254,7 @@ bool isValidTarget(llvm::StringRef Triple) {
|
|||||||
std::shared_ptr<TargetOptions> TargetOpts(new TargetOptions);
|
std::shared_ptr<TargetOptions> TargetOpts(new TargetOptions);
|
||||||
TargetOpts->Triple = Triple.str();
|
TargetOpts->Triple = Triple.str();
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags(new DiagnosticIDs, DiagOpts,
|
DiagnosticsEngine Diags(DiagnosticIDs::create(), DiagOpts,
|
||||||
new IgnoringDiagConsumer);
|
new IgnoringDiagConsumer);
|
||||||
llvm::IntrusiveRefCntPtr<TargetInfo> Target =
|
llvm::IntrusiveRefCntPtr<TargetInfo> Target =
|
||||||
TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
|
TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
|
||||||
|
@ -299,7 +299,7 @@ TEST_F(ConfigCompileTests, DiagnosticSuppression) {
|
|||||||
"typecheck_bool_condition",
|
"typecheck_bool_condition",
|
||||||
"unexpected_friend", "warn_alloca"));
|
"unexpected_friend", "warn_alloca"));
|
||||||
clang::DiagnosticOptions DiagOpts;
|
clang::DiagnosticOptions DiagOpts;
|
||||||
clang::DiagnosticsEngine DiagEngine(new DiagnosticIDs, DiagOpts,
|
clang::DiagnosticsEngine DiagEngine(DiagnosticIDs::create(), DiagOpts,
|
||||||
new clang::IgnoringDiagConsumer);
|
new clang::IgnoringDiagConsumer);
|
||||||
|
|
||||||
using Diag = clang::Diagnostic;
|
using Diag = clang::Diagnostic;
|
||||||
|
@ -45,7 +45,7 @@ TEST(FileEdits, AbsolutePath) {
|
|||||||
MemFS->addFile(Path, 0, llvm::MemoryBuffer::getMemBuffer("", Path));
|
MemFS->addFile(Path, 0, llvm::MemoryBuffer::getMemBuffer("", Path));
|
||||||
FileManager FM(FileSystemOptions(), MemFS);
|
FileManager FM(FileSystemOptions(), MemFS);
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine DE(new DiagnosticIDs, DiagOpts);
|
DiagnosticsEngine DE(DiagnosticIDs::create(), DiagOpts);
|
||||||
SourceManager SM(DE, FM);
|
SourceManager SM(DE, FM);
|
||||||
|
|
||||||
for (const auto *Path : RelPaths) {
|
for (const auto *Path : RelPaths) {
|
||||||
|
@ -47,7 +47,7 @@ ModularizeUtilities::ModularizeUtilities(std::vector<std::string> &InputPaths,
|
|||||||
ProblemFilesPath(ProblemFilesListPath), HasModuleMap(false),
|
ProblemFilesPath(ProblemFilesListPath), HasModuleMap(false),
|
||||||
MissingHeaderCount(0),
|
MissingHeaderCount(0),
|
||||||
// Init clang stuff needed for loading the module map and preprocessing.
|
// Init clang stuff needed for loading the module map and preprocessing.
|
||||||
LangOpts(new LangOptions()), DiagIDs(new DiagnosticIDs()),
|
LangOpts(new LangOptions()), DiagIDs(DiagnosticIDs::create()),
|
||||||
DC(llvm::errs(), DiagnosticOpts),
|
DC(llvm::errs(), DiagnosticOpts),
|
||||||
Diagnostics(new DiagnosticsEngine(DiagIDs, DiagnosticOpts, &DC, false)),
|
Diagnostics(new DiagnosticsEngine(DiagIDs, DiagnosticOpts, &DC, false)),
|
||||||
TargetOpts(new ModuleMapTargetOptions()),
|
TargetOpts(new ModuleMapTargetOptions()),
|
||||||
|
@ -33,8 +33,7 @@ makeTUDiagnostics(const std::string &MainSourceFile, StringRef DiagnosticName,
|
|||||||
// before applying.
|
// before applying.
|
||||||
TEST(ApplyReplacementsTest, mergeDiagnosticsWithNoFixes) {
|
TEST(ApplyReplacementsTest, mergeDiagnosticsWithNoFixes) {
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diagnostics(
|
DiagnosticsEngine Diagnostics(DiagnosticIDs::create(), DiagOpts);
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs()), DiagOpts);
|
|
||||||
FileManager Files((FileSystemOptions()));
|
FileManager Files((FileSystemOptions()));
|
||||||
SourceManager SM(Diagnostics, Files);
|
SourceManager SM(Diagnostics, Files);
|
||||||
TUReplacements TURs;
|
TUReplacements TURs;
|
||||||
|
@ -318,7 +318,8 @@ TEST(CheckOptionsValidation, MissingOptions) {
|
|||||||
ClangTidyGlobalOptions(), Options));
|
ClangTidyGlobalOptions(), Options));
|
||||||
ClangTidyDiagnosticConsumer DiagConsumer(Context);
|
ClangTidyDiagnosticConsumer DiagConsumer(Context);
|
||||||
auto DiagOpts = std::make_unique<DiagnosticOptions>();
|
auto DiagOpts = std::make_unique<DiagnosticOptions>();
|
||||||
DiagnosticsEngine DE(new DiagnosticIDs(), *DiagOpts, &DiagConsumer, false);
|
DiagnosticsEngine DE(DiagnosticIDs::create(), *DiagOpts, &DiagConsumer,
|
||||||
|
false);
|
||||||
Context.setDiagnosticsEngine(std::move(DiagOpts), &DE);
|
Context.setDiagnosticsEngine(std::move(DiagOpts), &DE);
|
||||||
TestCheck TestCheck(&Context);
|
TestCheck TestCheck(&Context);
|
||||||
EXPECT_FALSE(TestCheck.getLocal("Opt"));
|
EXPECT_FALSE(TestCheck.getLocal("Opt"));
|
||||||
@ -348,7 +349,8 @@ TEST(CheckOptionsValidation, ValidIntOptions) {
|
|||||||
ClangTidyGlobalOptions(), Options));
|
ClangTidyGlobalOptions(), Options));
|
||||||
ClangTidyDiagnosticConsumer DiagConsumer(Context);
|
ClangTidyDiagnosticConsumer DiagConsumer(Context);
|
||||||
auto DiagOpts = std::make_unique<DiagnosticOptions>();
|
auto DiagOpts = std::make_unique<DiagnosticOptions>();
|
||||||
DiagnosticsEngine DE(new DiagnosticIDs(), *DiagOpts, &DiagConsumer, false);
|
DiagnosticsEngine DE(DiagnosticIDs::create(), *DiagOpts, &DiagConsumer,
|
||||||
|
false);
|
||||||
Context.setDiagnosticsEngine(std::move(DiagOpts), &DE);
|
Context.setDiagnosticsEngine(std::move(DiagOpts), &DE);
|
||||||
TestCheck TestCheck(&Context);
|
TestCheck TestCheck(&Context);
|
||||||
|
|
||||||
@ -410,7 +412,8 @@ TEST(ValidConfiguration, ValidEnumOptions) {
|
|||||||
ClangTidyGlobalOptions(), Options));
|
ClangTidyGlobalOptions(), Options));
|
||||||
ClangTidyDiagnosticConsumer DiagConsumer(Context);
|
ClangTidyDiagnosticConsumer DiagConsumer(Context);
|
||||||
auto DiagOpts = std::make_unique<DiagnosticOptions>();
|
auto DiagOpts = std::make_unique<DiagnosticOptions>();
|
||||||
DiagnosticsEngine DE(new DiagnosticIDs(), *DiagOpts, &DiagConsumer, false);
|
DiagnosticsEngine DE(DiagnosticIDs::create(), *DiagOpts, &DiagConsumer,
|
||||||
|
false);
|
||||||
Context.setDiagnosticsEngine(std::move(DiagOpts), &DE);
|
Context.setDiagnosticsEngine(std::move(DiagOpts), &DE);
|
||||||
TestCheck TestCheck(&Context);
|
TestCheck TestCheck(&Context);
|
||||||
|
|
||||||
|
@ -97,7 +97,8 @@ runCheckOnCode(StringRef Code, std::vector<ClangTidyError> *Errors = nullptr,
|
|||||||
ClangTidyGlobalOptions(), Options));
|
ClangTidyGlobalOptions(), Options));
|
||||||
ClangTidyDiagnosticConsumer DiagConsumer(Context);
|
ClangTidyDiagnosticConsumer DiagConsumer(Context);
|
||||||
auto DiagOpts = std::make_unique<DiagnosticOptions>();
|
auto DiagOpts = std::make_unique<DiagnosticOptions>();
|
||||||
DiagnosticsEngine DE(new DiagnosticIDs(), *DiagOpts, &DiagConsumer, false);
|
DiagnosticsEngine DE(DiagnosticIDs::create(), *DiagOpts, &DiagConsumer,
|
||||||
|
false);
|
||||||
Context.setDiagnosticsEngine(std::move(DiagOpts), &DE);
|
Context.setDiagnosticsEngine(std::move(DiagOpts), &DE);
|
||||||
|
|
||||||
std::vector<std::string> Args(1, "clang-tidy");
|
std::vector<std::string> Args(1, "clang-tidy");
|
||||||
|
@ -32,8 +32,7 @@ class VirtualFileHelper {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
VirtualFileHelper()
|
VirtualFileHelper()
|
||||||
: Diagnostics(IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs),
|
: Diagnostics(DiagnosticIDs::create(), DiagOpts),
|
||||||
DiagOpts),
|
|
||||||
DiagnosticPrinter(llvm::outs(), DiagOpts),
|
DiagnosticPrinter(llvm::outs(), DiagOpts),
|
||||||
Files((FileSystemOptions())) {}
|
Files((FileSystemOptions())) {}
|
||||||
|
|
||||||
|
@ -272,6 +272,11 @@ public:
|
|||||||
DiagnosticIDs();
|
DiagnosticIDs();
|
||||||
~DiagnosticIDs();
|
~DiagnosticIDs();
|
||||||
|
|
||||||
|
// Convenience method to construct a new refcounted DiagnosticIDs.
|
||||||
|
static llvm::IntrusiveRefCntPtr<DiagnosticIDs> create() {
|
||||||
|
return llvm::makeIntrusiveRefCnt<DiagnosticIDs>();
|
||||||
|
}
|
||||||
|
|
||||||
/// Return an ID for a diagnostic with the specified format string and
|
/// Return an ID for a diagnostic with the specified format string and
|
||||||
/// level.
|
/// level.
|
||||||
///
|
///
|
||||||
|
@ -445,6 +445,9 @@ public:
|
|||||||
|
|
||||||
const DiagnosticsEngine &getDiagnostics() const { return *Diagnostics; }
|
const DiagnosticsEngine &getDiagnostics() const { return *Diagnostics; }
|
||||||
DiagnosticsEngine &getDiagnostics() { return *Diagnostics; }
|
DiagnosticsEngine &getDiagnostics() { return *Diagnostics; }
|
||||||
|
llvm::IntrusiveRefCntPtr<DiagnosticsEngine> getDiagnosticsPtr() {
|
||||||
|
return Diagnostics;
|
||||||
|
}
|
||||||
|
|
||||||
const SourceManager &getSourceManager() const { return *SourceMgr; }
|
const SourceManager &getSourceManager() const { return *SourceMgr; }
|
||||||
SourceManager &getSourceManager() { return *SourceMgr; }
|
SourceManager &getSourceManager() { return *SourceMgr; }
|
||||||
@ -918,8 +921,9 @@ public:
|
|||||||
bool IncludeCodePatterns, bool IncludeBriefComments,
|
bool IncludeCodePatterns, bool IncludeBriefComments,
|
||||||
CodeCompleteConsumer &Consumer,
|
CodeCompleteConsumer &Consumer,
|
||||||
std::shared_ptr<PCHContainerOperations> PCHContainerOps,
|
std::shared_ptr<PCHContainerOperations> PCHContainerOps,
|
||||||
DiagnosticsEngine &Diag, LangOptions &LangOpts,
|
llvm::IntrusiveRefCntPtr<DiagnosticsEngine> Diag,
|
||||||
SourceManager &SourceMgr, FileManager &FileMgr,
|
LangOptions &LangOpts, SourceManager &SourceMgr,
|
||||||
|
FileManager &FileMgr,
|
||||||
SmallVectorImpl<StoredDiagnostic> &StoredDiagnostics,
|
SmallVectorImpl<StoredDiagnostic> &StoredDiagnostics,
|
||||||
SmallVectorImpl<const llvm::MemoryBuffer *> &OwnedBuffers,
|
SmallVectorImpl<const llvm::MemoryBuffer *> &OwnedBuffers,
|
||||||
std::unique_ptr<SyntaxOnlyAction> Act);
|
std::unique_ptr<SyntaxOnlyAction> Act);
|
||||||
|
@ -361,7 +361,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// setDiagnostics - Replace the current diagnostics engine.
|
/// setDiagnostics - Replace the current diagnostics engine.
|
||||||
void setDiagnostics(DiagnosticsEngine *Value);
|
void setDiagnostics(llvm::IntrusiveRefCntPtr<DiagnosticsEngine> Value);
|
||||||
|
|
||||||
DiagnosticConsumer &getDiagnosticClient() const {
|
DiagnosticConsumer &getDiagnosticClient() const {
|
||||||
assert(Diagnostics && Diagnostics->getClient() &&
|
assert(Diagnostics && Diagnostics->getClient() &&
|
||||||
|
@ -84,7 +84,7 @@ public:
|
|||||||
static llvm::ErrorOr<PrecompiledPreamble>
|
static llvm::ErrorOr<PrecompiledPreamble>
|
||||||
Build(const CompilerInvocation &Invocation,
|
Build(const CompilerInvocation &Invocation,
|
||||||
const llvm::MemoryBuffer *MainFileBuffer, PreambleBounds Bounds,
|
const llvm::MemoryBuffer *MainFileBuffer, PreambleBounds Bounds,
|
||||||
DiagnosticsEngine &Diagnostics,
|
IntrusiveRefCntPtr<DiagnosticsEngine> Diagnostics,
|
||||||
IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS,
|
IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS,
|
||||||
std::shared_ptr<PCHContainerOperations> PCHContainerOps,
|
std::shared_ptr<PCHContainerOperations> PCHContainerOps,
|
||||||
bool StoreInMemory, StringRef StoragePath,
|
bool StoreInMemory, StringRef StoragePath,
|
||||||
|
@ -2379,8 +2379,8 @@ SourceManagerForFile::SourceManagerForFile(StringRef FileName,
|
|||||||
DiagOpts = std::make_unique<DiagnosticOptions>();
|
DiagOpts = std::make_unique<DiagnosticOptions>();
|
||||||
// This is passed to `SM` as reference, so the pointer has to be referenced
|
// This is passed to `SM` as reference, so the pointer has to be referenced
|
||||||
// by `Environment` due to the same reason above.
|
// by `Environment` due to the same reason above.
|
||||||
Diagnostics = std::make_unique<DiagnosticsEngine>(
|
Diagnostics =
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs), *DiagOpts);
|
std::make_unique<DiagnosticsEngine>(DiagnosticIDs::create(), *DiagOpts);
|
||||||
SourceMgr = std::make_unique<SourceManager>(*Diagnostics, *FileMgr);
|
SourceMgr = std::make_unique<SourceManager>(*Diagnostics, *FileMgr);
|
||||||
FileEntryRef FE = llvm::cantFail(FileMgr->getFileRef(FileName));
|
FileEntryRef FE = llvm::cantFail(FileMgr->getFileRef(FileName));
|
||||||
FileID ID =
|
FileID ID =
|
||||||
|
@ -563,9 +563,8 @@ CrossTranslationUnitContext::ASTLoader::loadFromDump(StringRef ASTDumpPath) {
|
|||||||
auto DiagOpts = std::make_shared<DiagnosticOptions>();
|
auto DiagOpts = std::make_shared<DiagnosticOptions>();
|
||||||
TextDiagnosticPrinter *DiagClient =
|
TextDiagnosticPrinter *DiagClient =
|
||||||
new TextDiagnosticPrinter(llvm::errs(), *DiagOpts);
|
new TextDiagnosticPrinter(llvm::errs(), *DiagOpts);
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
auto Diags = llvm::makeIntrusiveRefCnt<DiagnosticsEngine>(
|
||||||
IntrusiveRefCntPtr<DiagnosticsEngine> Diags(
|
DiagnosticIDs::create(), *DiagOpts, DiagClient);
|
||||||
new DiagnosticsEngine(DiagID, *DiagOpts, DiagClient));
|
|
||||||
return ASTUnit::LoadFromASTFile(
|
return ASTUnit::LoadFromASTFile(
|
||||||
ASTDumpPath, CI.getPCHContainerOperations()->getRawReader(),
|
ASTDumpPath, CI.getPCHContainerOperations()->getRawReader(),
|
||||||
ASTUnit::LoadEverything, DiagOpts, Diags, CI.getFileSystemOpts(),
|
ASTUnit::LoadEverything, DiagOpts, Diags, CI.getFileSystemOpts(),
|
||||||
@ -607,8 +606,8 @@ CrossTranslationUnitContext::ASTLoader::loadFromSource(
|
|||||||
auto *DiagClient = new ForwardingDiagnosticConsumer{CI.getDiagnosticClient()};
|
auto *DiagClient = new ForwardingDiagnosticConsumer{CI.getDiagnosticClient()};
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID{
|
IntrusiveRefCntPtr<DiagnosticIDs> DiagID{
|
||||||
CI.getDiagnostics().getDiagnosticIDs()};
|
CI.getDiagnostics().getDiagnosticIDs()};
|
||||||
IntrusiveRefCntPtr<DiagnosticsEngine> Diags(
|
auto Diags = llvm::makeIntrusiveRefCnt<DiagnosticsEngine>(DiagID, *DiagOpts,
|
||||||
new DiagnosticsEngine{DiagID, *DiagOpts, DiagClient});
|
DiagClient);
|
||||||
|
|
||||||
return ASTUnit::LoadFromCommandLine(
|
return ASTUnit::LoadFromCommandLine(
|
||||||
CommandLineArgs.begin(), (CommandLineArgs.end()),
|
CommandLineArgs.begin(), (CommandLineArgs.end()),
|
||||||
|
@ -41,10 +41,10 @@ void ASTMergeAction::ExecuteAction() {
|
|||||||
auto SharedState = std::make_shared<ASTImporterSharedState>(
|
auto SharedState = std::make_shared<ASTImporterSharedState>(
|
||||||
*CI.getASTContext().getTranslationUnitDecl());
|
*CI.getASTContext().getTranslationUnitDecl());
|
||||||
for (unsigned I = 0, N = ASTFiles.size(); I != N; ++I) {
|
for (unsigned I = 0, N = ASTFiles.size(); I != N; ++I) {
|
||||||
IntrusiveRefCntPtr<DiagnosticsEngine> Diags(new DiagnosticsEngine(
|
auto Diags = llvm::makeIntrusiveRefCnt<DiagnosticsEngine>(
|
||||||
DiagIDs, CI.getDiagnosticOpts(),
|
DiagIDs, CI.getDiagnosticOpts(),
|
||||||
new ForwardingDiagnosticConsumer(*CI.getDiagnostics().getClient()),
|
new ForwardingDiagnosticConsumer(*CI.getDiagnostics().getClient()),
|
||||||
/*ShouldOwnClient=*/true));
|
/*ShouldOwnClient=*/true);
|
||||||
std::unique_ptr<ASTUnit> Unit = ASTUnit::LoadFromASTFile(
|
std::unique_ptr<ASTUnit> Unit = ASTUnit::LoadFromASTFile(
|
||||||
ASTFiles[I], CI.getPCHContainerReader(), ASTUnit::LoadEverything,
|
ASTFiles[I], CI.getPCHContainerReader(), ASTUnit::LoadEverything,
|
||||||
nullptr, Diags, CI.getFileSystemOpts(), CI.getHeaderSearchOpts());
|
nullptr, Diags, CI.getFileSystemOpts(), CI.getHeaderSearchOpts());
|
||||||
|
@ -1204,7 +1204,7 @@ bool ASTUnit::Parse(std::shared_ptr<PCHContainerOperations> PCHContainerOps,
|
|||||||
|
|
||||||
// Set up diagnostics, capturing any diagnostics that would
|
// Set up diagnostics, capturing any diagnostics that would
|
||||||
// otherwise be dropped.
|
// otherwise be dropped.
|
||||||
Clang->setDiagnostics(&getDiagnostics());
|
Clang->setDiagnostics(getDiagnosticsPtr());
|
||||||
|
|
||||||
// Create the target instance.
|
// Create the target instance.
|
||||||
if (!Clang->createTarget())
|
if (!Clang->createTarget())
|
||||||
@ -1424,7 +1424,7 @@ ASTUnit::getMainBufferWithPrecompiledPreamble(
|
|||||||
PreambleInvocationIn.getFrontendOpts().SkipFunctionBodies = true;
|
PreambleInvocationIn.getFrontendOpts().SkipFunctionBodies = true;
|
||||||
|
|
||||||
llvm::ErrorOr<PrecompiledPreamble> NewPreamble = PrecompiledPreamble::Build(
|
llvm::ErrorOr<PrecompiledPreamble> NewPreamble = PrecompiledPreamble::Build(
|
||||||
PreambleInvocationIn, MainFileBuffer.get(), Bounds, *Diagnostics, VFS,
|
PreambleInvocationIn, MainFileBuffer.get(), Bounds, Diagnostics, VFS,
|
||||||
PCHContainerOps, StorePreamblesInMemory, PreambleStoragePath,
|
PCHContainerOps, StorePreamblesInMemory, PreambleStoragePath,
|
||||||
Callbacks);
|
Callbacks);
|
||||||
|
|
||||||
@ -1624,7 +1624,7 @@ ASTUnit *ASTUnit::LoadFromCompilerInvocationAction(
|
|||||||
|
|
||||||
// Set up diagnostics, capturing any diagnostics that would
|
// Set up diagnostics, capturing any diagnostics that would
|
||||||
// otherwise be dropped.
|
// otherwise be dropped.
|
||||||
Clang->setDiagnostics(&AST->getDiagnostics());
|
Clang->setDiagnostics(AST->getDiagnosticsPtr());
|
||||||
|
|
||||||
// Create the target instance.
|
// Create the target instance.
|
||||||
if (!Clang->createTarget())
|
if (!Clang->createTarget())
|
||||||
@ -2209,8 +2209,9 @@ void ASTUnit::CodeComplete(
|
|||||||
bool IncludeCodePatterns, bool IncludeBriefComments,
|
bool IncludeCodePatterns, bool IncludeBriefComments,
|
||||||
CodeCompleteConsumer &Consumer,
|
CodeCompleteConsumer &Consumer,
|
||||||
std::shared_ptr<PCHContainerOperations> PCHContainerOps,
|
std::shared_ptr<PCHContainerOperations> PCHContainerOps,
|
||||||
DiagnosticsEngine &Diag, LangOptions &LangOpts, SourceManager &SourceMgr,
|
llvm::IntrusiveRefCntPtr<DiagnosticsEngine> Diag, LangOptions &LangOpts,
|
||||||
FileManager &FileMgr, SmallVectorImpl<StoredDiagnostic> &StoredDiagnostics,
|
SourceManager &SourceMgr, FileManager &FileMgr,
|
||||||
|
SmallVectorImpl<StoredDiagnostic> &StoredDiagnostics,
|
||||||
SmallVectorImpl<const llvm::MemoryBuffer *> &OwnedBuffers,
|
SmallVectorImpl<const llvm::MemoryBuffer *> &OwnedBuffers,
|
||||||
std::unique_ptr<SyntaxOnlyAction> Act) {
|
std::unique_ptr<SyntaxOnlyAction> Act) {
|
||||||
if (!Invocation)
|
if (!Invocation)
|
||||||
@ -2259,11 +2260,11 @@ void ASTUnit::CodeComplete(
|
|||||||
std::string(Clang->getFrontendOpts().Inputs[0].getFile());
|
std::string(Clang->getFrontendOpts().Inputs[0].getFile());
|
||||||
|
|
||||||
// Set up diagnostics, capturing any diagnostics produced.
|
// Set up diagnostics, capturing any diagnostics produced.
|
||||||
Clang->setDiagnostics(&Diag);
|
Clang->setDiagnostics(Diag);
|
||||||
CaptureDroppedDiagnostics Capture(CaptureDiagsKind::All,
|
CaptureDroppedDiagnostics Capture(CaptureDiagsKind::All,
|
||||||
Clang->getDiagnostics(),
|
Clang->getDiagnostics(),
|
||||||
&StoredDiagnostics, nullptr);
|
&StoredDiagnostics, nullptr);
|
||||||
ProcessWarningOptions(Diag, Inv.getDiagnosticOpts(),
|
ProcessWarningOptions(*Diag, Inv.getDiagnosticOpts(),
|
||||||
FileMgr.getVirtualFileSystem());
|
FileMgr.getVirtualFileSystem());
|
||||||
|
|
||||||
// Create the target instance.
|
// Create the target instance.
|
||||||
|
@ -118,13 +118,12 @@ IntrusiveRefCntPtr<ExternalSemaSource> clang::createChainedIncludesSource(
|
|||||||
|
|
||||||
TextDiagnosticPrinter *DiagClient =
|
TextDiagnosticPrinter *DiagClient =
|
||||||
new TextDiagnosticPrinter(llvm::errs(), CI.getDiagnosticOpts());
|
new TextDiagnosticPrinter(llvm::errs(), CI.getDiagnosticOpts());
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
auto Diags = llvm::makeIntrusiveRefCnt<DiagnosticsEngine>(
|
||||||
IntrusiveRefCntPtr<DiagnosticsEngine> Diags(
|
DiagnosticIDs::create(), CI.getDiagnosticOpts(), DiagClient);
|
||||||
new DiagnosticsEngine(DiagID, CI.getDiagnosticOpts(), DiagClient));
|
|
||||||
|
|
||||||
auto Clang = std::make_unique<CompilerInstance>(
|
auto Clang = std::make_unique<CompilerInstance>(
|
||||||
std::move(CInvok), CI.getPCHContainerOperations());
|
std::move(CInvok), CI.getPCHContainerOperations());
|
||||||
Clang->setDiagnostics(Diags.get());
|
Clang->setDiagnostics(Diags);
|
||||||
Clang->setTarget(TargetInfo::CreateTargetInfo(
|
Clang->setTarget(TargetInfo::CreateTargetInfo(
|
||||||
Clang->getDiagnostics(), Clang->getInvocation().getTargetOpts()));
|
Clang->getDiagnostics(), Clang->getInvocation().getTargetOpts()));
|
||||||
Clang->createFileManager();
|
Clang->createFileManager();
|
||||||
|
@ -87,8 +87,9 @@ bool CompilerInstance::shouldBuildGlobalModuleIndex() const {
|
|||||||
!DisableGeneratingGlobalModuleIndex;
|
!DisableGeneratingGlobalModuleIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CompilerInstance::setDiagnostics(DiagnosticsEngine *Value) {
|
void CompilerInstance::setDiagnostics(
|
||||||
Diagnostics = Value;
|
llvm::IntrusiveRefCntPtr<DiagnosticsEngine> Value) {
|
||||||
|
Diagnostics = std::move(Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CompilerInstance::setVerboseOutputStream(raw_ostream &Value) {
|
void CompilerInstance::setVerboseOutputStream(raw_ostream &Value) {
|
||||||
@ -345,9 +346,8 @@ IntrusiveRefCntPtr<DiagnosticsEngine> CompilerInstance::createDiagnostics(
|
|||||||
llvm::vfs::FileSystem &VFS, DiagnosticOptions &Opts,
|
llvm::vfs::FileSystem &VFS, DiagnosticOptions &Opts,
|
||||||
DiagnosticConsumer *Client, bool ShouldOwnClient,
|
DiagnosticConsumer *Client, bool ShouldOwnClient,
|
||||||
const CodeGenOptions *CodeGenOpts) {
|
const CodeGenOptions *CodeGenOpts) {
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
auto Diags = llvm::makeIntrusiveRefCnt<DiagnosticsEngine>(
|
||||||
IntrusiveRefCntPtr<DiagnosticsEngine> Diags(
|
DiagnosticIDs::create(), Opts);
|
||||||
new DiagnosticsEngine(DiagID, Opts));
|
|
||||||
|
|
||||||
// Create the diagnostic client for reporting errors or for
|
// Create the diagnostic client for reporting errors or for
|
||||||
// implementing -verify.
|
// implementing -verify.
|
||||||
|
@ -826,7 +826,7 @@ static bool RoundTrip(ParseFn Parse, GenerateFn Generate,
|
|||||||
|
|
||||||
// Setup a dummy DiagnosticsEngine.
|
// Setup a dummy DiagnosticsEngine.
|
||||||
DiagnosticOptions DummyDiagOpts;
|
DiagnosticOptions DummyDiagOpts;
|
||||||
DiagnosticsEngine DummyDiags(new DiagnosticIDs(), DummyDiagOpts);
|
DiagnosticsEngine DummyDiags(DiagnosticIDs::create(), DummyDiagOpts);
|
||||||
DummyDiags.setClient(new TextDiagnosticBuffer());
|
DummyDiags.setClient(new TextDiagnosticBuffer());
|
||||||
|
|
||||||
// Run the first parse on the original arguments with the dummy invocation and
|
// Run the first parse on the original arguments with the dummy invocation and
|
||||||
@ -2685,7 +2685,7 @@ bool clang::ParseDiagnosticArgs(DiagnosticOptions &Opts, ArgList &Args,
|
|||||||
std::optional<DiagnosticsEngine> IgnoringDiags;
|
std::optional<DiagnosticsEngine> IgnoringDiags;
|
||||||
if (!Diags) {
|
if (!Diags) {
|
||||||
IgnoringDiagOpts.emplace();
|
IgnoringDiagOpts.emplace();
|
||||||
IgnoringDiags.emplace(new DiagnosticIDs(), *IgnoringDiagOpts,
|
IgnoringDiags.emplace(DiagnosticIDs::create(), *IgnoringDiagOpts,
|
||||||
new IgnoringDiagConsumer());
|
new IgnoringDiagConsumer());
|
||||||
Diags = &*IgnoringDiags;
|
Diags = &*IgnoringDiags;
|
||||||
}
|
}
|
||||||
|
@ -763,11 +763,11 @@ bool FrontendAction::BeginSourceFile(CompilerInstance &CI,
|
|||||||
// If we're replaying the build of an AST file, import it and set up
|
// If we're replaying the build of an AST file, import it and set up
|
||||||
// the initial state from its build.
|
// the initial state from its build.
|
||||||
if (ReplayASTFile) {
|
if (ReplayASTFile) {
|
||||||
IntrusiveRefCntPtr<DiagnosticsEngine> Diags(&CI.getDiagnostics());
|
IntrusiveRefCntPtr<DiagnosticsEngine> Diags = CI.getDiagnosticsPtr();
|
||||||
|
|
||||||
// The AST unit populates its own diagnostics engine rather than ours.
|
// The AST unit populates its own diagnostics engine rather than ours.
|
||||||
IntrusiveRefCntPtr<DiagnosticsEngine> ASTDiags(new DiagnosticsEngine(
|
auto ASTDiags = llvm::makeIntrusiveRefCnt<DiagnosticsEngine>(
|
||||||
Diags->getDiagnosticIDs(), Diags->getDiagnosticOptions()));
|
Diags->getDiagnosticIDs(), Diags->getDiagnosticOptions());
|
||||||
ASTDiags->setClient(Diags->getClient(), /*OwnsClient*/false);
|
ASTDiags->setClient(Diags->getClient(), /*OwnsClient*/false);
|
||||||
|
|
||||||
// FIXME: What if the input is a memory buffer?
|
// FIXME: What if the input is a memory buffer?
|
||||||
@ -835,7 +835,7 @@ bool FrontendAction::BeginSourceFile(CompilerInstance &CI,
|
|||||||
assert(hasASTFileSupport() &&
|
assert(hasASTFileSupport() &&
|
||||||
"This action does not have AST file support!");
|
"This action does not have AST file support!");
|
||||||
|
|
||||||
IntrusiveRefCntPtr<DiagnosticsEngine> Diags(&CI.getDiagnostics());
|
IntrusiveRefCntPtr<DiagnosticsEngine> Diags = CI.getDiagnosticsPtr();
|
||||||
|
|
||||||
// FIXME: What if the input is a memory buffer?
|
// FIXME: What if the input is a memory buffer?
|
||||||
StringRef InputFile = Input.getFile();
|
StringRef InputFile = Input.getFile();
|
||||||
|
@ -412,7 +412,7 @@ PrecompiledPreamble::operator=(PrecompiledPreamble &&) = default;
|
|||||||
llvm::ErrorOr<PrecompiledPreamble> PrecompiledPreamble::Build(
|
llvm::ErrorOr<PrecompiledPreamble> PrecompiledPreamble::Build(
|
||||||
const CompilerInvocation &Invocation,
|
const CompilerInvocation &Invocation,
|
||||||
const llvm::MemoryBuffer *MainFileBuffer, PreambleBounds Bounds,
|
const llvm::MemoryBuffer *MainFileBuffer, PreambleBounds Bounds,
|
||||||
DiagnosticsEngine &Diagnostics,
|
IntrusiveRefCntPtr<DiagnosticsEngine> Diagnostics,
|
||||||
IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS,
|
IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS,
|
||||||
std::shared_ptr<PCHContainerOperations> PCHContainerOps, bool StoreInMemory,
|
std::shared_ptr<PCHContainerOperations> PCHContainerOps, bool StoreInMemory,
|
||||||
StringRef StoragePath, PreambleCallbacks &Callbacks) {
|
StringRef StoragePath, PreambleCallbacks &Callbacks) {
|
||||||
@ -461,7 +461,7 @@ llvm::ErrorOr<PrecompiledPreamble> PrecompiledPreamble::Build(
|
|||||||
llvm::CrashRecoveryContextCleanupRegistrar<CompilerInstance> CICleanup(
|
llvm::CrashRecoveryContextCleanupRegistrar<CompilerInstance> CICleanup(
|
||||||
Clang.get());
|
Clang.get());
|
||||||
|
|
||||||
Clang->setDiagnostics(&Diagnostics);
|
Clang->setDiagnostics(Diagnostics);
|
||||||
|
|
||||||
// Create the target instance.
|
// Create the target instance.
|
||||||
if (!Clang->createTarget())
|
if (!Clang->createTarget())
|
||||||
@ -476,18 +476,18 @@ llvm::ErrorOr<PrecompiledPreamble> PrecompiledPreamble::Build(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Clear out old caches and data.
|
// Clear out old caches and data.
|
||||||
Diagnostics.Reset();
|
Diagnostics->Reset();
|
||||||
ProcessWarningOptions(Diagnostics, Clang->getDiagnosticOpts(), *VFS);
|
ProcessWarningOptions(*Diagnostics, Clang->getDiagnosticOpts(), *VFS);
|
||||||
|
|
||||||
VFS =
|
VFS = createVFSFromCompilerInvocation(Clang->getInvocation(), *Diagnostics,
|
||||||
createVFSFromCompilerInvocation(Clang->getInvocation(), Diagnostics, VFS);
|
VFS);
|
||||||
|
|
||||||
// Create a file manager object to provide access to and cache the filesystem.
|
// Create a file manager object to provide access to and cache the filesystem.
|
||||||
Clang->setFileManager(new FileManager(Clang->getFileSystemOpts(), VFS));
|
Clang->setFileManager(new FileManager(Clang->getFileSystemOpts(), VFS));
|
||||||
|
|
||||||
// Create the source manager.
|
// Create the source manager.
|
||||||
Clang->setSourceManager(
|
Clang->setSourceManager(
|
||||||
new SourceManager(Diagnostics, Clang->getFileManager()));
|
new SourceManager(*Diagnostics, Clang->getFileManager()));
|
||||||
|
|
||||||
auto PreambleDepCollector = std::make_shared<PreambleDependencyCollector>();
|
auto PreambleDepCollector = std::make_shared<PreambleDependencyCollector>();
|
||||||
Clang->addDependencyCollector(PreambleDepCollector);
|
Clang->addDependencyCollector(PreambleDepCollector);
|
||||||
|
@ -753,10 +753,9 @@ DiagnosticsEngine *SDiagsWriter::getMetaDiags() {
|
|||||||
// to be distinct from the engine the writer was being added to and would
|
// to be distinct from the engine the writer was being added to and would
|
||||||
// normally not be used.
|
// normally not be used.
|
||||||
if (!State->MetaDiagnostics) {
|
if (!State->MetaDiagnostics) {
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> IDs(new DiagnosticIDs());
|
|
||||||
auto Client = new TextDiagnosticPrinter(llvm::errs(), State->DiagOpts);
|
auto Client = new TextDiagnosticPrinter(llvm::errs(), State->DiagOpts);
|
||||||
State->MetaDiagnostics =
|
State->MetaDiagnostics = std::make_unique<DiagnosticsEngine>(
|
||||||
std::make_unique<DiagnosticsEngine>(IDs, State->DiagOpts, Client);
|
DiagnosticIDs::create(), State->DiagOpts, Client);
|
||||||
}
|
}
|
||||||
return State->MetaDiagnostics.get();
|
return State->MetaDiagnostics.get();
|
||||||
}
|
}
|
||||||
|
@ -380,7 +380,7 @@ void ReplCodeCompleter::codeComplete(CompilerInstance *InterpCI,
|
|||||||
AU->setOwnsRemappedFileBuffers(false);
|
AU->setOwnsRemappedFileBuffers(false);
|
||||||
AU->CodeComplete(CodeCompletionFileName, 1, Col, RemappedFiles, false, false,
|
AU->CodeComplete(CodeCompletionFileName, 1, Col, RemappedFiles, false, false,
|
||||||
false, consumer,
|
false, consumer,
|
||||||
std::make_shared<clang::PCHContainerOperations>(), *diag,
|
std::make_shared<clang::PCHContainerOperations>(), diag,
|
||||||
InterpCI->getLangOpts(), AU->getSourceManager(),
|
InterpCI->getLangOpts(), AU->getSourceManager(),
|
||||||
AU->getFileManager(), sd, tb, std::move(Act));
|
AU->getFileManager(), sd, tb, std::move(Act));
|
||||||
}
|
}
|
||||||
|
@ -86,7 +86,6 @@ GetCC1Arguments(DiagnosticsEngine *Diagnostics,
|
|||||||
static llvm::Expected<std::unique_ptr<CompilerInstance>>
|
static llvm::Expected<std::unique_ptr<CompilerInstance>>
|
||||||
CreateCI(const llvm::opt::ArgStringList &Argv) {
|
CreateCI(const llvm::opt::ArgStringList &Argv) {
|
||||||
std::unique_ptr<CompilerInstance> Clang(new CompilerInstance());
|
std::unique_ptr<CompilerInstance> Clang(new CompilerInstance());
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
|
||||||
|
|
||||||
// Register the support for object-file-wrapped Clang modules.
|
// Register the support for object-file-wrapped Clang modules.
|
||||||
// FIXME: Clang should register these container operations automatically.
|
// FIXME: Clang should register these container operations automatically.
|
||||||
@ -98,7 +97,7 @@ CreateCI(const llvm::opt::ArgStringList &Argv) {
|
|||||||
// a well formed diagnostic object.
|
// a well formed diagnostic object.
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
TextDiagnosticBuffer *DiagsBuffer = new TextDiagnosticBuffer;
|
TextDiagnosticBuffer *DiagsBuffer = new TextDiagnosticBuffer;
|
||||||
DiagnosticsEngine Diags(DiagID, DiagOpts, DiagsBuffer);
|
DiagnosticsEngine Diags(DiagnosticIDs::create(), DiagOpts, DiagsBuffer);
|
||||||
bool Success = CompilerInvocation::CreateFromArgs(
|
bool Success = CompilerInvocation::CreateFromArgs(
|
||||||
Clang->getInvocation(), llvm::ArrayRef(Argv.begin(), Argv.size()), Diags);
|
Clang->getInvocation(), llvm::ArrayRef(Argv.begin(), Argv.size()), Diags);
|
||||||
|
|
||||||
@ -174,11 +173,10 @@ IncrementalCompilerBuilder::create(std::string TT,
|
|||||||
|
|
||||||
// Buffer diagnostics from argument parsing so that we can output them using a
|
// Buffer diagnostics from argument parsing so that we can output them using a
|
||||||
// well formed diagnostic object.
|
// well formed diagnostic object.
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
|
||||||
std::unique_ptr<DiagnosticOptions> DiagOpts =
|
std::unique_ptr<DiagnosticOptions> DiagOpts =
|
||||||
CreateAndPopulateDiagOpts(ClangArgv);
|
CreateAndPopulateDiagOpts(ClangArgv);
|
||||||
TextDiagnosticBuffer *DiagsBuffer = new TextDiagnosticBuffer;
|
TextDiagnosticBuffer *DiagsBuffer = new TextDiagnosticBuffer;
|
||||||
DiagnosticsEngine Diags(DiagID, *DiagOpts, DiagsBuffer);
|
DiagnosticsEngine Diags(DiagnosticIDs::create(), *DiagOpts, DiagsBuffer);
|
||||||
|
|
||||||
driver::Driver Driver(/*MainBinaryName=*/ClangArgv[0], TT, Diags);
|
driver::Driver Driver(/*MainBinaryName=*/ClangArgv[0], TT, Diags);
|
||||||
Driver.setCheckInputsExist(false); // the input comes from mem buffers
|
Driver.setCheckInputsExist(false); // the input comes from mem buffers
|
||||||
|
@ -677,8 +677,7 @@ bool PCHValidator::ReadDiagnosticOptions(DiagnosticOptions &DiagOpts,
|
|||||||
bool Complain) {
|
bool Complain) {
|
||||||
DiagnosticsEngine &ExistingDiags = PP.getDiagnostics();
|
DiagnosticsEngine &ExistingDiags = PP.getDiagnostics();
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagIDs(ExistingDiags.getDiagnosticIDs());
|
IntrusiveRefCntPtr<DiagnosticIDs> DiagIDs(ExistingDiags.getDiagnosticIDs());
|
||||||
IntrusiveRefCntPtr<DiagnosticsEngine> Diags(
|
auto Diags = llvm::makeIntrusiveRefCnt<DiagnosticsEngine>(DiagIDs, DiagOpts);
|
||||||
new DiagnosticsEngine(DiagIDs, DiagOpts));
|
|
||||||
// This should never fail, because we would have processed these options
|
// This should never fail, because we would have processed these options
|
||||||
// before writing them to an ASTFile.
|
// before writing them to an ASTFile.
|
||||||
ProcessWarningOptions(*Diags, DiagOpts,
|
ProcessWarningOptions(*Diags, DiagOpts,
|
||||||
|
@ -241,9 +241,8 @@ static bool stripPositionalArgs(std::vector<const char *> Args,
|
|||||||
llvm::raw_string_ostream Output(ErrorMsg);
|
llvm::raw_string_ostream Output(ErrorMsg);
|
||||||
TextDiagnosticPrinter DiagnosticPrinter(Output, DiagOpts);
|
TextDiagnosticPrinter DiagnosticPrinter(Output, DiagOpts);
|
||||||
UnusedInputDiagConsumer DiagClient(DiagnosticPrinter);
|
UnusedInputDiagConsumer DiagClient(DiagnosticPrinter);
|
||||||
DiagnosticsEngine Diagnostics(
|
DiagnosticsEngine Diagnostics(DiagnosticIDs::create(), DiagOpts, &DiagClient,
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs()), DiagOpts,
|
false);
|
||||||
&DiagClient, false);
|
|
||||||
|
|
||||||
// The clang executable path isn't required since the jobs the driver builds
|
// The clang executable path isn't required since the jobs the driver builds
|
||||||
// will not be executed.
|
// will not be executed.
|
||||||
|
@ -585,8 +585,7 @@ llvm::Expected<std::string> applyAllReplacements(StringRef Code,
|
|||||||
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
||||||
FileManager Files(FileSystemOptions(), InMemoryFileSystem);
|
FileManager Files(FileSystemOptions(), InMemoryFileSystem);
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diagnostics(
|
DiagnosticsEngine Diagnostics(DiagnosticIDs::create(), DiagOpts);
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs), DiagOpts);
|
|
||||||
SourceManager SourceMgr(Diagnostics, Files);
|
SourceManager SourceMgr(Diagnostics, Files);
|
||||||
Rewriter Rewrite(SourceMgr, LangOptions());
|
Rewriter Rewrite(SourceMgr, LangOptions());
|
||||||
InMemoryFileSystem->addFile(
|
InMemoryFileSystem->addFile(
|
||||||
|
@ -39,9 +39,8 @@ int RefactoringTool::runAndSave(FrontendActionFactory *ActionFactory) {
|
|||||||
LangOptions DefaultLangOptions;
|
LangOptions DefaultLangOptions;
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
TextDiagnosticPrinter DiagnosticPrinter(llvm::errs(), DiagOpts);
|
TextDiagnosticPrinter DiagnosticPrinter(llvm::errs(), DiagOpts);
|
||||||
DiagnosticsEngine Diagnostics(
|
DiagnosticsEngine Diagnostics(DiagnosticIDs::create(), DiagOpts,
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs()), DiagOpts,
|
&DiagnosticPrinter, false);
|
||||||
&DiagnosticPrinter, false);
|
|
||||||
SourceManager Sources(Diagnostics, getFiles());
|
SourceManager Sources(Diagnostics, getFiles());
|
||||||
Rewriter Rewrite(Sources, DefaultLangOptions);
|
Rewriter Rewrite(Sources, DefaultLangOptions);
|
||||||
|
|
||||||
|
@ -134,10 +134,9 @@ GetDiagnosticsEngine(DiagnosticOptions &DiagOpts) {
|
|||||||
TextDiagnosticPrinter *DiagClient =
|
TextDiagnosticPrinter *DiagClient =
|
||||||
new TextDiagnosticPrinter(llvm::errs(), DiagOpts);
|
new TextDiagnosticPrinter(llvm::errs(), DiagOpts);
|
||||||
DiagClient->setPrefix("clang-extdef-mappping");
|
DiagClient->setPrefix("clang-extdef-mappping");
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
|
||||||
|
|
||||||
IntrusiveRefCntPtr<DiagnosticsEngine> DiagEngine(
|
auto DiagEngine = llvm::makeIntrusiveRefCnt<DiagnosticsEngine>(
|
||||||
new DiagnosticsEngine(DiagID, DiagOpts, DiagClient));
|
DiagnosticIDs::create(), DiagOpts, DiagClient);
|
||||||
Diags.swap(DiagEngine);
|
Diags.swap(DiagEngine);
|
||||||
|
|
||||||
// Retain this one time so it's not destroyed by ASTUnit::LoadFromASTFile
|
// Retain this one time so it's not destroyed by ASTUnit::LoadFromASTFile
|
||||||
|
@ -241,8 +241,7 @@ static bool fillRanges(MemoryBuffer *Code,
|
|||||||
makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
||||||
FileManager Files(FileSystemOptions(), InMemoryFileSystem);
|
FileManager Files(FileSystemOptions(), InMemoryFileSystem);
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diagnostics(
|
DiagnosticsEngine Diagnostics(DiagnosticIDs::create(), DiagOpts);
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs), DiagOpts);
|
|
||||||
SourceManager Sources(Diagnostics, Files);
|
SourceManager Sources(Diagnostics, Files);
|
||||||
const auto ID = createInMemoryFile("<irrelevant>", *Code, Sources, Files,
|
const auto ID = createInMemoryFile("<irrelevant>", *Code, Sources, Files,
|
||||||
InMemoryFileSystem.get());
|
InMemoryFileSystem.get());
|
||||||
@ -517,9 +516,8 @@ static bool format(StringRef FileName, bool ErrorOnIncompleteFormat = false) {
|
|||||||
|
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
ClangFormatDiagConsumer IgnoreDiagnostics;
|
ClangFormatDiagConsumer IgnoreDiagnostics;
|
||||||
DiagnosticsEngine Diagnostics(
|
DiagnosticsEngine Diagnostics(DiagnosticIDs::create(), DiagOpts,
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs), DiagOpts,
|
&IgnoreDiagnostics, false);
|
||||||
&IgnoreDiagnostics, false);
|
|
||||||
SourceManager Sources(Diagnostics, Files);
|
SourceManager Sources(Diagnostics, Files);
|
||||||
FileID ID = createInMemoryFile(AssumedFileName, *Code, Sources, Files,
|
FileID ID = createInMemoryFile(AssumedFileName, *Code, Sources, Files,
|
||||||
InMemoryFileSystem.get());
|
InMemoryFileSystem.get());
|
||||||
|
@ -33,9 +33,8 @@ void clang_fuzzer::HandleCXX(const std::string &S,
|
|||||||
new FileManager(FileSystemOptions()));
|
new FileManager(FileSystemOptions()));
|
||||||
IgnoringDiagConsumer Diags;
|
IgnoringDiagConsumer Diags;
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diagnostics(
|
DiagnosticsEngine Diagnostics(DiagnosticIDs::create(), DiagOpts, &Diags,
|
||||||
IntrusiveRefCntPtr<clang::DiagnosticIDs>(new DiagnosticIDs()), DiagOpts,
|
false);
|
||||||
&Diags, false);
|
|
||||||
std::unique_ptr<clang::CompilerInvocation> Invocation(
|
std::unique_ptr<clang::CompilerInvocation> Invocation(
|
||||||
tooling::newInvocation(&Diagnostics, CC1Args, /*BinaryName=*/nullptr));
|
tooling::newInvocation(&Diagnostics, CC1Args, /*BinaryName=*/nullptr));
|
||||||
std::unique_ptr<llvm::MemoryBuffer> Input =
|
std::unique_ptr<llvm::MemoryBuffer> Input =
|
||||||
@ -49,4 +48,3 @@ void clang_fuzzer::HandleCXX(const std::string &S,
|
|||||||
action->runInvocation(std::move(Invocation), Files.get(), PCHContainerOps,
|
action->runInvocation(std::move(Invocation), Files.get(), PCHContainerOps,
|
||||||
&Diags);
|
&Diags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,8 +77,8 @@ static bool run(ArrayRef<const char *> Args, const char *ProgName) {
|
|||||||
ArrayRef(Args).slice(1), MissingArgIndex, MissingArgCount);
|
ArrayRef(Args).slice(1), MissingArgIndex, MissingArgCount);
|
||||||
ParseDiagnosticArgs(DiagOpts, ParsedArgs);
|
ParseDiagnosticArgs(DiagOpts, ParsedArgs);
|
||||||
|
|
||||||
IntrusiveRefCntPtr<DiagnosticsEngine> Diag = new clang::DiagnosticsEngine(
|
auto Diag = llvm::makeIntrusiveRefCnt<clang::DiagnosticsEngine>(
|
||||||
new clang::DiagnosticIDs(), DiagOpts,
|
clang::DiagnosticIDs::create(), DiagOpts,
|
||||||
new clang::TextDiagnosticPrinter(llvm::errs(), DiagOpts));
|
new clang::TextDiagnosticPrinter(llvm::errs(), DiagOpts));
|
||||||
|
|
||||||
// Create file manager for all file operations and holding in-memory generated
|
// Create file manager for all file operations and holding in-memory generated
|
||||||
|
@ -55,7 +55,6 @@ static char getCharForLevel(DiagnosticsEngine::Level Level) {
|
|||||||
|
|
||||||
static IntrusiveRefCntPtr<DiagnosticsEngine>
|
static IntrusiveRefCntPtr<DiagnosticsEngine>
|
||||||
createDiagnostics(unsigned int argc, char **argv) {
|
createDiagnostics(unsigned int argc, char **argv) {
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagIDs(new DiagnosticIDs());
|
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
|
|
||||||
// Buffer diagnostics from argument parsing so that we can output them using a
|
// Buffer diagnostics from argument parsing so that we can output them using a
|
||||||
@ -67,7 +66,8 @@ createDiagnostics(unsigned int argc, char **argv) {
|
|||||||
Args.push_back("diagtool");
|
Args.push_back("diagtool");
|
||||||
Args.append(argv, argv + argc);
|
Args.append(argv, argv + argc);
|
||||||
CreateInvocationOptions CIOpts;
|
CreateInvocationOptions CIOpts;
|
||||||
CIOpts.Diags = new DiagnosticsEngine(DiagIDs, DiagOpts, DiagsBuffer);
|
CIOpts.Diags = llvm::makeIntrusiveRefCnt<DiagnosticsEngine>(
|
||||||
|
DiagnosticIDs::create(), DiagOpts, DiagsBuffer);
|
||||||
std::unique_ptr<CompilerInvocation> Invocation =
|
std::unique_ptr<CompilerInvocation> Invocation =
|
||||||
createInvocation(Args, CIOpts);
|
createInvocation(Args, CIOpts);
|
||||||
if (!Invocation)
|
if (!Invocation)
|
||||||
|
@ -32,7 +32,7 @@ public:
|
|||||||
static bool isIgnored(unsigned DiagID) {
|
static bool isIgnored(unsigned DiagID) {
|
||||||
// FIXME: This feels like a hack.
|
// FIXME: This feels like a hack.
|
||||||
static DiagnosticOptions DiagOpts;
|
static DiagnosticOptions DiagOpts;
|
||||||
static clang::DiagnosticsEngine Diags(new DiagnosticIDs, DiagOpts);
|
static clang::DiagnosticsEngine Diags(DiagnosticIDs::create(), DiagOpts);
|
||||||
return Diags.isIgnored(DiagID, SourceLocation());
|
return Diags.isIgnored(DiagID, SourceLocation());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -217,7 +217,7 @@ static int PrintEnabledExtensions(const TargetOptions& TargetOpts) {
|
|||||||
int cc1_main(ArrayRef<const char *> Argv, const char *Argv0, void *MainAddr) {
|
int cc1_main(ArrayRef<const char *> Argv, const char *Argv0, void *MainAddr) {
|
||||||
ensureSufficientStack();
|
ensureSufficientStack();
|
||||||
|
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
IntrusiveRefCntPtr<DiagnosticIDs> DiagID = DiagnosticIDs::create();
|
||||||
|
|
||||||
// Register the support for object-file-wrapped Clang modules.
|
// Register the support for object-file-wrapped Clang modules.
|
||||||
auto PCHOps = std::make_shared<PCHContainerOperations>();
|
auto PCHOps = std::make_shared<PCHContainerOperations>();
|
||||||
|
@ -662,8 +662,7 @@ int cc1as_main(ArrayRef<const char *> Argv, const char *Argv0, void *MainAddr) {
|
|||||||
TextDiagnosticPrinter *DiagClient =
|
TextDiagnosticPrinter *DiagClient =
|
||||||
new TextDiagnosticPrinter(errs(), DiagOpts);
|
new TextDiagnosticPrinter(errs(), DiagOpts);
|
||||||
DiagClient->setPrefix("clang -cc1as");
|
DiagClient->setPrefix("clang -cc1as");
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
DiagnosticsEngine Diags(DiagnosticIDs::create(), DiagOpts, DiagClient);
|
||||||
DiagnosticsEngine Diags(DiagID, DiagOpts, DiagClient);
|
|
||||||
|
|
||||||
// Set an error handler, so that any LLVM backend diagnostics go through our
|
// Set an error handler, so that any LLVM backend diagnostics go through our
|
||||||
// error handler.
|
// error handler.
|
||||||
|
@ -119,8 +119,8 @@ generateReproducerForInvocationArguments(ArrayRef<const char *> Argv,
|
|||||||
|
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
|
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
DiagnosticsEngine Diags(DiagnosticIDs::create(), DiagOpts,
|
||||||
DiagnosticsEngine Diags(DiagID, DiagOpts, new IgnoringDiagConsumer());
|
new IgnoringDiagConsumer());
|
||||||
auto VFS = llvm::vfs::getRealFileSystem();
|
auto VFS = llvm::vfs::getRealFileSystem();
|
||||||
ProcessWarningOptions(Diags, DiagOpts, *VFS, /*ReportDiags=*/false);
|
ProcessWarningOptions(Diags, DiagOpts, *VFS, /*ReportDiags=*/false);
|
||||||
Driver TheDriver(ToolContext.Path, llvm::sys::getDefaultTargetTriple(), Diags,
|
Driver TheDriver(ToolContext.Path, llvm::sys::getDefaultTargetTriple(), Diags,
|
||||||
|
@ -331,9 +331,7 @@ int clang_main(int Argc, char **Argv, const llvm::ToolContext &ToolContext) {
|
|||||||
new TextDiagnosticPrinter(llvm::errs(), *DiagOpts);
|
new TextDiagnosticPrinter(llvm::errs(), *DiagOpts);
|
||||||
FixupDiagPrefixExeName(DiagClient, ProgName);
|
FixupDiagPrefixExeName(DiagClient, ProgName);
|
||||||
|
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
DiagnosticsEngine Diags(DiagnosticIDs::create(), *DiagOpts, DiagClient);
|
||||||
|
|
||||||
DiagnosticsEngine Diags(DiagID, *DiagOpts, DiagClient);
|
|
||||||
|
|
||||||
if (!DiagOpts->DiagnosticSerializationFile.empty()) {
|
if (!DiagOpts->DiagnosticSerializationFile.empty()) {
|
||||||
auto SerializedConsumer =
|
auto SerializedConsumer =
|
||||||
|
@ -357,8 +357,8 @@ static std::atomic<unsigned> CodeCompletionResultObjects;
|
|||||||
AllocatedCXCodeCompleteResults::AllocatedCXCodeCompleteResults(
|
AllocatedCXCodeCompleteResults::AllocatedCXCodeCompleteResults(
|
||||||
IntrusiveRefCntPtr<FileManager> FileMgr)
|
IntrusiveRefCntPtr<FileManager> FileMgr)
|
||||||
: CXCodeCompleteResults(),
|
: CXCodeCompleteResults(),
|
||||||
Diag(new DiagnosticsEngine(
|
Diag(llvm::makeIntrusiveRefCnt<DiagnosticsEngine>(DiagnosticIDs::create(),
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs), DiagOpts)),
|
DiagOpts)),
|
||||||
FileMgr(std::move(FileMgr)),
|
FileMgr(std::move(FileMgr)),
|
||||||
SourceMgr(new SourceManager(*Diag, *this->FileMgr)),
|
SourceMgr(new SourceManager(*Diag, *this->FileMgr)),
|
||||||
CodeCompletionAllocator(
|
CodeCompletionAllocator(
|
||||||
@ -763,7 +763,7 @@ clang_codeCompleteAt_Impl(CXTranslationUnit TU, const char *complete_filename,
|
|||||||
RemappedFiles, (options & CXCodeComplete_IncludeMacros),
|
RemappedFiles, (options & CXCodeComplete_IncludeMacros),
|
||||||
(options & CXCodeComplete_IncludeCodePatterns),
|
(options & CXCodeComplete_IncludeCodePatterns),
|
||||||
IncludeBriefComments, Capture,
|
IncludeBriefComments, Capture,
|
||||||
CXXIdx->getPCHContainerOperations(), *Results->Diag,
|
CXXIdx->getPCHContainerOperations(), Results->Diag,
|
||||||
Results->LangOpts, *Results->SourceMgr, *Results->FileMgr,
|
Results->LangOpts, *Results->SourceMgr, *Results->FileMgr,
|
||||||
Results->Diagnostics, Results->TemporaryBuffers,
|
Results->Diagnostics, Results->TemporaryBuffers,
|
||||||
/*SyntaxOnlyAction=*/nullptr);
|
/*SyntaxOnlyAction=*/nullptr);
|
||||||
|
@ -26,14 +26,13 @@ namespace {
|
|||||||
class ASTVectorTest : public ::testing::Test {
|
class ASTVectorTest : public ::testing::Test {
|
||||||
protected:
|
protected:
|
||||||
ASTVectorTest()
|
ASTVectorTest()
|
||||||
: FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
|
: FileMgr(FileMgrOpts),
|
||||||
Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
|
Diags(DiagnosticIDs::create(), DiagOpts, new IgnoringDiagConsumer()),
|
||||||
SourceMgr(Diags, FileMgr), Idents(LangOpts, nullptr),
|
SourceMgr(Diags, FileMgr), Idents(LangOpts, nullptr),
|
||||||
Ctxt(LangOpts, SourceMgr, Idents, Sels, Builtins, TU_Complete) {}
|
Ctxt(LangOpts, SourceMgr, Idents, Sels, Builtins, TU_Complete) {}
|
||||||
|
|
||||||
FileSystemOptions FileMgrOpts;
|
FileSystemOptions FileMgrOpts;
|
||||||
FileManager FileMgr;
|
FileManager FileMgr;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
|
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags;
|
DiagnosticsEngine Diags;
|
||||||
SourceManager SourceMgr;
|
SourceManager SourceMgr;
|
||||||
|
@ -27,13 +27,12 @@ namespace {
|
|||||||
class CommentLexerTest : public ::testing::Test {
|
class CommentLexerTest : public ::testing::Test {
|
||||||
protected:
|
protected:
|
||||||
CommentLexerTest()
|
CommentLexerTest()
|
||||||
: FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
|
: FileMgr(FileMgrOpts),
|
||||||
Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
|
Diags(DiagnosticIDs::create(), DiagOpts, new IgnoringDiagConsumer()),
|
||||||
SourceMgr(Diags, FileMgr), Traits(Allocator, CommentOptions()) {}
|
SourceMgr(Diags, FileMgr), Traits(Allocator, CommentOptions()) {}
|
||||||
|
|
||||||
FileSystemOptions FileMgrOpts;
|
FileSystemOptions FileMgrOpts;
|
||||||
FileManager FileMgr;
|
FileManager FileMgr;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
|
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags;
|
DiagnosticsEngine Diags;
|
||||||
SourceManager SourceMgr;
|
SourceManager SourceMgr;
|
||||||
@ -2006,4 +2005,3 @@ TEST_F(CommentLexerTest, MultipleComments) {
|
|||||||
|
|
||||||
} // end namespace comments
|
} // end namespace comments
|
||||||
} // end namespace clang
|
} // end namespace clang
|
||||||
|
|
||||||
|
@ -33,13 +33,12 @@ const bool MY_DEBUG = true;
|
|||||||
class CommentParserTest : public ::testing::Test {
|
class CommentParserTest : public ::testing::Test {
|
||||||
protected:
|
protected:
|
||||||
CommentParserTest()
|
CommentParserTest()
|
||||||
: FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
|
: FileMgr(FileMgrOpts),
|
||||||
Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
|
Diags(DiagnosticIDs::create(), DiagOpts, new IgnoringDiagConsumer()),
|
||||||
SourceMgr(Diags, FileMgr), Traits(Allocator, CommentOptions()) {}
|
SourceMgr(Diags, FileMgr), Traits(Allocator, CommentOptions()) {}
|
||||||
|
|
||||||
FileSystemOptions FileMgrOpts;
|
FileSystemOptions FileMgrOpts;
|
||||||
FileManager FileMgr;
|
FileManager FileMgr;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
|
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags;
|
DiagnosticsEngine Diags;
|
||||||
SourceManager SourceMgr;
|
SourceManager SourceMgr;
|
||||||
|
@ -44,7 +44,7 @@ protected:
|
|||||||
// shouldn't matter.
|
// shouldn't matter.
|
||||||
RawComment Comment(SourceMgr, CommentRange, EmptyOpts, /*Merged=*/true);
|
RawComment Comment(SourceMgr, CommentRange, EmptyOpts, /*Merged=*/true);
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags(new DiagnosticIDs, DiagOpts);
|
DiagnosticsEngine Diags(DiagnosticIDs::create(), DiagOpts);
|
||||||
return Comment.getFormattedText(SourceMgr, Diags);
|
return Comment.getFormattedText(SourceMgr, Diags);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -36,8 +36,7 @@ protected:
|
|||||||
: InMemoryFileSystem(
|
: InMemoryFileSystem(
|
||||||
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>()),
|
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>()),
|
||||||
FileMgr(FileSystemOptions(), InMemoryFileSystem),
|
FileMgr(FileSystemOptions(), InMemoryFileSystem),
|
||||||
DiagID(new DiagnosticIDs()),
|
Diags(DiagnosticIDs::create(), DiagOpts, new IgnoringDiagConsumer()),
|
||||||
Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
|
|
||||||
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions()) {
|
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions()) {
|
||||||
TargetOpts->Triple = "x86_64-pc-linux-unknown";
|
TargetOpts->Triple = "x86_64-pc-linux-unknown";
|
||||||
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
|
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
|
||||||
@ -46,7 +45,6 @@ protected:
|
|||||||
|
|
||||||
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> InMemoryFileSystem;
|
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> InMemoryFileSystem;
|
||||||
FileManager FileMgr;
|
FileManager FileMgr;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
|
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags;
|
DiagnosticsEngine Diags;
|
||||||
SourceManager SourceMgr;
|
SourceManager SourceMgr;
|
||||||
|
@ -12,13 +12,12 @@ namespace {
|
|||||||
class UnsafeBufferUsageTest : public ::testing::Test {
|
class UnsafeBufferUsageTest : public ::testing::Test {
|
||||||
protected:
|
protected:
|
||||||
UnsafeBufferUsageTest()
|
UnsafeBufferUsageTest()
|
||||||
: FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
|
: FileMgr(FileMgrOpts),
|
||||||
Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
|
Diags(DiagnosticIDs::create(), DiagOpts, new IgnoringDiagConsumer()),
|
||||||
SourceMgr(Diags, FileMgr) {}
|
SourceMgr(Diags, FileMgr) {}
|
||||||
|
|
||||||
FileSystemOptions FileMgrOpts;
|
FileSystemOptions FileMgrOpts;
|
||||||
FileManager FileMgr;
|
FileManager FileMgr;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
|
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags;
|
DiagnosticsEngine Diags;
|
||||||
SourceManager SourceMgr;
|
SourceManager SourceMgr;
|
||||||
@ -58,4 +57,4 @@ TEST_F(UnsafeBufferUsageTest, FixItHintsConflict) {
|
|||||||
|
|
||||||
Fixes = {H1, H2, H3, MkDummyHint(2, 23) /* overlaps H1, H2, and H3 */};
|
Fixes = {H1, H2, H3, MkDummyHint(2, 23) /* overlaps H1, H2, and H3 */};
|
||||||
EXPECT_TRUE(internal::anyConflict(Fixes, SourceMgr));
|
EXPECT_TRUE(internal::anyConflict(Fixes, SourceMgr));
|
||||||
}
|
}
|
||||||
|
@ -47,7 +47,7 @@ using testing::IsEmpty;
|
|||||||
// Check that DiagnosticErrorTrap works with SuppressAllDiagnostics.
|
// Check that DiagnosticErrorTrap works with SuppressAllDiagnostics.
|
||||||
TEST(DiagnosticTest, suppressAndTrap) {
|
TEST(DiagnosticTest, suppressAndTrap) {
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags(new DiagnosticIDs(), DiagOpts,
|
DiagnosticsEngine Diags(DiagnosticIDs::create(), DiagOpts,
|
||||||
new IgnoringDiagConsumer());
|
new IgnoringDiagConsumer());
|
||||||
Diags.setSuppressAllDiagnostics(true);
|
Diags.setSuppressAllDiagnostics(true);
|
||||||
|
|
||||||
@ -78,7 +78,7 @@ TEST(DiagnosticTest, suppressAndTrap) {
|
|||||||
TEST(DiagnosticTest, fatalsAsError) {
|
TEST(DiagnosticTest, fatalsAsError) {
|
||||||
for (unsigned FatalsAsError = 0; FatalsAsError != 2; ++FatalsAsError) {
|
for (unsigned FatalsAsError = 0; FatalsAsError != 2; ++FatalsAsError) {
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags(new DiagnosticIDs(), DiagOpts,
|
DiagnosticsEngine Diags(DiagnosticIDs::create(), DiagOpts,
|
||||||
new IgnoringDiagConsumer());
|
new IgnoringDiagConsumer());
|
||||||
Diags.setFatalsAsError(FatalsAsError);
|
Diags.setFatalsAsError(FatalsAsError);
|
||||||
|
|
||||||
@ -102,7 +102,7 @@ TEST(DiagnosticTest, fatalsAsError) {
|
|||||||
|
|
||||||
TEST(DiagnosticTest, tooManyErrorsIsAlwaysFatal) {
|
TEST(DiagnosticTest, tooManyErrorsIsAlwaysFatal) {
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags(new DiagnosticIDs(), DiagOpts,
|
DiagnosticsEngine Diags(DiagnosticIDs::create(), DiagOpts,
|
||||||
new IgnoringDiagConsumer());
|
new IgnoringDiagConsumer());
|
||||||
Diags.setFatalsAsError(true);
|
Diags.setFatalsAsError(true);
|
||||||
|
|
||||||
@ -119,7 +119,7 @@ TEST(DiagnosticTest, tooManyErrorsIsAlwaysFatal) {
|
|||||||
// Check that soft RESET works as intended
|
// Check that soft RESET works as intended
|
||||||
TEST(DiagnosticTest, softReset) {
|
TEST(DiagnosticTest, softReset) {
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags(new DiagnosticIDs(), DiagOpts,
|
DiagnosticsEngine Diags(DiagnosticIDs::create(), DiagOpts,
|
||||||
new IgnoringDiagConsumer());
|
new IgnoringDiagConsumer());
|
||||||
|
|
||||||
unsigned numWarnings = 0U, numErrors = 0U;
|
unsigned numWarnings = 0U, numErrors = 0U;
|
||||||
@ -143,7 +143,7 @@ TEST(DiagnosticTest, softReset) {
|
|||||||
|
|
||||||
TEST(DiagnosticTest, diagnosticError) {
|
TEST(DiagnosticTest, diagnosticError) {
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags(new DiagnosticIDs(), DiagOpts,
|
DiagnosticsEngine Diags(DiagnosticIDs::create(), DiagOpts,
|
||||||
new IgnoringDiagConsumer());
|
new IgnoringDiagConsumer());
|
||||||
PartialDiagnostic::DiagStorageAllocator Alloc;
|
PartialDiagnostic::DiagStorageAllocator Alloc;
|
||||||
llvm::Expected<std::pair<int, int>> Value = DiagnosticError::create(
|
llvm::Expected<std::pair<int, int>> Value = DiagnosticError::create(
|
||||||
@ -166,7 +166,7 @@ TEST(DiagnosticTest, diagnosticError) {
|
|||||||
|
|
||||||
TEST(DiagnosticTest, storedDiagEmptyWarning) {
|
TEST(DiagnosticTest, storedDiagEmptyWarning) {
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags(new DiagnosticIDs(), DiagOpts);
|
DiagnosticsEngine Diags(DiagnosticIDs::create(), DiagOpts);
|
||||||
|
|
||||||
class CaptureDiagnosticConsumer : public DiagnosticConsumer {
|
class CaptureDiagnosticConsumer : public DiagnosticConsumer {
|
||||||
public:
|
public:
|
||||||
@ -197,7 +197,7 @@ protected:
|
|||||||
llvm::IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> FS =
|
llvm::IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> FS =
|
||||||
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags{new DiagnosticIDs(), DiagOpts};
|
DiagnosticsEngine Diags{DiagnosticIDs::create(), DiagOpts};
|
||||||
|
|
||||||
llvm::ArrayRef<StoredDiagnostic> diags() {
|
llvm::ArrayRef<StoredDiagnostic> diags() {
|
||||||
return CaptureConsumer.StoredDiags;
|
return CaptureConsumer.StoredDiags;
|
||||||
|
@ -44,13 +44,11 @@ protected:
|
|||||||
: InMemoryFileSystem(
|
: InMemoryFileSystem(
|
||||||
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>()),
|
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>()),
|
||||||
FileMgr(FileSystemOptions(), InMemoryFileSystem),
|
FileMgr(FileSystemOptions(), InMemoryFileSystem),
|
||||||
DiagID(new DiagnosticIDs()),
|
Diags(DiagnosticIDs::create(), DiagOpts, new IgnoringDiagConsumer()),
|
||||||
Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
|
|
||||||
SourceMgr(Diags, FileMgr) {}
|
SourceMgr(Diags, FileMgr) {}
|
||||||
|
|
||||||
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> InMemoryFileSystem;
|
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> InMemoryFileSystem;
|
||||||
FileManager FileMgr;
|
FileManager FileMgr;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
|
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags;
|
DiagnosticsEngine Diags;
|
||||||
SourceManager SourceMgr;
|
SourceManager SourceMgr;
|
||||||
|
@ -40,8 +40,8 @@ namespace {
|
|||||||
class SourceManagerTest : public ::testing::Test {
|
class SourceManagerTest : public ::testing::Test {
|
||||||
protected:
|
protected:
|
||||||
SourceManagerTest()
|
SourceManagerTest()
|
||||||
: FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
|
: FileMgr(FileMgrOpts),
|
||||||
Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
|
Diags(DiagnosticIDs::create(), DiagOpts, new IgnoringDiagConsumer()),
|
||||||
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions) {
|
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions) {
|
||||||
TargetOpts->Triple = "x86_64-apple-darwin11.1.0";
|
TargetOpts->Triple = "x86_64-apple-darwin11.1.0";
|
||||||
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
|
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
|
||||||
@ -49,7 +49,6 @@ protected:
|
|||||||
|
|
||||||
FileSystemOptions FileMgrOpts;
|
FileSystemOptions FileMgrOpts;
|
||||||
FileManager FileMgr;
|
FileManager FileMgr;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
|
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags;
|
DiagnosticsEngine Diags;
|
||||||
SourceManager SourceMgr;
|
SourceManager SourceMgr;
|
||||||
|
@ -55,8 +55,6 @@ static void validateTargetProfile(
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST(DxcModeTest, TargetProfileValidation) {
|
TEST(DxcModeTest, TargetProfileValidation) {
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
|
||||||
|
|
||||||
auto InMemoryFileSystem =
|
auto InMemoryFileSystem =
|
||||||
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
||||||
|
|
||||||
@ -65,7 +63,7 @@ TEST(DxcModeTest, TargetProfileValidation) {
|
|||||||
|
|
||||||
auto *DiagConsumer = new SimpleDiagnosticConsumer;
|
auto *DiagConsumer = new SimpleDiagnosticConsumer;
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags(DiagID, DiagOpts, DiagConsumer);
|
DiagnosticsEngine Diags(DiagnosticIDs::create(), DiagOpts, DiagConsumer);
|
||||||
|
|
||||||
validateTargetProfile("-Tvs_6_0", "dxilv1.0--shadermodel6.0-vertex",
|
validateTargetProfile("-Tvs_6_0", "dxilv1.0--shadermodel6.0-vertex",
|
||||||
InMemoryFileSystem, Diags);
|
InMemoryFileSystem, Diags);
|
||||||
@ -105,8 +103,6 @@ TEST(DxcModeTest, TargetProfileValidation) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST(DxcModeTest, ValidatorVersionValidation) {
|
TEST(DxcModeTest, ValidatorVersionValidation) {
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
|
||||||
|
|
||||||
auto InMemoryFileSystem =
|
auto InMemoryFileSystem =
|
||||||
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
||||||
|
|
||||||
@ -115,7 +111,7 @@ TEST(DxcModeTest, ValidatorVersionValidation) {
|
|||||||
|
|
||||||
auto *DiagConsumer = new SimpleDiagnosticConsumer;
|
auto *DiagConsumer = new SimpleDiagnosticConsumer;
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags(DiagID, DiagOpts, DiagConsumer);
|
DiagnosticsEngine Diags(DiagnosticIDs::create(), DiagOpts, DiagConsumer);
|
||||||
Driver TheDriver("/bin/clang", "", Diags, "", InMemoryFileSystem);
|
Driver TheDriver("/bin/clang", "", Diags, "", InMemoryFileSystem);
|
||||||
std::unique_ptr<Compilation> C(TheDriver.BuildCompilation(
|
std::unique_ptr<Compilation> C(TheDriver.BuildCompilation(
|
||||||
{"clang", "--driver-mode=dxc", "-Tlib_6_7", "foo.hlsl"}));
|
{"clang", "--driver-mode=dxc", "-Tlib_6_7", "foo.hlsl"}));
|
||||||
|
@ -53,7 +53,7 @@ protected:
|
|||||||
assert(!DriverInstance && "Running twice is not allowed");
|
assert(!DriverInstance && "Running twice is not allowed");
|
||||||
|
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags(new DiagnosticIDs, DiagOpts,
|
DiagnosticsEngine Diags(DiagnosticIDs::create(), DiagOpts,
|
||||||
new TextDiagnosticPrinter(llvm::errs(), DiagOpts));
|
new TextDiagnosticPrinter(llvm::errs(), DiagOpts));
|
||||||
DriverInstance.emplace(ClangBinary, "x86_64-unknown-linux-gnu", Diags,
|
DriverInstance.emplace(ClangBinary, "x86_64-unknown-linux-gnu", Diags,
|
||||||
"clang LLVM compiler", prepareFS(ExtraFiles));
|
"clang LLVM compiler", prepareFS(ExtraFiles));
|
||||||
|
@ -42,13 +42,12 @@ struct SimpleDiagnosticConsumer : public clang::DiagnosticConsumer {
|
|||||||
// for testing situations where it will only ever be used for emitting
|
// for testing situations where it will only ever be used for emitting
|
||||||
// diagnostics, such as being passed to `MultilibSet::select`.
|
// diagnostics, such as being passed to `MultilibSet::select`.
|
||||||
inline clang::driver::Driver diagnostic_test_driver() {
|
inline clang::driver::Driver diagnostic_test_driver() {
|
||||||
llvm::IntrusiveRefCntPtr<clang::DiagnosticIDs> DiagID(
|
|
||||||
new clang::DiagnosticIDs());
|
|
||||||
auto InMemoryFileSystem =
|
auto InMemoryFileSystem =
|
||||||
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
||||||
auto *DiagConsumer = new SimpleDiagnosticConsumer;
|
auto *DiagConsumer = new SimpleDiagnosticConsumer;
|
||||||
clang::DiagnosticOptions DiagOpts;
|
clang::DiagnosticOptions DiagOpts;
|
||||||
clang::DiagnosticsEngine Diags(DiagID, DiagOpts, DiagConsumer);
|
clang::DiagnosticsEngine Diags(clang::DiagnosticIDs::create(), DiagOpts,
|
||||||
|
DiagConsumer);
|
||||||
return clang::driver::Driver("/bin/clang", "", Diags, "", InMemoryFileSystem);
|
return clang::driver::Driver("/bin/clang", "", Diags, "", InMemoryFileSystem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ namespace {
|
|||||||
TEST(ToolChainTest, VFSGCCInstallation) {
|
TEST(ToolChainTest, VFSGCCInstallation) {
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
|
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
IntrusiveRefCntPtr<DiagnosticIDs> DiagID = DiagnosticIDs::create();
|
||||||
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
||||||
auto InMemoryFileSystem =
|
auto InMemoryFileSystem =
|
||||||
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
||||||
@ -137,7 +137,7 @@ TEST(ToolChainTest, VFSGCCInstallation) {
|
|||||||
TEST(ToolChainTest, VFSGCCInstallationRelativeDir) {
|
TEST(ToolChainTest, VFSGCCInstallationRelativeDir) {
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
|
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
IntrusiveRefCntPtr<DiagnosticIDs> DiagID = DiagnosticIDs::create();
|
||||||
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
||||||
DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
|
DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
|
||||||
auto InMemoryFileSystem =
|
auto InMemoryFileSystem =
|
||||||
@ -176,7 +176,7 @@ TEST(ToolChainTest, VFSGCCInstallationRelativeDir) {
|
|||||||
TEST(ToolChainTest, VFSSolarisMultiGCCInstallation) {
|
TEST(ToolChainTest, VFSSolarisMultiGCCInstallation) {
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
|
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
IntrusiveRefCntPtr<DiagnosticIDs> DiagID = DiagnosticIDs::create();
|
||||||
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
||||||
auto InMemoryFileSystem =
|
auto InMemoryFileSystem =
|
||||||
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
||||||
@ -340,7 +340,7 @@ MATCHER_P(jobHasArgs, Substr, "") {
|
|||||||
TEST(ToolChainTest, VFSGnuLibcxxPathNoSysroot) {
|
TEST(ToolChainTest, VFSGnuLibcxxPathNoSysroot) {
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
|
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
IntrusiveRefCntPtr<DiagnosticIDs> DiagID = DiagnosticIDs::create();
|
||||||
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
||||||
auto InMemoryFileSystem =
|
auto InMemoryFileSystem =
|
||||||
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
||||||
@ -371,7 +371,7 @@ TEST(ToolChainTest, VFSGnuLibcxxPathNoSysroot) {
|
|||||||
TEST(ToolChainTest, DefaultDriverMode) {
|
TEST(ToolChainTest, DefaultDriverMode) {
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
|
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
IntrusiveRefCntPtr<DiagnosticIDs> DiagID = DiagnosticIDs::create();
|
||||||
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
||||||
DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
|
DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
|
||||||
auto InMemoryFileSystem =
|
auto InMemoryFileSystem =
|
||||||
@ -402,7 +402,7 @@ TEST(ToolChainTest, DefaultDriverMode) {
|
|||||||
EXPECT_TRUE(CLDriver.IsCLMode());
|
EXPECT_TRUE(CLDriver.IsCLMode());
|
||||||
}
|
}
|
||||||
TEST(ToolChainTest, InvalidArgument) {
|
TEST(ToolChainTest, InvalidArgument) {
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
IntrusiveRefCntPtr<DiagnosticIDs> DiagID = DiagnosticIDs::create();
|
||||||
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
|
DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
|
||||||
@ -517,7 +517,7 @@ TEST(ToolChainTest, GetTargetAndMode) {
|
|||||||
TEST(ToolChainTest, CommandOutput) {
|
TEST(ToolChainTest, CommandOutput) {
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
|
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
IntrusiveRefCntPtr<DiagnosticIDs> DiagID = DiagnosticIDs::create();
|
||||||
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
||||||
DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
|
DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
|
||||||
auto InMemoryFileSystem =
|
auto InMemoryFileSystem =
|
||||||
@ -545,7 +545,7 @@ TEST(ToolChainTest, CommandOutput) {
|
|||||||
|
|
||||||
TEST(ToolChainTest, PostCallback) {
|
TEST(ToolChainTest, PostCallback) {
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
IntrusiveRefCntPtr<DiagnosticIDs> DiagID = DiagnosticIDs::create();
|
||||||
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
||||||
DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
|
DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
|
||||||
auto InMemoryFileSystem =
|
auto InMemoryFileSystem =
|
||||||
@ -598,7 +598,7 @@ TEST(ToolChainTest, UEFICallingConventionTest) {
|
|||||||
|
|
||||||
TEST(ToolChainTest, UEFIDefaultDebugFormatTest) {
|
TEST(ToolChainTest, UEFIDefaultDebugFormatTest) {
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
IntrusiveRefCntPtr<DiagnosticIDs> DiagID = DiagnosticIDs::create();
|
||||||
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
||||||
DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
|
DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
|
||||||
auto InMemoryFileSystem =
|
auto InMemoryFileSystem =
|
||||||
@ -640,7 +640,7 @@ struct SimpleDiagnosticConsumer : public DiagnosticConsumer {
|
|||||||
|
|
||||||
TEST(ToolChainTest, ConfigFileSearch) {
|
TEST(ToolChainTest, ConfigFileSearch) {
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
IntrusiveRefCntPtr<DiagnosticIDs> DiagID = DiagnosticIDs::create();
|
||||||
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
||||||
DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
|
DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
|
||||||
auto FS = llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
auto FS = llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
||||||
@ -716,7 +716,7 @@ struct FileSystemWithError : public llvm::vfs::FileSystem {
|
|||||||
|
|
||||||
TEST(ToolChainTest, ConfigFileError) {
|
TEST(ToolChainTest, ConfigFileError) {
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
IntrusiveRefCntPtr<DiagnosticIDs> DiagID = DiagnosticIDs::create();
|
||||||
std::unique_ptr<SimpleDiagnosticConsumer> DiagConsumer(
|
std::unique_ptr<SimpleDiagnosticConsumer> DiagConsumer(
|
||||||
new SimpleDiagnosticConsumer());
|
new SimpleDiagnosticConsumer());
|
||||||
DiagnosticsEngine Diags(DiagID, DiagOpts, DiagConsumer.get(), false);
|
DiagnosticsEngine Diags(DiagID, DiagOpts, DiagConsumer.get(), false);
|
||||||
@ -737,7 +737,7 @@ TEST(ToolChainTest, ConfigFileError) {
|
|||||||
|
|
||||||
TEST(ToolChainTest, BadConfigFile) {
|
TEST(ToolChainTest, BadConfigFile) {
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
IntrusiveRefCntPtr<DiagnosticIDs> DiagID = DiagnosticIDs::create();
|
||||||
std::unique_ptr<SimpleDiagnosticConsumer> DiagConsumer(
|
std::unique_ptr<SimpleDiagnosticConsumer> DiagConsumer(
|
||||||
new SimpleDiagnosticConsumer());
|
new SimpleDiagnosticConsumer());
|
||||||
DiagnosticsEngine Diags(DiagID, DiagOpts, DiagConsumer.get(), false);
|
DiagnosticsEngine Diags(DiagID, DiagOpts, DiagConsumer.get(), false);
|
||||||
@ -810,7 +810,7 @@ TEST(ToolChainTest, BadConfigFile) {
|
|||||||
|
|
||||||
TEST(ToolChainTest, ConfigInexistentInclude) {
|
TEST(ToolChainTest, ConfigInexistentInclude) {
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
IntrusiveRefCntPtr<DiagnosticIDs> DiagID = DiagnosticIDs::create();
|
||||||
std::unique_ptr<SimpleDiagnosticConsumer> DiagConsumer(
|
std::unique_ptr<SimpleDiagnosticConsumer> DiagConsumer(
|
||||||
new SimpleDiagnosticConsumer());
|
new SimpleDiagnosticConsumer());
|
||||||
DiagnosticsEngine Diags(DiagID, DiagOpts, DiagConsumer.get(), false);
|
DiagnosticsEngine Diags(DiagID, DiagOpts, DiagConsumer.get(), false);
|
||||||
@ -850,7 +850,7 @@ TEST(ToolChainTest, ConfigInexistentInclude) {
|
|||||||
|
|
||||||
TEST(ToolChainTest, ConfigRecursiveInclude) {
|
TEST(ToolChainTest, ConfigRecursiveInclude) {
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
IntrusiveRefCntPtr<DiagnosticIDs> DiagID = DiagnosticIDs::create();
|
||||||
std::unique_ptr<SimpleDiagnosticConsumer> DiagConsumer(
|
std::unique_ptr<SimpleDiagnosticConsumer> DiagConsumer(
|
||||||
new SimpleDiagnosticConsumer());
|
new SimpleDiagnosticConsumer());
|
||||||
DiagnosticsEngine Diags(DiagID, DiagOpts, DiagConsumer.get(), false);
|
DiagnosticsEngine Diags(DiagID, DiagOpts, DiagConsumer.get(), false);
|
||||||
@ -895,7 +895,7 @@ TEST(ToolChainTest, ConfigRecursiveInclude) {
|
|||||||
|
|
||||||
TEST(ToolChainTest, NestedConfigFile) {
|
TEST(ToolChainTest, NestedConfigFile) {
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
|
IntrusiveRefCntPtr<DiagnosticIDs> DiagID = DiagnosticIDs::create();
|
||||||
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
|
||||||
DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
|
DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
|
||||||
auto FS = llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
auto FS = llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
||||||
|
@ -71,7 +71,7 @@ TEST(CompilerInstance, DefaultVFSOverlayFromInvocation) {
|
|||||||
// Create a minimal CompilerInstance which should use the VFS we specified
|
// Create a minimal CompilerInstance which should use the VFS we specified
|
||||||
// in the CompilerInvocation (as we don't explicitly set our own).
|
// in the CompilerInvocation (as we don't explicitly set our own).
|
||||||
CompilerInstance Instance(std::move(CInvok));
|
CompilerInstance Instance(std::move(CInvok));
|
||||||
Instance.setDiagnostics(Diags.get());
|
Instance.setDiagnostics(Diags);
|
||||||
Instance.createFileManager();
|
Instance.createFileManager();
|
||||||
|
|
||||||
// Check if the virtual file exists which means that our VFS is used by the
|
// Check if the virtual file exists which means that our VFS is used by the
|
||||||
@ -135,7 +135,7 @@ TEST(CompilerInstance, MultipleInputsCleansFileIDs) {
|
|||||||
ASSERT_TRUE(CInvok) << "could not create compiler invocation";
|
ASSERT_TRUE(CInvok) << "could not create compiler invocation";
|
||||||
|
|
||||||
CompilerInstance Instance(std::move(CInvok));
|
CompilerInstance Instance(std::move(CInvok));
|
||||||
Instance.setDiagnostics(Diags.get());
|
Instance.setDiagnostics(Diags);
|
||||||
Instance.createFileManager(VFS);
|
Instance.createFileManager(VFS);
|
||||||
|
|
||||||
// Run once for `a.cc` and then for `a.h`. This makes sure we get the same
|
// Run once for `a.cc` and then for `a.h`. This makes sure we get the same
|
||||||
|
@ -40,7 +40,7 @@ namespace {
|
|||||||
class SearchPathTest : public ::testing::Test {
|
class SearchPathTest : public ::testing::Test {
|
||||||
protected:
|
protected:
|
||||||
SearchPathTest()
|
SearchPathTest()
|
||||||
: Diags(new DiagnosticIDs(), DiagOpts, new IgnoringDiagConsumer()),
|
: Diags(DiagnosticIDs::create(), DiagOpts, new IgnoringDiagConsumer()),
|
||||||
VFS(llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>()),
|
VFS(llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>()),
|
||||||
FileMgr(FileSystemOptions(), VFS), SourceMgr(Diags, FileMgr),
|
FileMgr(FileSystemOptions(), VFS), SourceMgr(Diags, FileMgr),
|
||||||
Invocation(std::make_unique<CompilerInvocation>()) {}
|
Invocation(std::make_unique<CompilerInvocation>()) {}
|
||||||
|
@ -36,9 +36,8 @@ TEST(TextDiagnostic, ShowLine) {
|
|||||||
// Create dummy FileManager and SourceManager.
|
// Create dummy FileManager and SourceManager.
|
||||||
FileSystemOptions FSOpts;
|
FileSystemOptions FSOpts;
|
||||||
FileManager FileMgr(FSOpts);
|
FileManager FileMgr(FSOpts);
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs);
|
|
||||||
DiagnosticOptions DiagEngineOpts;
|
DiagnosticOptions DiagEngineOpts;
|
||||||
DiagnosticsEngine DiagEngine(DiagID, DiagEngineOpts,
|
DiagnosticsEngine DiagEngine(DiagnosticIDs::create(), DiagEngineOpts,
|
||||||
new IgnoringDiagConsumer());
|
new IgnoringDiagConsumer());
|
||||||
SourceManager SrcMgr(DiagEngine, FileMgr);
|
SourceManager SrcMgr(DiagEngine, FileMgr);
|
||||||
|
|
||||||
|
@ -29,8 +29,8 @@ class HeaderSearchTest : public ::testing::Test {
|
|||||||
protected:
|
protected:
|
||||||
HeaderSearchTest()
|
HeaderSearchTest()
|
||||||
: VFS(llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>()),
|
: VFS(llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>()),
|
||||||
FileMgr(FileMgrOpts, VFS), DiagID(new DiagnosticIDs()),
|
FileMgr(FileMgrOpts, VFS),
|
||||||
Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
|
Diags(DiagnosticIDs::create(), DiagOpts, new IgnoringDiagConsumer()),
|
||||||
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions),
|
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions),
|
||||||
Search(HSOpts, SourceMgr, Diags, LangOpts, Target.get()) {
|
Search(HSOpts, SourceMgr, Diags, LangOpts, Target.get()) {
|
||||||
TargetOpts->Triple = "x86_64-apple-darwin11.1.0";
|
TargetOpts->Triple = "x86_64-apple-darwin11.1.0";
|
||||||
@ -80,7 +80,6 @@ protected:
|
|||||||
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> VFS;
|
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> VFS;
|
||||||
FileSystemOptions FileMgrOpts;
|
FileSystemOptions FileMgrOpts;
|
||||||
FileManager FileMgr;
|
FileManager FileMgr;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
|
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags;
|
DiagnosticsEngine Diags;
|
||||||
SourceManager SourceMgr;
|
SourceManager SourceMgr;
|
||||||
|
@ -41,8 +41,8 @@ using testing::ElementsAre;
|
|||||||
class LexerTest : public ::testing::Test {
|
class LexerTest : public ::testing::Test {
|
||||||
protected:
|
protected:
|
||||||
LexerTest()
|
LexerTest()
|
||||||
: FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
|
: FileMgr(FileMgrOpts),
|
||||||
Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
|
Diags(DiagnosticIDs::create(), DiagOpts, new IgnoringDiagConsumer()),
|
||||||
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions) {
|
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions) {
|
||||||
TargetOpts->Triple = "x86_64-apple-darwin11.1.0";
|
TargetOpts->Triple = "x86_64-apple-darwin11.1.0";
|
||||||
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
|
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
|
||||||
@ -102,7 +102,6 @@ protected:
|
|||||||
|
|
||||||
FileSystemOptions FileMgrOpts;
|
FileSystemOptions FileMgrOpts;
|
||||||
FileManager FileMgr;
|
FileManager FileMgr;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
|
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags;
|
DiagnosticsEngine Diags;
|
||||||
SourceManager SourceMgr;
|
SourceManager SourceMgr;
|
||||||
|
@ -54,8 +54,8 @@ public:
|
|||||||
class ModuleDeclStateTest : public ::testing::Test {
|
class ModuleDeclStateTest : public ::testing::Test {
|
||||||
protected:
|
protected:
|
||||||
ModuleDeclStateTest()
|
ModuleDeclStateTest()
|
||||||
: FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
|
: FileMgr(FileMgrOpts),
|
||||||
Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
|
Diags(DiagnosticIDs::create(), DiagOpts, new IgnoringDiagConsumer()),
|
||||||
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions) {
|
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions) {
|
||||||
TargetOpts->Triple = "x86_64-unknown-linux-gnu";
|
TargetOpts->Triple = "x86_64-unknown-linux-gnu";
|
||||||
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
|
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
|
||||||
@ -93,7 +93,6 @@ protected:
|
|||||||
|
|
||||||
FileSystemOptions FileMgrOpts;
|
FileSystemOptions FileMgrOpts;
|
||||||
FileManager FileMgr;
|
FileManager FileMgr;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
|
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags;
|
DiagnosticsEngine Diags;
|
||||||
SourceManager SourceMgr;
|
SourceManager SourceMgr;
|
||||||
|
@ -136,7 +136,7 @@ protected:
|
|||||||
: InMemoryFileSystem(
|
: InMemoryFileSystem(
|
||||||
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>()),
|
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>()),
|
||||||
FileMgr(FileSystemOptions(), InMemoryFileSystem),
|
FileMgr(FileSystemOptions(), InMemoryFileSystem),
|
||||||
DiagID(new DiagnosticIDs()),
|
DiagID(DiagnosticIDs::create()),
|
||||||
Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
|
Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
|
||||||
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions()) {
|
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions()) {
|
||||||
TargetOpts->Triple = "x86_64-apple-darwin11.1.0";
|
TargetOpts->Triple = "x86_64-apple-darwin11.1.0";
|
||||||
|
@ -29,8 +29,8 @@ namespace {
|
|||||||
class PPConditionalDirectiveRecordTest : public ::testing::Test {
|
class PPConditionalDirectiveRecordTest : public ::testing::Test {
|
||||||
protected:
|
protected:
|
||||||
PPConditionalDirectiveRecordTest()
|
PPConditionalDirectiveRecordTest()
|
||||||
: FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
|
: FileMgr(FileMgrOpts),
|
||||||
Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
|
Diags(DiagnosticIDs::create(), DiagOpts, new IgnoringDiagConsumer()),
|
||||||
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions) {
|
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions) {
|
||||||
TargetOpts->Triple = "x86_64-apple-darwin11.1.0";
|
TargetOpts->Triple = "x86_64-apple-darwin11.1.0";
|
||||||
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
|
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
|
||||||
@ -38,7 +38,6 @@ protected:
|
|||||||
|
|
||||||
FileSystemOptions FileMgrOpts;
|
FileSystemOptions FileMgrOpts;
|
||||||
FileManager FileMgr;
|
FileManager FileMgr;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
|
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags;
|
DiagnosticsEngine Diags;
|
||||||
SourceManager SourceMgr;
|
SourceManager SourceMgr;
|
||||||
|
@ -31,8 +31,8 @@ namespace {
|
|||||||
class PPDependencyDirectivesTest : public ::testing::Test {
|
class PPDependencyDirectivesTest : public ::testing::Test {
|
||||||
protected:
|
protected:
|
||||||
PPDependencyDirectivesTest()
|
PPDependencyDirectivesTest()
|
||||||
: FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
|
: FileMgr(FileMgrOpts),
|
||||||
Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
|
Diags(DiagnosticIDs::create(), DiagOpts, new IgnoringDiagConsumer()),
|
||||||
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions) {
|
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions) {
|
||||||
TargetOpts->Triple = "x86_64-apple-macos12";
|
TargetOpts->Triple = "x86_64-apple-macos12";
|
||||||
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
|
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
|
||||||
@ -40,7 +40,6 @@ protected:
|
|||||||
|
|
||||||
FileSystemOptions FileMgrOpts;
|
FileSystemOptions FileMgrOpts;
|
||||||
FileManager FileMgr;
|
FileManager FileMgr;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
|
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags;
|
DiagnosticsEngine Diags;
|
||||||
SourceManager SourceMgr;
|
SourceManager SourceMgr;
|
||||||
|
@ -27,8 +27,8 @@ namespace {
|
|||||||
class PPMemoryAllocationsTest : public ::testing::Test {
|
class PPMemoryAllocationsTest : public ::testing::Test {
|
||||||
protected:
|
protected:
|
||||||
PPMemoryAllocationsTest()
|
PPMemoryAllocationsTest()
|
||||||
: FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
|
: FileMgr(FileMgrOpts),
|
||||||
Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
|
Diags(DiagnosticIDs::create(), DiagOpts, new IgnoringDiagConsumer()),
|
||||||
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions) {
|
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions) {
|
||||||
TargetOpts->Triple = "x86_64-apple-darwin11.1.0";
|
TargetOpts->Triple = "x86_64-apple-darwin11.1.0";
|
||||||
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
|
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
|
||||||
@ -36,7 +36,6 @@ protected:
|
|||||||
|
|
||||||
FileSystemOptions FileMgrOpts;
|
FileSystemOptions FileMgrOpts;
|
||||||
FileManager FileMgr;
|
FileManager FileMgr;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
|
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
DiagnosticsEngine Diags;
|
DiagnosticsEngine Diags;
|
||||||
SourceManager SourceMgr;
|
SourceManager SourceMgr;
|
||||||
|
@ -71,8 +71,8 @@ public:
|
|||||||
class ParseHLSLRootSignatureTest : public ::testing::Test {
|
class ParseHLSLRootSignatureTest : public ::testing::Test {
|
||||||
protected:
|
protected:
|
||||||
ParseHLSLRootSignatureTest()
|
ParseHLSLRootSignatureTest()
|
||||||
: FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
|
: FileMgr(FileMgrOpts), Consumer(new ExpectedDiagConsumer()),
|
||||||
Consumer(new ExpectedDiagConsumer()), Diags(DiagID, DiagOpts, Consumer),
|
Diags(DiagnosticIDs::create(), DiagOpts, Consumer),
|
||||||
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions) {
|
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions) {
|
||||||
// This is an arbitrarily chosen target triple to create the target info.
|
// This is an arbitrarily chosen target triple to create the target info.
|
||||||
TargetOpts->Triple = "dxil";
|
TargetOpts->Triple = "dxil";
|
||||||
@ -114,7 +114,6 @@ protected:
|
|||||||
|
|
||||||
FileSystemOptions FileMgrOpts;
|
FileSystemOptions FileMgrOpts;
|
||||||
FileManager FileMgr;
|
FileManager FileMgr;
|
||||||
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
|
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
ExpectedDiagConsumer *Consumer;
|
ExpectedDiagConsumer *Consumer;
|
||||||
DiagnosticsEngine Diags;
|
DiagnosticsEngine Diags;
|
||||||
|
@ -82,7 +82,7 @@ public:
|
|||||||
EXPECT_TRUE(Invocation);
|
EXPECT_TRUE(Invocation);
|
||||||
|
|
||||||
CompilerInstance Instance(std::move(Invocation));
|
CompilerInstance Instance(std::move(Invocation));
|
||||||
Instance.setDiagnostics(Diags.get());
|
Instance.setDiagnostics(Diags);
|
||||||
Instance.getFrontendOpts().OutputFile = CacheBMIPath;
|
Instance.getFrontendOpts().OutputFile = CacheBMIPath;
|
||||||
GenerateReducedModuleInterfaceAction Action;
|
GenerateReducedModuleInterfaceAction Action;
|
||||||
EXPECT_TRUE(Instance.ExecuteAction(Action));
|
EXPECT_TRUE(Instance.ExecuteAction(Action));
|
||||||
|
@ -87,7 +87,7 @@ export int aa = 43;
|
|||||||
Buf->release();
|
Buf->release();
|
||||||
|
|
||||||
CompilerInstance Instance(std::move(Invocation));
|
CompilerInstance Instance(std::move(Invocation));
|
||||||
Instance.setDiagnostics(Diags.get());
|
Instance.setDiagnostics(Diags);
|
||||||
|
|
||||||
Instance.getFrontendOpts().OutputFile = BMIPath;
|
Instance.getFrontendOpts().OutputFile = BMIPath;
|
||||||
|
|
||||||
@ -122,7 +122,7 @@ export int aa = 43;
|
|||||||
|
|
||||||
CompilerInstance Clang(std::move(Invocation));
|
CompilerInstance Clang(std::move(Invocation));
|
||||||
|
|
||||||
Clang.setDiagnostics(Diags.get());
|
Clang.setDiagnostics(Diags);
|
||||||
FileManager *FM = Clang.createFileManager(CIOpts.VFS);
|
FileManager *FM = Clang.createFileManager(CIOpts.VFS);
|
||||||
Clang.createSourceManager(*FM);
|
Clang.createSourceManager(*FM);
|
||||||
|
|
||||||
|
@ -80,7 +80,7 @@ public:
|
|||||||
EXPECT_TRUE(Invocation);
|
EXPECT_TRUE(Invocation);
|
||||||
|
|
||||||
CompilerInstance Instance(std::move(Invocation));
|
CompilerInstance Instance(std::move(Invocation));
|
||||||
Instance.setDiagnostics(Diags.get());
|
Instance.setDiagnostics(Diags);
|
||||||
Instance.getFrontendOpts().OutputFile = CacheBMIPath;
|
Instance.getFrontendOpts().OutputFile = CacheBMIPath;
|
||||||
// Avoid memory leaks.
|
// Avoid memory leaks.
|
||||||
Instance.getFrontendOpts().DisableFree = false;
|
Instance.getFrontendOpts().DisableFree = false;
|
||||||
|
@ -121,7 +121,7 @@ TEST_F(ModuleCacheTest, CachedModuleNewPath) {
|
|||||||
createInvocationAndEnableFree(Args, CIOpts);
|
createInvocationAndEnableFree(Args, CIOpts);
|
||||||
ASSERT_TRUE(Invocation);
|
ASSERT_TRUE(Invocation);
|
||||||
CompilerInstance Instance(std::move(Invocation));
|
CompilerInstance Instance(std::move(Invocation));
|
||||||
Instance.setDiagnostics(Diags.get());
|
Instance.setDiagnostics(Diags);
|
||||||
SyntaxOnlyAction Action;
|
SyntaxOnlyAction Action;
|
||||||
ASSERT_TRUE(Instance.ExecuteAction(Action));
|
ASSERT_TRUE(Instance.ExecuteAction(Action));
|
||||||
ASSERT_FALSE(Diags->hasErrorOccurred());
|
ASSERT_FALSE(Diags->hasErrorOccurred());
|
||||||
@ -145,7 +145,7 @@ TEST_F(ModuleCacheTest, CachedModuleNewPath) {
|
|||||||
CompilerInstance Instance2(std::move(Invocation2),
|
CompilerInstance Instance2(std::move(Invocation2),
|
||||||
Instance.getPCHContainerOperations(),
|
Instance.getPCHContainerOperations(),
|
||||||
&Instance.getModuleCache());
|
&Instance.getModuleCache());
|
||||||
Instance2.setDiagnostics(Diags.get());
|
Instance2.setDiagnostics(Diags);
|
||||||
SyntaxOnlyAction Action2;
|
SyntaxOnlyAction Action2;
|
||||||
ASSERT_FALSE(Instance2.ExecuteAction(Action2));
|
ASSERT_FALSE(Instance2.ExecuteAction(Action2));
|
||||||
ASSERT_TRUE(Diags->hasErrorOccurred());
|
ASSERT_TRUE(Diags->hasErrorOccurred());
|
||||||
@ -171,7 +171,7 @@ TEST_F(ModuleCacheTest, CachedModuleNewPathAllowErrors) {
|
|||||||
createInvocationAndEnableFree(Args, CIOpts);
|
createInvocationAndEnableFree(Args, CIOpts);
|
||||||
ASSERT_TRUE(Invocation);
|
ASSERT_TRUE(Invocation);
|
||||||
CompilerInstance Instance(std::move(Invocation));
|
CompilerInstance Instance(std::move(Invocation));
|
||||||
Instance.setDiagnostics(Diags.get());
|
Instance.setDiagnostics(Diags);
|
||||||
SyntaxOnlyAction Action;
|
SyntaxOnlyAction Action;
|
||||||
ASSERT_TRUE(Instance.ExecuteAction(Action));
|
ASSERT_TRUE(Instance.ExecuteAction(Action));
|
||||||
ASSERT_FALSE(Diags->hasErrorOccurred());
|
ASSERT_FALSE(Diags->hasErrorOccurred());
|
||||||
@ -189,7 +189,7 @@ TEST_F(ModuleCacheTest, CachedModuleNewPathAllowErrors) {
|
|||||||
CompilerInstance Instance2(std::move(Invocation2),
|
CompilerInstance Instance2(std::move(Invocation2),
|
||||||
Instance.getPCHContainerOperations(),
|
Instance.getPCHContainerOperations(),
|
||||||
&Instance.getModuleCache());
|
&Instance.getModuleCache());
|
||||||
Instance2.setDiagnostics(Diags.get());
|
Instance2.setDiagnostics(Diags);
|
||||||
SyntaxOnlyAction Action2;
|
SyntaxOnlyAction Action2;
|
||||||
ASSERT_FALSE(Instance2.ExecuteAction(Action2));
|
ASSERT_FALSE(Instance2.ExecuteAction(Action2));
|
||||||
ASSERT_TRUE(Diags->hasErrorOccurred());
|
ASSERT_TRUE(Diags->hasErrorOccurred());
|
||||||
|
@ -99,7 +99,7 @@ void foo() {}
|
|||||||
ASSERT_TRUE(Invocation);
|
ASSERT_TRUE(Invocation);
|
||||||
|
|
||||||
CompilerInstance Instance(std::move(Invocation));
|
CompilerInstance Instance(std::move(Invocation));
|
||||||
Instance.setDiagnostics(Diags.get());
|
Instance.setDiagnostics(Diags);
|
||||||
Instance.getFrontendOpts().OutputFile = CacheBMIPath;
|
Instance.getFrontendOpts().OutputFile = CacheBMIPath;
|
||||||
GenerateReducedModuleInterfaceAction Action;
|
GenerateReducedModuleInterfaceAction Action;
|
||||||
ASSERT_TRUE(Instance.ExecuteAction(Action));
|
ASSERT_TRUE(Instance.ExecuteAction(Action));
|
||||||
|
@ -101,7 +101,7 @@ export using ::E;
|
|||||||
|
|
||||||
PreambleCallbacks Callbacks;
|
PreambleCallbacks Callbacks;
|
||||||
llvm::ErrorOr<PrecompiledPreamble> BuiltPreamble = PrecompiledPreamble::Build(
|
llvm::ErrorOr<PrecompiledPreamble> BuiltPreamble = PrecompiledPreamble::Build(
|
||||||
*Invocation, Buffer.get(), Bounds, *Diags, VFS,
|
*Invocation, Buffer.get(), Bounds, Diags, VFS,
|
||||||
std::make_shared<PCHContainerOperations>(),
|
std::make_shared<PCHContainerOperations>(),
|
||||||
/*StoreInMemory=*/false, /*StoragePath=*/TestDir, Callbacks);
|
/*StoreInMemory=*/false, /*StoragePath=*/TestDir, Callbacks);
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ export using ::E;
|
|||||||
BuiltPreamble->OverridePreamble(*Invocation, VFS, Buffer.get());
|
BuiltPreamble->OverridePreamble(*Invocation, VFS, Buffer.get());
|
||||||
|
|
||||||
auto Clang = std::make_unique<CompilerInstance>(std::move(Invocation));
|
auto Clang = std::make_unique<CompilerInstance>(std::move(Invocation));
|
||||||
Clang->setDiagnostics(Diags.get());
|
Clang->setDiagnostics(Diags);
|
||||||
|
|
||||||
if (auto VFSWithRemapping = createVFSFromCompilerInvocation(
|
if (auto VFSWithRemapping = createVFSFromCompilerInvocation(
|
||||||
Clang->getInvocation(), Clang->getDiagnostics(), VFS))
|
Clang->getInvocation(), Clang->getDiagnostics(), VFS))
|
||||||
|
@ -106,7 +106,7 @@ export namespace Fibonacci
|
|||||||
Invocation->getFrontendOpts().DisableFree = false;
|
Invocation->getFrontendOpts().DisableFree = false;
|
||||||
|
|
||||||
CompilerInstance Instance(std::move(Invocation));
|
CompilerInstance Instance(std::move(Invocation));
|
||||||
Instance.setDiagnostics(Diags.get());
|
Instance.setDiagnostics(Diags);
|
||||||
|
|
||||||
std::string CacheBMIPath = llvm::Twine(TestDir + "/Cached.pcm").str();
|
std::string CacheBMIPath = llvm::Twine(TestDir + "/Cached.pcm").str();
|
||||||
Instance.getFrontendOpts().OutputFile = CacheBMIPath;
|
Instance.getFrontendOpts().OutputFile = CacheBMIPath;
|
||||||
|
@ -49,8 +49,7 @@ struct RewriterDiagnosticConsumer : public DiagnosticConsumer {
|
|||||||
class RewriterTestContext {
|
class RewriterTestContext {
|
||||||
public:
|
public:
|
||||||
RewriterTestContext()
|
RewriterTestContext()
|
||||||
: Diagnostics(IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs),
|
: Diagnostics(DiagnosticIDs::create(), DiagOpts),
|
||||||
DiagOpts),
|
|
||||||
InMemoryFileSystem(
|
InMemoryFileSystem(
|
||||||
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>()),
|
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>()),
|
||||||
OverlayFileSystem(
|
OverlayFileSystem(
|
||||||
|
@ -133,7 +133,7 @@ public:
|
|||||||
CI->getPreprocessorOpts().addRemappedFile(
|
CI->getPreprocessorOpts().addRemappedFile(
|
||||||
FileName, llvm::MemoryBuffer::getMemBufferCopy(Code).release());
|
FileName, llvm::MemoryBuffer::getMemBufferCopy(Code).release());
|
||||||
CompilerInstance Compiler(std::move(CI));
|
CompilerInstance Compiler(std::move(CI));
|
||||||
Compiler.setDiagnostics(Diags.get());
|
Compiler.setDiagnostics(Diags);
|
||||||
Compiler.setFileManager(FileMgr.get());
|
Compiler.setFileManager(FileMgr.get());
|
||||||
Compiler.setSourceManager(SourceMgr.get());
|
Compiler.setSourceManager(SourceMgr.get());
|
||||||
|
|
||||||
@ -250,7 +250,8 @@ public:
|
|||||||
// Data fields.
|
// Data fields.
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
llvm::IntrusiveRefCntPtr<DiagnosticsEngine> Diags =
|
llvm::IntrusiveRefCntPtr<DiagnosticsEngine> Diags =
|
||||||
new DiagnosticsEngine(new DiagnosticIDs, DiagOpts);
|
llvm::makeIntrusiveRefCnt<DiagnosticsEngine>(DiagnosticIDs::create(),
|
||||||
|
DiagOpts);
|
||||||
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> FS =
|
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> FS =
|
||||||
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
||||||
llvm::IntrusiveRefCntPtr<FileManager> FileMgr =
|
llvm::IntrusiveRefCntPtr<FileManager> FileMgr =
|
||||||
|
@ -152,7 +152,7 @@ SyntaxTreeTest::buildTree(StringRef Code, const TestClangConfig &ClangConfig) {
|
|||||||
Invocation->getPreprocessorOpts().addRemappedFile(
|
Invocation->getPreprocessorOpts().addRemappedFile(
|
||||||
FileName, llvm::MemoryBuffer::getMemBufferCopy(Code).release());
|
FileName, llvm::MemoryBuffer::getMemBufferCopy(Code).release());
|
||||||
CompilerInstance Compiler(Invocation);
|
CompilerInstance Compiler(Invocation);
|
||||||
Compiler.setDiagnostics(Diags.get());
|
Compiler.setDiagnostics(Diags);
|
||||||
Compiler.setFileManager(FileMgr.get());
|
Compiler.setFileManager(FileMgr.get());
|
||||||
Compiler.setSourceManager(SourceMgr.get());
|
Compiler.setSourceManager(SourceMgr.get());
|
||||||
|
|
||||||
|
@ -42,7 +42,8 @@ protected:
|
|||||||
// Data fields.
|
// Data fields.
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
IntrusiveRefCntPtr<DiagnosticsEngine> Diags =
|
IntrusiveRefCntPtr<DiagnosticsEngine> Diags =
|
||||||
new DiagnosticsEngine(new DiagnosticIDs, DiagOpts);
|
llvm::makeIntrusiveRefCnt<DiagnosticsEngine>(DiagnosticIDs::create(),
|
||||||
|
DiagOpts);
|
||||||
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> FS =
|
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> FS =
|
||||||
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
|
||||||
IntrusiveRefCntPtr<FileManager> FileMgr =
|
IntrusiveRefCntPtr<FileManager> FileMgr =
|
||||||
|
@ -233,10 +233,8 @@ clang::IntrusiveRefCntPtr<clang::DiagnosticsEngine>
|
|||||||
CompilerInstance::createDiagnostics(clang::DiagnosticOptions &opts,
|
CompilerInstance::createDiagnostics(clang::DiagnosticOptions &opts,
|
||||||
clang::DiagnosticConsumer *client,
|
clang::DiagnosticConsumer *client,
|
||||||
bool shouldOwnClient) {
|
bool shouldOwnClient) {
|
||||||
clang::IntrusiveRefCntPtr<clang::DiagnosticIDs> diagID(
|
auto diags = llvm::makeIntrusiveRefCnt<clang::DiagnosticsEngine>(
|
||||||
new clang::DiagnosticIDs());
|
clang::DiagnosticIDs::create(), opts);
|
||||||
clang::IntrusiveRefCntPtr<clang::DiagnosticsEngine> diags(
|
|
||||||
new clang::DiagnosticsEngine(diagID, opts));
|
|
||||||
|
|
||||||
// Create the diagnostic client for reporting errors or for
|
// Create the diagnostic client for reporting errors or for
|
||||||
// implementing -verify.
|
// implementing -verify.
|
||||||
|
@ -123,15 +123,14 @@ int main(int argc, const char **argv) {
|
|||||||
// Create DiagnosticsEngine for the compiler driver
|
// Create DiagnosticsEngine for the compiler driver
|
||||||
std::unique_ptr<clang::DiagnosticOptions> diagOpts =
|
std::unique_ptr<clang::DiagnosticOptions> diagOpts =
|
||||||
createAndPopulateDiagOpts(args);
|
createAndPopulateDiagOpts(args);
|
||||||
llvm::IntrusiveRefCntPtr<clang::DiagnosticIDs> diagID(
|
|
||||||
new clang::DiagnosticIDs());
|
|
||||||
Fortran::frontend::TextDiagnosticPrinter *diagClient =
|
Fortran::frontend::TextDiagnosticPrinter *diagClient =
|
||||||
new Fortran::frontend::TextDiagnosticPrinter(llvm::errs(), *diagOpts);
|
new Fortran::frontend::TextDiagnosticPrinter(llvm::errs(), *diagOpts);
|
||||||
|
|
||||||
diagClient->setPrefix(
|
diagClient->setPrefix(
|
||||||
std::string(llvm::sys::path::stem(getExecutablePath(args[0]))));
|
std::string(llvm::sys::path::stem(getExecutablePath(args[0]))));
|
||||||
|
|
||||||
clang::DiagnosticsEngine diags(diagID, *diagOpts, diagClient);
|
clang::DiagnosticsEngine diags(clang::DiagnosticIDs::create(), *diagOpts,
|
||||||
|
diagClient);
|
||||||
|
|
||||||
// Prepare the driver
|
// Prepare the driver
|
||||||
clang::driver::Driver theDriver(driverPath,
|
clang::driver::Driver theDriver(driverPath,
|
||||||
|
@ -65,10 +65,9 @@ int fc1_main(llvm::ArrayRef<const char *> argv, const char *argv0) {
|
|||||||
|
|
||||||
// Create CompilerInvocation - use a dedicated instance of DiagnosticsEngine
|
// Create CompilerInvocation - use a dedicated instance of DiagnosticsEngine
|
||||||
// for parsing the arguments
|
// for parsing the arguments
|
||||||
llvm::IntrusiveRefCntPtr<clang::DiagnosticIDs> diagID(
|
|
||||||
new clang::DiagnosticIDs());
|
|
||||||
clang::DiagnosticOptions diagOpts;
|
clang::DiagnosticOptions diagOpts;
|
||||||
clang::DiagnosticsEngine diags(diagID, diagOpts, diagsBuffer);
|
clang::DiagnosticsEngine diags(clang::DiagnosticIDs::create(), diagOpts,
|
||||||
|
diagsBuffer);
|
||||||
bool success = CompilerInvocation::createFromArgs(flang->getInvocation(),
|
bool success = CompilerInvocation::createFromArgs(flang->getInvocation(),
|
||||||
argv, diags, argv0);
|
argv, diags, argv0);
|
||||||
|
|
||||||
|
@ -260,9 +260,8 @@ TokenVerifier::TokenVerifier(std::string body) {
|
|||||||
|
|
||||||
// Let's build the actual source code Clang needs and setup some utility
|
// Let's build the actual source code Clang needs and setup some utility
|
||||||
// objects.
|
// objects.
|
||||||
llvm::IntrusiveRefCntPtr<DiagnosticIDs> diag_ids(new DiagnosticIDs());
|
|
||||||
DiagnosticOptions diags_opts;
|
DiagnosticOptions diags_opts;
|
||||||
DiagnosticsEngine diags(diag_ids, diags_opts);
|
DiagnosticsEngine diags(DiagnosticIDs::create(), diags_opts);
|
||||||
clang::SourceManager SM(diags, file_mgr);
|
clang::SourceManager SM(diags, file_mgr);
|
||||||
auto buf = llvm::MemoryBuffer::getMemBuffer(body);
|
auto buf = llvm::MemoryBuffer::getMemBuffer(body);
|
||||||
|
|
||||||
|
@ -747,7 +747,7 @@ ClangModulesDeclVendor::Create(Target &target) {
|
|||||||
|
|
||||||
// Make sure clang uses the same VFS as LLDB.
|
// Make sure clang uses the same VFS as LLDB.
|
||||||
instance->createFileManager(FileSystem::Instance().GetVirtualFileSystem());
|
instance->createFileManager(FileSystem::Instance().GetVirtualFileSystem());
|
||||||
instance->setDiagnostics(diagnostics_engine.get());
|
instance->setDiagnostics(diagnostics_engine);
|
||||||
|
|
||||||
std::unique_ptr<clang::FrontendAction> action(new clang::SyntaxOnlyAction);
|
std::unique_ptr<clang::FrontendAction> action(new clang::SyntaxOnlyAction);
|
||||||
|
|
||||||
|
@ -162,9 +162,8 @@ void ClangHighlighter::Highlight(const HighlightStyle &options,
|
|||||||
// Let's build the actual source code Clang needs and setup some utility
|
// Let's build the actual source code Clang needs and setup some utility
|
||||||
// objects.
|
// objects.
|
||||||
std::string full_source = previous_lines.str() + line.str();
|
std::string full_source = previous_lines.str() + line.str();
|
||||||
llvm::IntrusiveRefCntPtr<DiagnosticIDs> diag_ids(new DiagnosticIDs());
|
|
||||||
DiagnosticOptions diags_opts;
|
DiagnosticOptions diags_opts;
|
||||||
DiagnosticsEngine diags(diag_ids, diags_opts);
|
DiagnosticsEngine diags(DiagnosticIDs::create(), diags_opts);
|
||||||
clang::SourceManager SM(diags, file_mgr);
|
clang::SourceManager SM(diags, file_mgr);
|
||||||
auto buf = llvm::MemoryBuffer::getMemBuffer(full_source);
|
auto buf = llvm::MemoryBuffer::getMemBuffer(full_source);
|
||||||
|
|
||||||
|
@ -665,10 +665,9 @@ void TypeSystemClang::CreateASTContext() {
|
|||||||
m_file_manager_up = std::make_unique<clang::FileManager>(
|
m_file_manager_up = std::make_unique<clang::FileManager>(
|
||||||
file_system_options, FileSystem::Instance().GetVirtualFileSystem());
|
file_system_options, FileSystem::Instance().GetVirtualFileSystem());
|
||||||
|
|
||||||
llvm::IntrusiveRefCntPtr<DiagnosticIDs> diag_id_sp(new DiagnosticIDs());
|
|
||||||
m_diagnostic_options_up = std::make_unique<DiagnosticOptions>();
|
m_diagnostic_options_up = std::make_unique<DiagnosticOptions>();
|
||||||
m_diagnostics_engine_up =
|
m_diagnostics_engine_up = std::make_unique<DiagnosticsEngine>(
|
||||||
std::make_unique<DiagnosticsEngine>(diag_id_sp, *m_diagnostic_options_up);
|
DiagnosticIDs::create(), *m_diagnostic_options_up);
|
||||||
|
|
||||||
m_source_manager_up = std::make_unique<clang::SourceManager>(
|
m_source_manager_up = std::make_unique<clang::SourceManager>(
|
||||||
*m_diagnostics_engine_up, *m_file_manager_up);
|
*m_diagnostics_engine_up, *m_file_manager_up);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user