From: Douglas Gregor Date: Thu, 2 Apr 2009 03:14:12 +0000 (+0000) Subject: Clean up -fixit output slightly X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=261034861d2c8cfbd6036e56f22f57d7a3736861;p=clang Clean up -fixit output slightly git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68278 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Frontend/FixItRewriter.cpp b/lib/Frontend/FixItRewriter.cpp index a53d1e56d1..33ab0b7c99 100644 --- a/lib/Frontend/FixItRewriter.cpp +++ b/lib/Frontend/FixItRewriter.cpp @@ -57,8 +57,9 @@ bool FixItRewriter::WriteFixedFile(const std::string &InFileName, OutFile = &llvm::outs(); } else { llvm::sys::Path Path(InFileName); + std::string Suffix = Path.getSuffix(); Path.eraseSuffix(); - Path.appendSuffix("cpp"); + Path.appendSuffix("fixit." + Suffix); std::string Err; OutFile = new llvm::raw_fd_ostream(Path.toString().c_str(), // set binary mode (critical for Windoze) diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp index f67b417ddd..7cf44bf6ac 100644 --- a/lib/Sema/SemaDecl.cpp +++ b/lib/Sema/SemaDecl.cpp @@ -2706,11 +2706,12 @@ void Sema::ActOnFinishKNRParamDeclarations(Scope *S, Declarator &D, // Verify 6.9.1p6: 'every identifier in the identifier list shall be declared' // for a K&R function. if (!FTI.hasPrototype) { - for (unsigned i = 0, e = FTI.NumArgs; i != e; ++i) { + for (int i = FTI.NumArgs; i != 0; /* decrement in loop */) { + --i; if (FTI.ArgInfo[i].Param == 0) { - std::string Code = "int "; + std::string Code = " int "; Code += FTI.ArgInfo[i].Ident->getName(); - Code += ";\n "; + Code += ";\n"; Diag(FTI.ArgInfo[i].IdentLoc, diag::ext_param_not_declared) << FTI.ArgInfo[i].Ident << CodeModificationHint::CreateInsertion(LocAfterDecls, Code);