|
56 | 56 | # define CASTXML_OWNS_OSTREAM
|
57 | 57 | #endif
|
58 | 58 |
|
| 59 | +#if LLVM_VERSION_MAJOR > 9 |
| 60 | +# define CASTXML_MAKE_UNIQUE std::make_unique |
| 61 | +#else |
| 62 | +# define CASTXML_MAKE_UNIQUE llvm::make_unique |
| 63 | +#endif |
| 64 | + |
59 | 65 | class ASTConsumer : public clang::ASTConsumer
|
60 | 66 | {
|
61 | 67 | clang::CompilerInstance& CI;
|
@@ -443,11 +449,11 @@ class CastXMLSyntaxOnlyAction
|
443 | 449 | #ifdef CASTXML_OWNS_OSTREAM
|
444 | 450 | } else if (std::unique_ptr<llvm::raw_ostream> OS =
|
445 | 451 | CI.createDefaultOutputFile(false, filename(InFile), "xml")) {
|
446 |
| - return llvm::make_unique<ASTConsumer>(CI, std::move(OS), this->Opts); |
| 452 | + return CASTXML_MAKE_UNIQUE<ASTConsumer>(CI, std::move(OS), this->Opts); |
447 | 453 | #else
|
448 | 454 | } else if (llvm::raw_ostream* OS =
|
449 | 455 | CI.createDefaultOutputFile(false, filename(InFile), "xml")) {
|
450 |
| - return llvm::make_unique<ASTConsumer>(CI, *OS, this->Opts); |
| 456 | + return CASTXML_MAKE_UNIQUE<ASTConsumer>(CI, *OS, this->Opts); |
451 | 457 | #endif
|
452 | 458 | } else {
|
453 | 459 | return nullptr;
|
@@ -612,7 +618,13 @@ static int runClangImpl(const char* const* argBeg, const char* const* argEnd,
|
612 | 618 | const char* const* cmdArgBeg = cmd->getArguments().data();
|
613 | 619 | const char* const* cmdArgEnd = cmdArgBeg + cmd->getArguments().size();
|
614 | 620 | if (clang::CompilerInvocation::CreateFromArgs(
|
615 |
| - CI->getInvocation(), cmdArgBeg, cmdArgEnd, *diags)) { |
| 621 | + CI->getInvocation(), |
| 622 | +#if LLVM_VERSION_MAJOR > 9 |
| 623 | + llvm::makeArrayRef(cmdArgBeg, cmdArgEnd), |
| 624 | +#else |
| 625 | + cmdArgBeg, cmdArgEnd, |
| 626 | +#endif |
| 627 | + *diags)) { |
616 | 628 | if (diags->hasErrorOccurred()) {
|
617 | 629 | return 1;
|
618 | 630 | }
|
|
0 commit comments