--- /dev/null
+// RUN: env LIBCLANG_THREAD_SMALLSTACK=1 c-index-test -index-file %s | FileCheck %s
+
+// rdar://11988695
+// Check that we don't get stack overflow while including a lot of empty includes.
+
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+#include "Inputs/empty.h"
+
+// CHECK: [indexDeclaration]: kind: function | name: foo
+void foo();