diff options
Diffstat (limited to 'lib/Frontend/CompilerInstance.cpp')
| -rw-r--r-- | lib/Frontend/CompilerInstance.cpp | 16 | 
1 files changed, 10 insertions, 6 deletions
diff --git a/lib/Frontend/CompilerInstance.cpp b/lib/Frontend/CompilerInstance.cpp index e5da2ae4f22e..bb6a665cb456 100644 --- a/lib/Frontend/CompilerInstance.cpp +++ b/lib/Frontend/CompilerInstance.cpp @@ -517,7 +517,7 @@ IntrusiveRefCntPtr<ASTReader> CompilerInstance::createPCHExternalASTSource(    HeaderSearchOptions &HSOpts = PP.getHeaderSearchInfo().getHeaderSearchOpts();    IntrusiveRefCntPtr<ASTReader> Reader(new ASTReader( -      PP, Context, PCHContainerRdr, Extensions, +      PP, &Context, PCHContainerRdr, Extensions,        Sysroot.empty() ? "" : Sysroot.data(), DisablePCHValidation,        AllowPCHWithCompilerErrors, /*AllowConfigurationMismatch*/ false,        HSOpts.ModulesValidateSystemHeaders, UseGlobalModuleIndex)); @@ -825,8 +825,11 @@ bool CompilerInstance::InitializeSourceManager(      const FrontendInputFile &Input, DiagnosticsEngine &Diags,      FileManager &FileMgr, SourceManager &SourceMgr, HeaderSearch *HS,      DependencyOutputOptions &DepOpts, const FrontendOptions &Opts) { -  SrcMgr::CharacteristicKind -    Kind = Input.isSystem() ? SrcMgr::C_System : SrcMgr::C_User; +  SrcMgr::CharacteristicKind Kind = +      Input.getKind().getFormat() == InputKind::ModuleMap +          ? Input.isSystem() ? SrcMgr::C_System_ModuleMap +                             : SrcMgr::C_User_ModuleMap +          : Input.isSystem() ? SrcMgr::C_System : SrcMgr::C_User;    if (Input.isBuffer()) {      SourceMgr.setMainFileID(SourceMgr.createFileID( @@ -933,8 +936,9 @@ bool CompilerInstance::ExecuteAction(FrontendAction &Act) {    if (!hasTarget())      return false; -  // Create TargetInfo for the other side of CUDA compilation. -  if (getLangOpts().CUDA && !getFrontendOpts().AuxTriple.empty()) { +  // Create TargetInfo for the other side of CUDA and OpenMP compilation. +  if ((getLangOpts().CUDA || getLangOpts().OpenMPIsDevice) && +      !getFrontendOpts().AuxTriple.empty()) {      auto TO = std::make_shared<TargetOptions>();      TO->Triple = getFrontendOpts().AuxTriple;      TO->HostTriple = getTarget().getTriple().str(); @@ -1469,7 +1473,7 @@ void CompilerInstance::createModuleManager() {                                                   "Reading modules",                                                   *FrontendTimerGroup);      ModuleManager = new ASTReader( -        getPreprocessor(), getASTContext(), getPCHContainerReader(), +        getPreprocessor(), &getASTContext(), getPCHContainerReader(),          getFrontendOpts().ModuleFileExtensions,          Sysroot.empty() ? "" : Sysroot.c_str(), PPOpts.DisablePCHValidation,          /*AllowASTWithCompilerErrors=*/false,  | 
