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)
// 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);