When not emitting path diagnostics in BugReporter::EmitWarning(), use the

BugReport-specific SourceRanges (when available).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49486 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Ted Kremenek 2008-04-10 16:12:38 +00:00
Родитель 4d35dacf85
Коммит 4bb6ac2bb6
2 изменённых файлов: 14 добавлений и 4 удалений

Просмотреть файл

@ -358,8 +358,18 @@ void BugReporter::EmitWarning(BugReport& R, ExplodedNode<ValueState>* N) {
if (!S)
return;
SourceRange Range = S->getSourceRange();
const SourceRange *Beg, *End;
R.getRanges(Beg, End);
if (Beg == End) {
SourceRange Range = S->getSourceRange();
Diag.Report(FullSourceLoc(S->getLocStart(), Ctx.getSourceManager()),
ErrorDiag, NULL, 0, &Range, 1);
}
else
Diag.Report(FullSourceLoc(S->getLocStart(), Ctx.getSourceManager()),
ErrorDiag, NULL, 0, Beg, End - Beg);
Diag.Report(FullSourceLoc(S->getLocStart(), Ctx.getSourceManager()),
ErrorDiag, NULL, 0, &Range, 1);
}

Просмотреть файл

@ -74,7 +74,7 @@ def analyze(args,language,output,files,verbose,htmldir):
command = 'cp'.split()
args = command + files + target.split()
else:
command = 'clang --grsimple'.split()
command = 'clang -check-cfref'.split()
args = command + args;
if htmldir is not None: