Actually remove the members of CaretDiagnostic no longer in use for

tracking the start and stop of macro expansion suppression. Also remove
the Columns variable which was just a convenience variable based on
DiagOpts. Instead we materialize it in the one piece of code that cared.

llvm-svn: 140475
This commit is contained in:
Chandler Carruth 2011-09-25 22:31:58 +00:00
parent cb8f82a8e5
commit 3236f0d25c
2 changed files with 7 additions and 11 deletions

View File

@ -68,7 +68,7 @@ private:
void EmitCaretDiagnostic(SourceLocation Loc,
SmallVectorImpl<CharSourceRange> &Ranges,
const SourceManager &SM,
ArrayRef<FixItHint> Hints, unsigned Columns);
ArrayRef<FixItHint> Hints);
};

View File

@ -314,17 +314,14 @@ class CaretDiagnostic {
const SourceManager &SM;
const LangOptions &LangOpts;
const DiagnosticOptions &DiagOpts;
const unsigned Columns, MacroSkipStart, MacroSkipEnd;
public:
CaretDiagnostic(TextDiagnosticPrinter &Printer,
raw_ostream &OS,
const SourceManager &SM,
const LangOptions &LangOpts,
const DiagnosticOptions &DiagOpts,
unsigned Columns)
: Printer(Printer), OS(OS), SM(SM), LangOpts(LangOpts), DiagOpts(DiagOpts),
Columns(Columns), MacroSkipStart(0), MacroSkipEnd(0) {
const DiagnosticOptions &DiagOpts)
: Printer(Printer), OS(OS), SM(SM), LangOpts(LangOpts), DiagOpts(DiagOpts) {
}
/// \brief Emit the caret diagnostic text.
@ -506,6 +503,7 @@ public:
// If the source line is too long for our terminal, select only the
// "interesting" source region within that line.
unsigned Columns = DiagOpts.MessageLength;
if (Columns && SourceLine.size() > Columns)
SelectInterestingSourceRegion(SourceLine, CaretLine, FixItInsertionLine,
CaretEndColNo, Columns);
@ -766,14 +764,13 @@ void TextDiagnosticPrinter::EmitCaretDiagnostic(
SourceLocation Loc,
SmallVectorImpl<CharSourceRange>& Ranges,
const SourceManager &SM,
ArrayRef<FixItHint> Hints,
unsigned Columns) {
ArrayRef<FixItHint> Hints) {
assert(LangOpts && "Unexpected diagnostic outside source file processing");
assert(DiagOpts && "Unexpected diagnostic without options set");
// FIXME: Remove this method and have clients directly build and call Emit on
// the CaretDiagnostic object.
CaretDiagnostic CaretDiag(*this, OS, SM, *LangOpts, *DiagOpts, Columns);
CaretDiagnostic CaretDiag(*this, OS, SM, *LangOpts, *DiagOpts);
unsigned MacroDepth = 0;
CaretDiag.Emit(Loc, Ranges, Hints, MacroDepth);
}
@ -1246,8 +1243,7 @@ void TextDiagnosticPrinter::HandleDiagnostic(Diagnostic::Level Level,
EmitCaretDiagnostic(LastLoc, Ranges, LastLoc.getManager(),
llvm::makeArrayRef(Info.getFixItHints(),
Info.getNumFixItHints()),
DiagOpts->MessageLength);
Info.getNumFixItHints()));
}
OS.flush();