Fix CIndex crash on invalid code reported in <rdar://problem/7833619>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100589 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Ted Kremenek 2010-04-07 00:27:13 +00:00
Родитель e9f5581ad4
Коммит 5dbacb4179
2 изменённых файлов: 7 добавлений и 2 удалений

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

@ -0,0 +1,4 @@
// RUN: c-index-test -test-load-source all %s
// All we care about in this test is that it doesn't crash.
typedef r7833619_a (*r7833619_b)(r7833619_c *r7833619_d, r7833619_c *r7833619_e);

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

@ -814,8 +814,9 @@ bool CursorVisitor::VisitFunctionTypeLoc(FunctionTypeLoc TL) {
return true;
for (unsigned I = 0, N = TL.getNumArgs(); I != N; ++I)
if (Visit(MakeCXCursor(TL.getArg(I), TU)))
return true;
if (Decl *D = TL.getArg(I))
if (Visit(MakeCXCursor(D, TU)))
return true;
return false;
}