diff --git a/lib/Frontend/CompilerInvocation.cpp b/lib/Frontend/CompilerInvocation.cpp index 9307711c82fe2586ac8b10fc0141941a2eb388ff..06e8554d9d37c62f90b12b784d4dc74bea6d8719 100644 --- a/lib/Frontend/CompilerInvocation.cpp +++ b/lib/Frontend/CompilerInvocation.cpp @@ -53,7 +53,7 @@ CompilerInvocationBase::CompilerInvocationBase() CompilerInvocationBase::CompilerInvocationBase(const CompilerInvocationBase &X) : RefCountedBase<CompilerInvocation>(), - LangOpts(new LangOptions(*X.getLangOpts())), + LangOpts(new LangOptions(*X.getLangOpts())), TargetOpts(new TargetOptions(X.getTargetOpts())), DiagnosticOpts(new DiagnosticOptions(X.getDiagnosticOpts())), HeaderSearchOpts(new HeaderSearchOptions(X.getHeaderSearchOpts())), @@ -1369,7 +1369,7 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK, .Case("CL1.2", LangStandard::lang_opencl12) .Case("CL2.0", LangStandard::lang_opencl20) .Default(LangStandard::lang_unspecified); - + if (OpenCLLangStd == LangStandard::lang_unspecified) { Diags.Report(diag::err_drv_invalid_value) << A->getAsString(Args) << A->getValue(); @@ -1377,7 +1377,7 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK, else LangStd = OpenCLLangStd; } - + CompilerInvocation::setLangDefaults(Opts, IK, LangStd); // We abuse '-f[no-]gnu-keywords' to force overriding all GNU-extension @@ -1425,12 +1425,12 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK, if (Args.hasArg(OPT_fno_objc_infer_related_result_type)) Opts.ObjCInferRelatedResultType = 0; - + if (Args.hasArg(OPT_fobjc_subscripting_legacy_runtime)) Opts.ObjCSubscriptingLegacyRuntime = (Opts.ObjCRuntime.getKind() == ObjCRuntime::FragileMacOSX); } - + if (Args.hasArg(OPT_fgnu89_inline)) { if (Opts.CPlusPlus) Diags.Report(diag::err_drv_argument_not_allowed_with) << "-fgnu89-inline" @@ -1583,7 +1583,7 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK, Opts.PIELevel = getLastArgIntValue(Args, OPT_pie_level, 0, Diags); Opts.Static = Args.hasArg(OPT_static_define); Opts.DumpRecordLayoutsSimple = Args.hasArg(OPT_fdump_record_layouts_simple); - Opts.DumpRecordLayouts = Opts.DumpRecordLayoutsSimple + Opts.DumpRecordLayouts = Opts.DumpRecordLayoutsSimple || Args.hasArg(OPT_fdump_record_layouts); Opts.DumpVTableLayouts = Args.hasArg(OPT_fdump_vtable_layouts); Opts.SpellChecking = !Args.hasArg(OPT_fno_spell_checking); @@ -1627,7 +1627,7 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK, .Case("yes", LangOptions::ASMM_On) .Default(255)) { default: - Diags.Report(diag::err_drv_invalid_value) + Diags.Report(diag::err_drv_invalid_value) << "-faddress-space-map-mangling=" << A->getValue(); break; case LangOptions::ASMM_Target: @@ -1912,7 +1912,7 @@ bool CompilerInvocation::CreateFromArgs(CompilerInvocation &Res, } // FIXME: ParsePreprocessorArgs uses the FileManager to read the contents of // PCH file and find the original header name. Remove the need to do that in - // ParsePreprocessorArgs and remove the FileManager + // ParsePreprocessorArgs and remove the FileManager // parameters from the function and the "FileManager.h" #include. FileManager FileMgr(Res.getFileSystemOpts()); ParsePreprocessorArgs(Res.getPreprocessorOpts(), Args, FileMgr, Diags); @@ -1927,14 +1927,14 @@ namespace { SmallVector<uint64_t, 16> Data; unsigned CurBit; uint64_t CurValue; - + public: ModuleSignature() : CurBit(0), CurValue(0) { } - + void add(uint64_t Value, unsigned Bits); void add(StringRef Value); void flush(); - + llvm::APInt getAsInteger() const; }; } @@ -1945,10 +1945,10 @@ void ModuleSignature::add(uint64_t Value, unsigned int NumBits) { CurBit += NumBits; return; } - + // Add the current word. Data.push_back(CurValue); - + if (CurBit) CurValue = Value >> (64-CurBit); else @@ -1959,7 +1959,7 @@ void ModuleSignature::add(uint64_t Value, unsigned int NumBits) { void ModuleSignature::flush() { if (CurBit == 0) return; - + Data.push_back(CurValue); CurBit = 0; CurValue = 0; @@ -1997,7 +1997,7 @@ std::string CompilerInvocation::getModuleHash() const { for (StringRef Feature : LangOpts->ModuleFeatures) code = hash_combine(code, Feature); - + // Extend the signature with the target options. code = hash_combine(code, TargetOpts->Triple, TargetOpts->CPU, TargetOpts->ABI); @@ -2009,7 +2009,7 @@ std::string CompilerInvocation::getModuleHash() const { const HeaderSearchOptions &hsOpts = getHeaderSearchOpts(); code = hash_combine(code, ppOpts.UsePredefines, ppOpts.DetailedRecord); - for (std::vector<std::pair<std::string, bool/*isUndef*/> >::const_iterator + for (std::vector<std::pair<std::string, bool/*isUndef*/>>::const_iterator I = getPreprocessorOpts().Macros.begin(), IEnd = getPreprocessorOpts().Macros.end(); I != IEnd; ++I) {