]> granicus.if.org Git - clang/commitdiff
In clang_parseTranslationUnit_Impl,p ut the source file after command_line_args otherwise
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Sun, 20 Mar 2011 18:17:52 +0000 (18:17 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Sun, 20 Mar 2011 18:17:52 +0000 (18:17 +0000)
if '-x' flag is present it will be unused.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127971 91177308-0d34-0410-b5e6-96231b3b80d8

tools/libclang/CIndex.cpp

index 502ee9958d64792fc7a155a86e2fb2d56adad41c..500b1a51af5a8a56d52dc9edc67a46b143d4025e 100644 (file)
@@ -2404,12 +2404,6 @@ static void clang_parseTranslationUnit_Impl(void *UserData) {
   }
 
   llvm::SmallVector<const char *, 16> Args;
-
-  // The 'source_filename' argument is optional.  If the caller does not
-  // specify it then it is assumed that the source file is specified
-  // 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
@@ -2430,6 +2424,14 @@ static void clang_parseTranslationUnit_Impl(void *UserData) {
   Args.insert(Args.end(), command_line_args,
               command_line_args + num_command_line_args);
 
+  // The 'source_filename' argument is optional.  If the caller does not
+  // specify it then it is assumed that the source file is specified
+  // in the actual argument list.
+  // Put the source file after command_line_args otherwise if '-x' flag is
+  // present it will be unused.
+  if (source_filename)
+    Args.push_back(source_filename);
+
   // Do we need the detailed preprocessing record?
   if (options & CXTranslationUnit_DetailedPreprocessingRecord) {
     Args.push_back("-Xclang");