r259489 - Move DebugInfoKind into its own header to cut the cyclic dependency edge from Driver to Frontend.

Robinson, Paul via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 2 08:04:49 PST 2016


Maybe Basic would be a better home for the new header?
Having CodeGen pull in something from Driver seems weird and unprecedented.
Thanks,
--paulr

> -----Original Message-----
> From: cfe-commits [mailto:cfe-commits-bounces at lists.llvm.org] On Behalf Of
> Benjamin Kramer via cfe-commits
> Sent: Tuesday, February 02, 2016 3:07 AM
> To: cfe-commits at lists.llvm.org
> Subject: r259489 - Move DebugInfoKind into its own header to cut the
> cyclic dependency edge from Driver to Frontend.
> 
> Author: d0k
> Date: Tue Feb  2 05:06:51 2016
> New Revision: 259489
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=259489&view=rev
> Log:
> Move DebugInfoKind into its own header to cut the cyclic dependency edge
> from Driver to Frontend.
> 
> Added:
>     cfe/trunk/include/clang/Driver/DebugInfoKind.h
> Modified:
>     cfe/trunk/include/clang/Frontend/CodeGenOptions.def
>     cfe/trunk/include/clang/Frontend/CodeGenOptions.h
>     cfe/trunk/lib/CodeGen/BackendUtil.cpp
>     cfe/trunk/lib/CodeGen/CGBlocks.cpp
>     cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
>     cfe/trunk/lib/CodeGen/CGDebugInfo.h
>     cfe/trunk/lib/CodeGen/CGDecl.cpp
>     cfe/trunk/lib/CodeGen/CGOpenMPRuntime.cpp
>     cfe/trunk/lib/CodeGen/CodeGenFunction.cpp
>     cfe/trunk/lib/CodeGen/CodeGenModule.cpp
>     cfe/trunk/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
>     cfe/trunk/lib/Driver/Tools.cpp
>     cfe/trunk/lib/Driver/Tools.h
>     cfe/trunk/lib/Frontend/CompilerInvocation.cpp
>     cfe/trunk/lib/Frontend/Rewrite/FrontendActions.cpp
> 
> Added: cfe/trunk/include/clang/Driver/DebugInfoKind.h
> URL: http://llvm.org/viewvc/llvm-
> project/cfe/trunk/include/clang/Driver/DebugInfoKind.h?rev=259489&view=aut
> o
> ==========================================================================
> ====
> --- cfe/trunk/include/clang/Driver/DebugInfoKind.h (added)
> +++ cfe/trunk/include/clang/Driver/DebugInfoKind.h Tue Feb  2 05:06:51
> 2016
> @@ -0,0 +1,39 @@
> +//===--- DebugInfoKind.h - Debug Info Emission Types ------------*- C++ -
> *-===//
> +//
> +//                     The LLVM Compiler Infrastructure
> +//
> +// This file is distributed under the University of Illinois Open Source
> +// License. See LICENSE.TXT for details.
> +//
> +//===--------------------------------------------------------------------
> --===//
> +
> +#ifndef LLVM_CLANG_DRIVER_DEBUGINFOKIND_H
> +#define LLVM_CLANG_DRIVER_DEBUGINFOKIND_H
> +
> +namespace clang {
> +namespace codegenoptions {
> +
> +enum DebugInfoKind {
> +  NoDebugInfo,         /// Don't generate debug info.
> +  LocTrackingOnly,     /// Emit location information but do not generate
> +                       /// debug info in the output. This is useful in
> +                       /// cases where the backend wants to track source
> +                       /// locations for instructions without actually
> +                       /// emitting debug info for them (e.g., when -
> Rpass
> +                       /// is used).
> +  DebugLineTablesOnly, /// Emit only debug info necessary for generating
> +                       /// line number tables (-gline-tables-only).
> +  LimitedDebugInfo,    /// Limit generated debug info to reduce size
> +                       /// (-fno-standalone-debug). This emits
> +                       /// forward decls for types that could be
> +                       /// replaced with forward decls in the source
> +                       /// code. For dynamic C++ classes type info
> +                       /// is only emitted int the module that
> +                       /// contains the classe's vtable.
> +  FullDebugInfo        /// Generate complete debug info.
> +};
> +
> +} // end namespace codegenoptions
> +} // end namespace clang
> +
> +#endif
> 
> Modified: cfe/trunk/include/clang/Frontend/CodeGenOptions.def
> URL: http://llvm.org/viewvc/llvm-
> project/cfe/trunk/include/clang/Frontend/CodeGenOptions.def?rev=259489&r1=
> 259488&r2=259489&view=diff
> ==========================================================================
> ====
> --- cfe/trunk/include/clang/Frontend/CodeGenOptions.def (original)
> +++ cfe/trunk/include/clang/Frontend/CodeGenOptions.def Tue Feb  2
> 05:06:51 2016
> @@ -185,7 +185,7 @@ VALUE_CODEGENOPT(NumRegisterParameters,
>  VALUE_CODEGENOPT(SSPBufferSize, 32, 0)
> 
>  /// The kind of generated debug info.
> -ENUM_CODEGENOPT(DebugInfo, DebugInfoKind, 3, NoDebugInfo)
> +ENUM_CODEGENOPT(DebugInfo, codegenoptions::DebugInfoKind, 3,
> codegenoptions::NoDebugInfo)
> 
>  /// Tune the debug info for this debugger.
>  ENUM_CODEGENOPT(DebuggerTuning, DebuggerKind, 2, DebuggerKindDefault)
> 
> Modified: cfe/trunk/include/clang/Frontend/CodeGenOptions.h
> URL: http://llvm.org/viewvc/llvm-
> project/cfe/trunk/include/clang/Frontend/CodeGenOptions.h?rev=259489&r1=25
> 9488&r2=259489&view=diff
> ==========================================================================
> ====
> --- cfe/trunk/include/clang/Frontend/CodeGenOptions.h (original)
> +++ cfe/trunk/include/clang/Frontend/CodeGenOptions.h Tue Feb  2 05:06:51
> 2016
> @@ -15,6 +15,7 @@
>  #define LLVM_CLANG_FRONTEND_CODEGENOPTIONS_H
> 
>  #include "clang/Basic/Sanitizers.h"
> +#include "clang/Driver/DebugInfoKind.h"
>  #include "llvm/Support/Regex.h"
>  #include <map>
>  #include <memory>
> @@ -58,30 +59,6 @@ public:
>      Mixed = 2
>    };
> 
> -  enum DebugInfoKind {
> -    NoDebugInfo,          /// Don't generate debug info.
> -
> -    LocTrackingOnly,      /// Emit location information but do not
> generate
> -                          /// debug info in the output. This is useful in
> -                          /// cases where the backend wants to track
> source
> -                          /// locations for instructions without actually
> -                          /// emitting debug info for them (e.g., when -
> Rpass
> -                          /// is used).
> -
> -    DebugLineTablesOnly,  /// Emit only debug info necessary for
> generating
> -                          /// line number tables (-gline-tables-only).
> -
> -    LimitedDebugInfo,     /// Limit generated debug info to reduce size
> -                          /// (-fno-standalone-debug). This emits
> -                          /// forward decls for types that could be
> -                          /// replaced with forward decls in the source
> -                          /// code. For dynamic C++ classes type info
> -                          /// is only emitted int the module that
> -                          /// contains the classe's vtable.
> -
> -    FullDebugInfo         /// Generate complete debug info.
> -  };
> -
>    enum DebuggerKind {
>      DebuggerKindDefault,
>      DebuggerKindGDB,
> 
> Modified: cfe/trunk/lib/CodeGen/BackendUtil.cpp
> URL: http://llvm.org/viewvc/llvm-
> project/cfe/trunk/lib/CodeGen/BackendUtil.cpp?rev=259489&r1=259488&r2=2594
> 89&view=diff
> ==========================================================================
> ====
> --- cfe/trunk/lib/CodeGen/BackendUtil.cpp (original)
> +++ cfe/trunk/lib/CodeGen/BackendUtil.cpp Tue Feb  2 05:06:51 2016
> @@ -425,7 +425,7 @@ void EmitAssemblyHelper::CreatePasses(Fu
>          !CodeGenOpts.CoverageNoFunctionNamesInData;
>      Options.ExitBlockBeforeBody =
> CodeGenOpts.CoverageExitBlockBeforeBody;
>      MPM->add(createGCOVProfilerPass(Options));
> -    if (CodeGenOpts.getDebugInfo() == CodeGenOptions::NoDebugInfo)
> +    if (CodeGenOpts.getDebugInfo() == codegenoptions::NoDebugInfo)
>        MPM->add(createStripSymbolsPass(true));
>    }
> 
> 
> Modified: cfe/trunk/lib/CodeGen/CGBlocks.cpp
> URL: http://llvm.org/viewvc/llvm-
> project/cfe/trunk/lib/CodeGen/CGBlocks.cpp?rev=259489&r1=259488&r2=259489&
> view=diff
> ==========================================================================
> ====
> --- cfe/trunk/lib/CodeGen/CGBlocks.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CGBlocks.cpp Tue Feb  2 05:06:51 2016
> @@ -1109,8 +1109,8 @@ void CodeGenFunction::setBlockContextPar
>    }
> 
>    if (CGDebugInfo *DI = getDebugInfo()) {
> -    if (CGM.getCodeGenOpts().getDebugInfo()
> -          >= CodeGenOptions::LimitedDebugInfo) {
> +    if (CGM.getCodeGenOpts().getDebugInfo() >=
> +        codegenoptions::LimitedDebugInfo) {
>        DI->setLocation(D->getLocation());
>        DI->EmitDeclareOfBlockLiteralArgVariable(*BlockInfo, arg, argNum,
>                                                 localAddr, Builder);
> @@ -1260,8 +1260,8 @@ CodeGenFunction::GenerateBlockFunction(G
>        const VarDecl *variable = CI.getVariable();
>        DI->EmitLocation(Builder, variable->getLocation());
> 
> -      if (CGM.getCodeGenOpts().getDebugInfo()
> -            >= CodeGenOptions::LimitedDebugInfo) {
> +      if (CGM.getCodeGenOpts().getDebugInfo() >=
> +          codegenoptions::LimitedDebugInfo) {
>          const CGBlockInfo::Capture &capture =
> blockInfo.getCapture(variable);
>          if (capture.isConstant()) {
>            auto addr = LocalDeclMap.find(variable)->second;
> 
> Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
> URL: http://llvm.org/viewvc/llvm-
> project/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp?rev=259489&r1=259488&r2=2594
> 89&view=diff
> ==========================================================================
> ====
> --- cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CGDebugInfo.cpp Tue Feb  2 05:06:51 2016
> @@ -402,10 +402,10 @@ void CGDebugInfo::CreateCompileUnit() {
>        LangTag, remapDIPath(MainFileName),
> remapDIPath(getCurrentDirname()),
>        Producer, LO.Optimize, CGM.getCodeGenOpts().DwarfDebugFlags,
> RuntimeVers,
>        CGM.getCodeGenOpts().SplitDwarfFile,
> -      DebugKind <= CodeGenOptions::DebugLineTablesOnly
> +      DebugKind <= codegenoptions::DebugLineTablesOnly
>            ? llvm::DIBuilder::LineTablesOnly
>            : llvm::DIBuilder::FullDebug,
> -      0 /* DWOid */, DebugKind != CodeGenOptions::LocTrackingOnly);
> +      0 /* DWOid */, DebugKind != codegenoptions::LocTrackingOnly);
>  }
> 
>  llvm::DIType *CGDebugInfo::CreateType(const BuiltinType *BT) {
> @@ -1446,7 +1446,7 @@ void CGDebugInfo::CollectVTableInfo(cons
> 
>  llvm::DIType *CGDebugInfo::getOrCreateRecordType(QualType RTy,
>                                                   SourceLocation Loc) {
> -  assert(DebugKind >= CodeGenOptions::LimitedDebugInfo);
> +  assert(DebugKind >= codegenoptions::LimitedDebugInfo);
>    llvm::DIType *T = getOrCreateType(RTy, getOrCreateFile(Loc));
>    return T;
>  }
> @@ -1458,7 +1458,7 @@ llvm::DIType *CGDebugInfo::getOrCreateIn
> 
>  llvm::DIType *CGDebugInfo::getOrCreateStandaloneType(QualType D,
>                                                       SourceLocation Loc)
> {
> -  assert(DebugKind >= CodeGenOptions::LimitedDebugInfo);
> +  assert(DebugKind >= codegenoptions::LimitedDebugInfo);
>    assert(!D.isNull() && "null type");
>    llvm::DIType *T = getOrCreateType(D, getOrCreateFile(Loc));
>    assert(T && "could not create debug info for type");
> @@ -1473,7 +1473,7 @@ llvm::DIType *CGDebugInfo::getOrCreateSt
>  }
> 
>  void CGDebugInfo::completeType(const EnumDecl *ED) {
> -  if (DebugKind <= CodeGenOptions::DebugLineTablesOnly)
> +  if (DebugKind <= codegenoptions::DebugLineTablesOnly)
>      return;
>    QualType Ty = CGM.getContext().getEnumType(ED);
>    void *TyPtr = Ty.getAsOpaquePtr();
> @@ -1486,13 +1486,13 @@ void CGDebugInfo::completeType(const Enu
>  }
> 
>  void CGDebugInfo::completeType(const RecordDecl *RD) {
> -  if (DebugKind > CodeGenOptions::LimitedDebugInfo ||
> +  if (DebugKind > codegenoptions::LimitedDebugInfo ||
>        !CGM.getLangOpts().CPlusPlus)
>      completeRequiredType(RD);
>  }
> 
>  void CGDebugInfo::completeRequiredType(const RecordDecl *RD) {
> -  if (DebugKind <= CodeGenOptions::DebugLineTablesOnly)
> +  if (DebugKind <= codegenoptions::DebugLineTablesOnly)
>      return;
> 
>    if (const CXXRecordDecl *CXXDecl = dyn_cast<CXXRecordDecl>(RD))
> @@ -1509,7 +1509,7 @@ void CGDebugInfo::completeRequiredType(c
>  }
> 
>  void CGDebugInfo::completeClassData(const RecordDecl *RD) {
> -  if (DebugKind <= CodeGenOptions::DebugLineTablesOnly)
> +  if (DebugKind <= codegenoptions::DebugLineTablesOnly)
>      return;
>    QualType Ty = CGM.getContext().getRecordType(RD);
>    void *TyPtr = Ty.getAsOpaquePtr();
> @@ -1531,16 +1531,15 @@ static bool hasExplicitMemberDefinition(
>    return false;
>  }
> 
> -static bool shouldOmitDefinition(CodeGenOptions::DebugInfoKind DebugKind,
> -                                 bool DebugTypeExtRefs,
> -                                 const RecordDecl *RD,
> +static bool shouldOmitDefinition(codegenoptions::DebugInfoKind DebugKind,
> +                                 bool DebugTypeExtRefs, const RecordDecl
> *RD,
>                                   const LangOptions &LangOpts) {
>    // Does the type exist in an imported clang module?
>    if (DebugTypeExtRefs && RD->isFromASTFile() && RD->getDefinition() &&
>        (RD->isExternallyVisible() || !RD->getName().empty()))
>      return true;
> 
> -  if (DebugKind > CodeGenOptions::LimitedDebugInfo)
> +  if (DebugKind > codegenoptions::LimitedDebugInfo)
>      return false;
> 
>    if (!LangOpts.CPlusPlus)
> @@ -2172,7 +2171,7 @@ llvm::DIType *CGDebugInfo::getTypeOrNull
> 
>  void CGDebugInfo::completeTemplateDefinition(
>      const ClassTemplateSpecializationDecl &SD) {
> -  if (DebugKind <= CodeGenOptions::DebugLineTablesOnly)
> +  if (DebugKind <= codegenoptions::DebugLineTablesOnly)
>      return;
> 
>    completeClassData(&SD);
> @@ -2438,13 +2437,12 @@ void CGDebugInfo::collectFunctionDeclPro
>    // No need to replicate the linkage name if it isn't different from the
>    // subprogram name, no need to have it at all unless coverage is
> enabled or
>    // debug is set to more than just line tables.
> -  if (LinkageName == Name ||
> -      (!CGM.getCodeGenOpts().EmitGcovArcs &&
> -       !CGM.getCodeGenOpts().EmitGcovNotes &&
> -       DebugKind <= CodeGenOptions::DebugLineTablesOnly))
> +  if (LinkageName == Name || (!CGM.getCodeGenOpts().EmitGcovArcs &&
> +                              !CGM.getCodeGenOpts().EmitGcovNotes &&
> +                              DebugKind <=
> codegenoptions::DebugLineTablesOnly))
>      LinkageName = StringRef();
> 
> -  if (DebugKind >= CodeGenOptions::LimitedDebugInfo) {
> +  if (DebugKind >= codegenoptions::LimitedDebugInfo) {
>      if (const NamespaceDecl *NSDecl =
>          dyn_cast_or_null<NamespaceDecl>(FD->getDeclContext()))
>        FDContext = getOrCreateNameSpace(NSDecl);
> @@ -2580,7 +2578,7 @@ llvm::DINode *CGDebugInfo::getDeclaratio
>  }
> 
>  llvm::DISubprogram *CGDebugInfo::getFunctionDeclaration(const Decl *D) {
> -  if (!D || DebugKind <= CodeGenOptions::DebugLineTablesOnly)
> +  if (!D || DebugKind <= codegenoptions::DebugLineTablesOnly)
>      return nullptr;
> 
>    const FunctionDecl *FD = dyn_cast<FunctionDecl>(D);
> @@ -2620,7 +2618,7 @@ llvm::DISubprogram *CGDebugInfo::getFunc
>  llvm::DISubroutineType *CGDebugInfo::getOrCreateFunctionType(const Decl
> *D,
>                                                               QualType
> FnType,
>                                                               llvm::DIFile
> *F) {
> -  if (!D || DebugKind <= CodeGenOptions::DebugLineTablesOnly)
> +  if (!D || DebugKind <= codegenoptions::DebugLineTablesOnly)
>      // Create fake but valid subroutine type. Otherwise -verify would
> fail, and
>      // subprogram DIE will miss DW_AT_decl_file and DW_AT_decl_line
> fields.
>      return
> DBuilder.createSubroutineType(DBuilder.getOrCreateTypeArray(None));
> @@ -2828,7 +2826,7 @@ void CGDebugInfo::EmitLexicalBlockStart(
>    Builder.SetCurrentDebugLocation(llvm::DebugLoc::get(
>        getLineNumber(Loc), getColumnNumber(Loc),
> LexicalBlockStack.back()));
> 
> -  if (DebugKind <= CodeGenOptions::DebugLineTablesOnly)
> +  if (DebugKind <= codegenoptions::DebugLineTablesOnly)
>      return;
> 
>    // Create a new lexical block and push it on the stack.
> @@ -2842,7 +2840,7 @@ void CGDebugInfo::EmitLexicalBlockEnd(CG
>    // Provide an entry in the line table for the end of the block.
>    EmitLocation(Builder, Loc);
> 
> -  if (DebugKind <= CodeGenOptions::DebugLineTablesOnly)
> +  if (DebugKind <= codegenoptions::DebugLineTablesOnly)
>      return;
> 
>    LexicalBlockStack.pop_back();
> @@ -2937,7 +2935,7 @@ llvm::DIType *CGDebugInfo::EmitTypeForVa
>  void CGDebugInfo::EmitDeclare(const VarDecl *VD, llvm::Value *Storage,
>                                llvm::Optional<unsigned> ArgNo,
>                                CGBuilderTy &Builder) {
> -  assert(DebugKind >= CodeGenOptions::LimitedDebugInfo);
> +  assert(DebugKind >= codegenoptions::LimitedDebugInfo);
>    assert(!LexicalBlockStack.empty() && "Region stack mismatch, stack
> empty!");
> 
>    bool Unwritten =
> @@ -3063,7 +3061,7 @@ void CGDebugInfo::EmitDeclare(const VarD
>  void CGDebugInfo::EmitDeclareOfAutoVariable(const VarDecl *VD,
>                                              llvm::Value *Storage,
>                                              CGBuilderTy &Builder) {
> -  assert(DebugKind >= CodeGenOptions::LimitedDebugInfo);
> +  assert(DebugKind >= codegenoptions::LimitedDebugInfo);
>    EmitDeclare(VD, Storage, llvm::None, Builder);
>  }
> 
> @@ -3078,7 +3076,7 @@ llvm::DIType *CGDebugInfo::CreateSelfTyp
>  void CGDebugInfo::EmitDeclareOfBlockDeclRefVariable(
>      const VarDecl *VD, llvm::Value *Storage, CGBuilderTy &Builder,
>      const CGBlockInfo &blockInfo, llvm::Instruction *InsertPoint) {
> -  assert(DebugKind >= CodeGenOptions::LimitedDebugInfo);
> +  assert(DebugKind >= codegenoptions::LimitedDebugInfo);
>    assert(!LexicalBlockStack.empty() && "Region stack mismatch, stack
> empty!");
> 
>    if (Builder.GetInsertBlock() == nullptr)
> @@ -3146,7 +3144,7 @@ void CGDebugInfo::EmitDeclareOfBlockDecl
>  void CGDebugInfo::EmitDeclareOfArgVariable(const VarDecl *VD, llvm::Value
> *AI,
>                                             unsigned ArgNo,
>                                             CGBuilderTy &Builder) {
> -  assert(DebugKind >= CodeGenOptions::LimitedDebugInfo);
> +  assert(DebugKind >= codegenoptions::LimitedDebugInfo);
>    EmitDeclare(VD, AI, ArgNo, Builder);
>  }
> 
> @@ -3165,7 +3163,7 @@ void CGDebugInfo::EmitDeclareOfBlockLite
>                                                         unsigned ArgNo,
>                                                         llvm::Value
> *LocalAddr,
>                                                         CGBuilderTy
> &Builder) {
> -  assert(DebugKind >= CodeGenOptions::LimitedDebugInfo);
> +  assert(DebugKind >= codegenoptions::LimitedDebugInfo);
>    ASTContext &C = CGM.getContext();
>    const BlockDecl *blockDecl = block.getBlockDecl();
> 
> @@ -3351,7 +3349,7 @@ llvm::DIGlobalVariable *CGDebugInfo::Col
> 
>  void CGDebugInfo::EmitGlobalVariable(llvm::GlobalVariable *Var,
>                                       const VarDecl *D) {
> -  assert(DebugKind >= CodeGenOptions::LimitedDebugInfo);
> +  assert(DebugKind >= codegenoptions::LimitedDebugInfo);
>    // Create global variable debug descriptor.
>    llvm::DIFile *Unit = nullptr;
>    llvm::DIScope *DContext = nullptr;
> @@ -3383,7 +3381,7 @@ void CGDebugInfo::EmitGlobalVariable(llv
> 
>  void CGDebugInfo::EmitGlobalVariable(const ValueDecl *VD,
>                                       llvm::Constant *Init) {
> -  assert(DebugKind >= CodeGenOptions::LimitedDebugInfo);
> +  assert(DebugKind >= codegenoptions::LimitedDebugInfo);
>    // Create the descriptor for the variable.
>    llvm::DIFile *Unit = getOrCreateFile(VD->getLocation());
>    StringRef Name = VD->getName();
> @@ -3430,7 +3428,7 @@ llvm::DIScope *CGDebugInfo::getCurrentCo
>  }
> 
>  void CGDebugInfo::EmitUsingDirective(const UsingDirectiveDecl &UD) {
> -  if (CGM.getCodeGenOpts().getDebugInfo() <
> CodeGenOptions::LimitedDebugInfo)
> +  if (CGM.getCodeGenOpts().getDebugInfo() <
> codegenoptions::LimitedDebugInfo)
>      return;
>    const NamespaceDecl *NSDecl = UD.getNominatedNamespace();
>    if (!NSDecl->isAnonymousNamespace() ||
> @@ -3443,7 +3441,7 @@ void CGDebugInfo::EmitUsingDirective(con
>  }
> 
>  void CGDebugInfo::EmitUsingDecl(const UsingDecl &UD) {
> -  if (CGM.getCodeGenOpts().getDebugInfo() <
> CodeGenOptions::LimitedDebugInfo)
> +  if (CGM.getCodeGenOpts().getDebugInfo() <
> codegenoptions::LimitedDebugInfo)
>      return;
>    assert(UD.shadow_size() &&
>           "We shouldn't be codegening an invalid UsingDecl containing no
> decls");
> @@ -3469,7 +3467,7 @@ void CGDebugInfo::EmitImportDecl(const I
> 
>  llvm::DIImportedEntity *
>  CGDebugInfo::EmitNamespaceAlias(const NamespaceAliasDecl &NA) {
> -  if (CGM.getCodeGenOpts().getDebugInfo() <
> CodeGenOptions::LimitedDebugInfo)
> +  if (CGM.getCodeGenOpts().getDebugInfo() <
> codegenoptions::LimitedDebugInfo)
>      return nullptr;
>    auto &VH = NamespaceAliasCache[&NA];
>    if (VH)
> @@ -3564,7 +3562,7 @@ void CGDebugInfo::finalize() {
>  }
> 
>  void CGDebugInfo::EmitExplicitCastType(QualType Ty) {
> -  if (CGM.getCodeGenOpts().getDebugInfo() <
> CodeGenOptions::LimitedDebugInfo)
> +  if (CGM.getCodeGenOpts().getDebugInfo() <
> codegenoptions::LimitedDebugInfo)
>      return;
> 
>    if (auto *DieTy = getOrCreateType(Ty, getOrCreateMainFile()))
> 
> Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.h
> URL: http://llvm.org/viewvc/llvm-
> project/cfe/trunk/lib/CodeGen/CGDebugInfo.h?rev=259489&r1=259488&r2=259489
> &view=diff
> ==========================================================================
> ====
> --- cfe/trunk/lib/CodeGen/CGDebugInfo.h (original)
> +++ cfe/trunk/lib/CodeGen/CGDebugInfo.h Tue Feb  2 05:06:51 2016
> @@ -53,7 +53,7 @@ class CGDebugInfo {
>    friend class ApplyDebugLocation;
>    friend class SaveAndRestoreLocation;
>    CodeGenModule &CGM;
> -  const CodeGenOptions::DebugInfoKind DebugKind;
> +  const codegenoptions::DebugInfoKind DebugKind;
>    bool DebugTypeExtRefs;
>    llvm::DIBuilder DBuilder;
>    llvm::DICompileUnit *TheCU = nullptr;
> 
> Modified: cfe/trunk/lib/CodeGen/CGDecl.cpp
> URL: http://llvm.org/viewvc/llvm-
> project/cfe/trunk/lib/CodeGen/CGDecl.cpp?rev=259489&r1=259488&r2=259489&vi
> ew=diff
> ==========================================================================
> ====
> --- cfe/trunk/lib/CodeGen/CGDecl.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CGDecl.cpp Tue Feb  2 05:06:51 2016
> @@ -394,7 +394,7 @@ void CodeGenFunction::EmitStaticVarDecl(
>    // Emit global variable debug descriptor for static vars.
>    CGDebugInfo *DI = getDebugInfo();
>    if (DI &&
> -      CGM.getCodeGenOpts().getDebugInfo() >=
> CodeGenOptions::LimitedDebugInfo) {
> +      CGM.getCodeGenOpts().getDebugInfo() >=
> codegenoptions::LimitedDebugInfo) {
>      DI->setLocation(D.getLocation());
>      DI->EmitGlobalVariable(var, &D);
>    }
> @@ -1085,8 +1085,8 @@ CodeGenFunction::EmitAutoVarAlloca(const
>    // Emit debug info for local var declaration.
>    if (HaveInsertPoint())
>      if (CGDebugInfo *DI = getDebugInfo()) {
> -      if (CGM.getCodeGenOpts().getDebugInfo()
> -            >= CodeGenOptions::LimitedDebugInfo) {
> +      if (CGM.getCodeGenOpts().getDebugInfo() >=
> +          codegenoptions::LimitedDebugInfo) {
>          DI->setLocation(D.getLocation());
>          DI->EmitDeclareOfAutoVariable(&D, address.getPointer(), Builder);
>        }
> @@ -1851,8 +1851,8 @@ void CodeGenFunction::EmitParmDecl(const
> 
>    // Emit debug info for param declaration.
>    if (CGDebugInfo *DI = getDebugInfo()) {
> -    if (CGM.getCodeGenOpts().getDebugInfo()
> -          >= CodeGenOptions::LimitedDebugInfo) {
> +    if (CGM.getCodeGenOpts().getDebugInfo() >=
> +        codegenoptions::LimitedDebugInfo) {
>        DI->EmitDeclareOfArgVariable(&D, DeclPtr.getPointer(), ArgNo,
> Builder);
>      }
>    }
> 
> Modified: cfe/trunk/lib/CodeGen/CGOpenMPRuntime.cpp
> URL: http://llvm.org/viewvc/llvm-
> project/cfe/trunk/lib/CodeGen/CGOpenMPRuntime.cpp?rev=259489&r1=259488&r2=
> 259489&view=diff
> ==========================================================================
> ====
> --- cfe/trunk/lib/CodeGen/CGOpenMPRuntime.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CGOpenMPRuntime.cpp Tue Feb  2 05:06:51 2016
> @@ -417,7 +417,7 @@ llvm::Value *CGOpenMPRuntime::emitUpdate
>                                                   SourceLocation Loc,
>                                                   OpenMPLocationFlags
> Flags) {
>    // If no debug info is generated - return global default location.
> -  if (CGM.getCodeGenOpts().getDebugInfo() == CodeGenOptions::NoDebugInfo
> ||
> +  if (CGM.getCodeGenOpts().getDebugInfo() == codegenoptions::NoDebugInfo
> ||
>        Loc.isInvalid())
>      return getOrCreateDefaultLocation(Flags).getPointer();
> 
> 
> Modified: cfe/trunk/lib/CodeGen/CodeGenFunction.cpp
> URL: http://llvm.org/viewvc/llvm-
> project/cfe/trunk/lib/CodeGen/CodeGenFunction.cpp?rev=259489&r1=259488&r2=
> 259489&view=diff
> ==========================================================================
> ====
> --- cfe/trunk/lib/CodeGen/CodeGenFunction.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CodeGenFunction.cpp Tue Feb  2 05:06:51 2016
> @@ -1764,7 +1764,7 @@ void CodeGenFunction::EmitDeclRefExprDbg
>                                                llvm::Constant *Init) {
>    assert (Init && "Invalid DeclRefExpr initializer!");
>    if (CGDebugInfo *Dbg = getDebugInfo())
> -    if (CGM.getCodeGenOpts().getDebugInfo() >=
> CodeGenOptions::LimitedDebugInfo)
> +    if (CGM.getCodeGenOpts().getDebugInfo() >=
> codegenoptions::LimitedDebugInfo)
>        Dbg->EmitGlobalVariable(E->getDecl(), Init);
>  }
> 
> 
> Modified: cfe/trunk/lib/CodeGen/CodeGenModule.cpp
> URL: http://llvm.org/viewvc/llvm-
> project/cfe/trunk/lib/CodeGen/CodeGenModule.cpp?rev=259489&r1=259488&r2=25
> 9489&view=diff
> ==========================================================================
> ====
> --- cfe/trunk/lib/CodeGen/CodeGenModule.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CodeGenModule.cpp Tue Feb  2 05:06:51 2016
> @@ -137,9 +137,8 @@ CodeGenModule::CodeGenModule(ASTContext
> 
>    // If debug info or coverage generation is enabled, create the
> CGDebugInfo
>    // object.
> -  if (CodeGenOpts.getDebugInfo() != CodeGenOptions::NoDebugInfo ||
> -      CodeGenOpts.EmitGcovArcs ||
> -      CodeGenOpts.EmitGcovNotes)
> +  if (CodeGenOpts.getDebugInfo() != codegenoptions::NoDebugInfo ||
> +      CodeGenOpts.EmitGcovArcs || CodeGenOpts.EmitGcovNotes)
>      DebugInfo = new CGDebugInfo(*this);
> 
>    Block.GlobalUniqueCount = 0;
> @@ -1703,7 +1702,7 @@ void CodeGenModule::CompleteDIClassType(
>      return;
> 
>    if (CGDebugInfo *DI = getModuleDebugInfo())
> -    if (getCodeGenOpts().getDebugInfo() >=
> CodeGenOptions::LimitedDebugInfo) {
> +    if (getCodeGenOpts().getDebugInfo() >=
> codegenoptions::LimitedDebugInfo) {
>        const auto *ThisPtr = cast<PointerType>(D-
> >getThisType(getContext()));
>        DI->getOrCreateRecordType(ThisPtr->getPointeeType(), D-
> >getLocation());
>      }
> @@ -2507,7 +2506,7 @@ void CodeGenModule::EmitGlobalVarDefinit
> 
>    // Emit global variable debug information.
>    if (CGDebugInfo *DI = getModuleDebugInfo())
> -    if (getCodeGenOpts().getDebugInfo() >=
> CodeGenOptions::LimitedDebugInfo)
> +    if (getCodeGenOpts().getDebugInfo() >=
> codegenoptions::LimitedDebugInfo)
>        DI->EmitGlobalVariable(GV, D);
>  }
> 
> @@ -3663,7 +3662,7 @@ void CodeGenModule::EmitTopLevelDecl(Dec
>      ObjCRuntime->GenerateClass(OMD);
>      // Emit global variable debug information.
>      if (CGDebugInfo *DI = getModuleDebugInfo())
> -      if (getCodeGenOpts().getDebugInfo() >=
> CodeGenOptions::LimitedDebugInfo)
> +      if (getCodeGenOpts().getDebugInfo() >=
> codegenoptions::LimitedDebugInfo)
>          DI->getOrCreateInterfaceType(getContext().getObjCInterfaceType(
>              OMD->getClassInterface()), OMD->getLocation());
>      break;
> 
> Modified: cfe/trunk/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
> URL: http://llvm.org/viewvc/llvm-
> project/cfe/trunk/lib/CodeGen/ObjectFilePCHContainerOperations.cpp?rev=259
> 489&r1=259488&r2=259489&view=diff
> ==========================================================================
> ====
> --- cfe/trunk/lib/CodeGen/ObjectFilePCHContainerOperations.cpp (original)
> +++ cfe/trunk/lib/CodeGen/ObjectFilePCHContainerOperations.cpp Tue Feb  2
> 05:06:51 2016
> @@ -151,7 +151,7 @@ public:
>      CodeGenOpts.CodeModel = "default";
>      CodeGenOpts.ThreadModel = "single";
>      CodeGenOpts.DebugTypeExtRefs = true;
> -    CodeGenOpts.setDebugInfo(CodeGenOptions::FullDebugInfo);
> +    CodeGenOpts.setDebugInfo(codegenoptions::FullDebugInfo);
>    }
> 
>    ~PCHContainerGenerator() override = default;
> 
> Modified: cfe/trunk/lib/Driver/Tools.cpp
> URL: http://llvm.org/viewvc/llvm-
> project/cfe/trunk/lib/Driver/Tools.cpp?rev=259489&r1=259488&r2=259489&view
> =diff
> ==========================================================================
> ====
> --- cfe/trunk/lib/Driver/Tools.cpp (original)
> +++ cfe/trunk/lib/Driver/Tools.cpp Tue Feb  2 05:06:51 2016
> @@ -2507,16 +2507,16 @@ static bool UseRelaxAll(Compilation &C,
> 
>  // Convert an arg of the form "-gN" or "-ggdbN" or one of their aliases
>  // to the corresponding DebugInfoKind.
> -static CodeGenOptions::DebugInfoKind DebugLevelToInfoKind(const Arg &A) {
> +static codegenoptions::DebugInfoKind DebugLevelToInfoKind(const Arg &A) {
>    assert(A.getOption().matches(options::OPT_gN_Group) &&
>           "Not a -g option that specifies a debug-info level");
>    if (A.getOption().matches(options::OPT_g0) ||
>        A.getOption().matches(options::OPT_ggdb0))
> -    return CodeGenOptions::NoDebugInfo;
> +    return codegenoptions::NoDebugInfo;
>    if (A.getOption().matches(options::OPT_gline_tables_only) ||
>        A.getOption().matches(options::OPT_ggdb1))
> -    return CodeGenOptions::DebugLineTablesOnly;
> -  return CodeGenOptions::LimitedDebugInfo;
> +    return codegenoptions::DebugLineTablesOnly;
> +  return codegenoptions::LimitedDebugInfo;
>  }
> 
>  // Extract the integer N from a string spelled "-dwarf-N", returning 0
> @@ -2532,17 +2532,17 @@ static unsigned DwarfVersionNum(StringRe
>  }
> 
>  static void RenderDebugEnablingArgs(const ArgList &Args, ArgStringList
> &CmdArgs,
> -                                    CodeGenOptions::DebugInfoKind
> DebugInfoKind,
> +                                    codegenoptions::DebugInfoKind
> DebugInfoKind,
>                                      unsigned DwarfVersion,
>                                      llvm::DebuggerKind DebuggerTuning) {
>    switch (DebugInfoKind) {
> -  case CodeGenOptions::DebugLineTablesOnly:
> +  case codegenoptions::DebugLineTablesOnly:
>      CmdArgs.push_back("-debug-info-kind=line-tables-only");
>      break;
> -  case CodeGenOptions::LimitedDebugInfo:
> +  case codegenoptions::LimitedDebugInfo:
>      CmdArgs.push_back("-debug-info-kind=limited");
>      break;
> -  case CodeGenOptions::FullDebugInfo:
> +  case codegenoptions::FullDebugInfo:
>      CmdArgs.push_back("-debug-info-kind=standalone");
>      break;
>    default:
> @@ -2679,9 +2679,9 @@ static void CollectArgsForIntegratedAsse
>          if (DwarfVersion == 0) { // Send it onward, and let cc1as
> complain.
>            CmdArgs.push_back(Value.data());
>          } else {
> -          RenderDebugEnablingArgs(
> -              Args, CmdArgs, CodeGenOptions::LimitedDebugInfo,
> DwarfVersion,
> -              llvm::DebuggerKind::Default);
> +          RenderDebugEnablingArgs(Args, CmdArgs,
> +                                  codegenoptions::LimitedDebugInfo,
> +                                  DwarfVersion,
> llvm::DebuggerKind::Default);
>          }
>        } else if (Value.startswith("-mcpu") || Value.startswith("-mfpu")
> ||
>                   Value.startswith("-mhwdiv") || Value.startswith("-
> march")) {
> @@ -4113,8 +4113,7 @@ void Clang::ConstructJob(Compilation &C,
>    unsigned DwarfVersion = 0;
>    llvm::DebuggerKind DebuggerTuning =
> getToolChain().getDefaultDebuggerTuning();
>    // These two are potentially updated by AddClangCLArgs.
> -  enum CodeGenOptions::DebugInfoKind DebugInfoKind =
> -      CodeGenOptions::NoDebugInfo;
> +  codegenoptions::DebugInfoKind DebugInfoKind =
> codegenoptions::NoDebugInfo;
>    bool EmitCodeView = false;
> 
>    // Add clang-cl arguments.
> @@ -4169,12 +4168,12 @@ void Clang::ConstructJob(Compilation &C,
>        // If you say "-gsplit-dwarf -gline-tables-only", -gsplit-dwarf
> loses.
>        // But -gsplit-dwarf is not a g_group option, hence we have to
> check the
>        // order explicitly. (If -gsplit-dwarf wins, we fix DebugInfoKind
> later.)
> -      if (SplitDwarfArg && DebugInfoKind <
> CodeGenOptions::LimitedDebugInfo &&
> +      if (SplitDwarfArg && DebugInfoKind <
> codegenoptions::LimitedDebugInfo &&
>            A->getIndex() > SplitDwarfArg->getIndex())
>          SplitDwarfArg = nullptr;
>      } else
>        // For any other 'g' option, use Limited.
> -      DebugInfoKind = CodeGenOptions::LimitedDebugInfo;
> +      DebugInfoKind = codegenoptions::LimitedDebugInfo;
>    }
> 
>    // If a debugger tuning argument appeared, remember it.
> @@ -4199,7 +4198,7 @@ void Clang::ConstructJob(Compilation &C,
>      // DwarfVersion remains at 0 if no explicit choice was made.
>      CmdArgs.push_back("-gcodeview");
>    } else if (DwarfVersion == 0 &&
> -             DebugInfoKind != CodeGenOptions::NoDebugInfo) {
> +             DebugInfoKind != codegenoptions::NoDebugInfo) {
>      DwarfVersion = getToolChain().GetDefaultDwarfVersion();
>    }
> 
> @@ -4213,7 +4212,7 @@ void Clang::ConstructJob(Compilation &C,
> 
>    // FIXME: Move backend command line options to the module.
>    if (Args.hasArg(options::OPT_gmodules)) {
> -    DebugInfoKind = CodeGenOptions::LimitedDebugInfo;
> +    DebugInfoKind = codegenoptions::LimitedDebugInfo;
>      CmdArgs.push_back("-dwarf-ext-refs");
>      CmdArgs.push_back("-fmodule-format=obj");
>    }
> @@ -4222,7 +4221,7 @@ void Clang::ConstructJob(Compilation &C,
>    // splitting and extraction.
>    // FIXME: Currently only works on Linux.
>    if (getToolChain().getTriple().isOSLinux() && SplitDwarfArg) {
> -    DebugInfoKind = CodeGenOptions::LimitedDebugInfo;
> +    DebugInfoKind = codegenoptions::LimitedDebugInfo;
>      CmdArgs.push_back("-backend-option");
>      CmdArgs.push_back("-split-dwarf=Enable");
>    }
> @@ -4235,8 +4234,8 @@ void Clang::ConstructJob(Compilation &C,
>    bool NeedFullDebug = Args.hasFlag(options::OPT_fstandalone_debug,
>                                      options::OPT_fno_standalone_debug,
> 
> getToolChain().GetDefaultStandaloneDebug());
> -  if (DebugInfoKind == CodeGenOptions::LimitedDebugInfo && NeedFullDebug)
> -    DebugInfoKind = CodeGenOptions::FullDebugInfo;
> +  if (DebugInfoKind == codegenoptions::LimitedDebugInfo && NeedFullDebug)
> +    DebugInfoKind = codegenoptions::FullDebugInfo;
>    RenderDebugEnablingArgs(Args, CmdArgs, DebugInfoKind, DwarfVersion,
>                            DebuggerTuning);
> 
> @@ -5823,7 +5822,7 @@ static EHFlags parseClangCLEHFlags(const
>  }
> 
>  void Clang::AddClangCLArgs(const ArgList &Args, ArgStringList &CmdArgs,
> -                           enum CodeGenOptions::DebugInfoKind
> *DebugInfoKind,
> +                           codegenoptions::DebugInfoKind *DebugInfoKind,
>                             bool *EmitCodeView) const {
>    unsigned RTOptionID = options::OPT__SLASH_MT;
> 
> @@ -5893,7 +5892,7 @@ void Clang::AddClangCLArgs(const ArgList
>    // If we are emitting CV but not DWARF, don't build information that
> LLVM
>    // can't yet process.
>    if (*EmitCodeView && !EmitDwarf)
> -    *DebugInfoKind = CodeGenOptions::DebugLineTablesOnly;
> +    *DebugInfoKind = codegenoptions::DebugLineTablesOnly;
>    if (*EmitCodeView)
>      CmdArgs.push_back("-gcodeview");
> 
> @@ -6057,8 +6056,8 @@ void ClangAs::ConstructJob(Compilation &
>      if (DwarfVersion == 0)
>        DwarfVersion = getToolChain().GetDefaultDwarfVersion();
>      RenderDebugEnablingArgs(Args, CmdArgs,
> -                            (WantDebug ? CodeGenOptions::LimitedDebugInfo
> -                                       : CodeGenOptions::NoDebugInfo),
> +                            (WantDebug ? codegenoptions::LimitedDebugInfo
> +                                       : codegenoptions::NoDebugInfo),
>                              DwarfVersion, llvm::DebuggerKind::Default);
> 
>      // Add the -fdebug-compilation-dir flag if needed.
> 
> Modified: cfe/trunk/lib/Driver/Tools.h
> URL: http://llvm.org/viewvc/llvm-
> project/cfe/trunk/lib/Driver/Tools.h?rev=259489&r1=259488&r2=259489&view=d
> iff
> ==========================================================================
> ====
> --- cfe/trunk/lib/Driver/Tools.h (original)
> +++ cfe/trunk/lib/Driver/Tools.h Tue Feb  2 05:06:51 2016
> @@ -11,10 +11,10 @@
>  #define LLVM_CLANG_LIB_DRIVER_TOOLS_H
> 
>  #include "clang/Basic/VersionTuple.h"
> +#include "clang/Driver/DebugInfoKind.h"
>  #include "clang/Driver/Tool.h"
>  #include "clang/Driver/Types.h"
>  #include "clang/Driver/Util.h"
> -#include "clang/Frontend/CodeGenOptions.h"
>  #include "llvm/ADT/Triple.h"
>  #include "llvm/Option/Option.h"
>  #include "llvm/Support/Compiler.h"
> @@ -93,7 +93,7 @@ private:
> 
>    void AddClangCLArgs(const llvm::opt::ArgList &Args,
>                        llvm::opt::ArgStringList &CmdArgs,
> -                      enum CodeGenOptions::DebugInfoKind *DebugInfoKind,
> +                      codegenoptions::DebugInfoKind *DebugInfoKind,
>                        bool *EmitCodeView) const;
> 
>    visualstudio::Compiler *getCLFallback() const;
> 
> Modified: cfe/trunk/lib/Frontend/CompilerInvocation.cpp
> URL: http://llvm.org/viewvc/llvm-
> project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=259489&r1=259488
> &r2=259489&view=diff
> ==========================================================================
> ====
> --- cfe/trunk/lib/Frontend/CompilerInvocation.cpp (original)
> +++ cfe/trunk/lib/Frontend/CompilerInvocation.cpp Tue Feb  2 05:06:51 2016
> @@ -416,15 +416,15 @@ static bool ParseCodeGenArgs(CodeGenOpti
>    if (Arg *A = Args.getLastArg(OPT_debug_info_kind_EQ)) {
>      unsigned Val =
>          llvm::StringSwitch<unsigned>(A->getValue())
> -            .Case("line-tables-only",
> CodeGenOptions::DebugLineTablesOnly)
> -            .Case("limited", CodeGenOptions::LimitedDebugInfo)
> -            .Case("standalone", CodeGenOptions::FullDebugInfo)
> +            .Case("line-tables-only",
> codegenoptions::DebugLineTablesOnly)
> +            .Case("limited", codegenoptions::LimitedDebugInfo)
> +            .Case("standalone", codegenoptions::FullDebugInfo)
>              .Default(~0U);
>      if (Val == ~0U)
>        Diags.Report(diag::err_drv_invalid_value) << A->getAsString(Args)
>                                                  << A->getValue();
>      else
> -      Opts.setDebugInfo(static_cast<CodeGenOptions::DebugInfoKind>(Val));
> +      Opts.setDebugInfo(static_cast<codegenoptions::DebugInfoKind>(Val));
>    }
>    if (Arg *A = Args.getLastArg(OPT_debugger_tuning_EQ)) {
>      unsigned Val = llvm::StringSwitch<unsigned>(A->getValue())
> @@ -727,8 +727,8 @@ static bool ParseCodeGenArgs(CodeGenOpti
> 
>    // If the user requested a flag that requires source locations
> available in
>    // the backend, make sure that the backend tracks source location
> information.
> -  if (NeedLocTracking && Opts.getDebugInfo() ==
> CodeGenOptions::NoDebugInfo)
> -    Opts.setDebugInfo(CodeGenOptions::LocTrackingOnly);
> +  if (NeedLocTracking && Opts.getDebugInfo() ==
> codegenoptions::NoDebugInfo)
> +    Opts.setDebugInfo(codegenoptions::LocTrackingOnly);
> 
>    Opts.RewriteMapFiles = Args.getAllArgValues(OPT_frewrite_map_file);
> 
> 
> Modified: cfe/trunk/lib/Frontend/Rewrite/FrontendActions.cpp
> URL: http://llvm.org/viewvc/llvm-
> project/cfe/trunk/lib/Frontend/Rewrite/FrontendActions.cpp?rev=259489&r1=2
> 59488&r2=259489&view=diff
> ==========================================================================
> ====
> --- cfe/trunk/lib/Frontend/Rewrite/FrontendActions.cpp (original)
> +++ cfe/trunk/lib/Frontend/Rewrite/FrontendActions.cpp Tue Feb  2 05:06:51
> 2016
> @@ -153,11 +153,10 @@ std::unique_ptr<ASTConsumer>
>  RewriteObjCAction::CreateASTConsumer(CompilerInstance &CI, StringRef
> InFile) {
>    if (raw_ostream *OS = CI.createDefaultOutputFile(false, InFile, "cpp"))
> {
>      if (CI.getLangOpts().ObjCRuntime.isNonFragile())
> -      return CreateModernObjCRewriter(InFile, OS,
> -                                CI.getDiagnostics(), CI.getLangOpts(),
> -                                CI.getDiagnosticOpts().NoRewriteMacros,
> -                                (CI.getCodeGenOpts().getDebugInfo() !=
> -                                 CodeGenOptions::NoDebugInfo));
> +      return CreateModernObjCRewriter(
> +          InFile, OS, CI.getDiagnostics(), CI.getLangOpts(),
> +          CI.getDiagnosticOpts().NoRewriteMacros,
> +          (CI.getCodeGenOpts().getDebugInfo() !=
> codegenoptions::NoDebugInfo));
>      return CreateObjCRewriter(InFile, OS,
>                                CI.getDiagnostics(), CI.getLangOpts(),
>                                CI.getDiagnosticOpts().NoRewriteMacros);
> 
> 
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


More information about the cfe-commits mailing list