]> granicus.if.org Git - clang/commitdiff
Document my otherwise-inexplicable change
authorDouglas Gregor <dgregor@apple.com>
Fri, 9 Jul 2010 18:39:07 +0000 (18:39 +0000)
committerDouglas Gregor <dgregor@apple.com>
Fri, 9 Jul 2010 18:39:07 +0000 (18:39 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107998 91177308-0d34-0410-b5e6-96231b3b80d8

tools/libclang/CIndex.cpp

index ee2e45f5579d49df535a0874a40e0a842a7339d9..7f32a1c148ddfc151e410c5fdeb6ac403d1ffca4 100644 (file)
@@ -1184,7 +1184,15 @@ clang_createTranslationUnitFromSourceFile(CXIndex CIdx,
     // in the actual argument list.
     if (source_filename)
       Args.push_back(source_filename);
+    
+    // Since the Clang C library is primarily used by batch tools dealing with
+    // (often very broken) source code, where spell-checking can have a
+    // significant negative impact on performance (particularly when 
+    // precompiled headers are involved), we disable it by default.
+    // Note that we place this argument early in the list, so that it can be
+    // overridden by the caller with "-fspell-checking".
     Args.push_back("-fno-spell-checking");
+    
     Args.insert(Args.end(), command_line_args,
                 command_line_args + num_command_line_args);
     Args.push_back("-Xclang");
@@ -1248,6 +1256,13 @@ clang_createTranslationUnitFromSourceFile(CXIndex CIdx,
   argv.push_back("-o");
   char astTmpFile[L_tmpnam];
   argv.push_back(tmpnam(astTmpFile));
+  
+  // Since the Clang C library is primarily used by batch tools dealing with
+  // (often very broken) source code, where spell-checking can have a
+  // significant negative impact on performance (particularly when 
+  // precompiled headers are involved), we disable it by default.
+  // Note that we place this argument early in the list, so that it can be
+  // overridden by the caller with "-fspell-checking".
   argv.push_back("-fno-spell-checking");
 
   // Remap any unsaved files to temporary files.