diff --git a/src/qdoc/clangcodeparser.cpp b/src/qdoc/clangcodeparser.cpp
index 5342bb34b0b91e8d86ddcaf19e403f9caffc8c27..70d73a18ecd8249879c7e3e441f4e92adeebfa24 100644
--- a/src/qdoc/clangcodeparser.cpp
+++ b/src/qdoc/clangcodeparser.cpp
@@ -1079,7 +1079,9 @@ void ClangCodeParser::parseHeaderFile(const Location & /*location*/, const QStri
 
 static const char *defaultArgs_[] = {
     "-std=c++14",
+#ifndef Q_OS_WIN
     "-fPIC",
+#endif
     "-fno-exceptions", // Workaround for clang bug http://reviews.llvm.org/D17988
     "-DQ_QDOC",
     "-DQT_DISABLE_DEPRECATED_BEFORE=0",
@@ -1442,7 +1444,7 @@ Node* ClangCodeParser::parseFnArg(const Location& location, const QString& fnArg
                                                                CXTranslationUnit_SkipFunctionBodies |
                                                                CXTranslationUnit_KeepGoing);
     // Change 2nd parameter to 1 to make clang report errors.
-    CXIndex index = clang_createIndex(1, 0);
+    CXIndex index = clang_createIndex(1, Generator::debugging() ? 1 : 0);
 
     std::vector<const char *> args(std::begin(defaultArgs_), std::end(defaultArgs_));
     // Add the defines from the qdocconf file.