Author: nico
Date: Mon Mar 19 10:00:03 2012
New Revision: 153034

URL: http://llvm.org/viewvc/llvm-project?rev=153034&view=rev
Log:
Fix a regression where ':' in CPLUS_INCLUDE_PATH and friends would no longer 
separate paths.

This regressed in r152583. Also add a test to make sure it doesn't regress 
again.


Modified:
    cfe/trunk/lib/Driver/Tools.cpp
    cfe/trunk/test/Driver/cpath.c

Modified: cfe/trunk/lib/Driver/Tools.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=153034&r1=153033&r2=153034&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/Tools.cpp (original)
+++ cfe/trunk/lib/Driver/Tools.cpp Mon Mar 19 10:00:03 2012
@@ -107,9 +107,9 @@
       CmdArgs.push_back(".");
     } else {
       CmdArgs.push_back(ArgName);
-      CmdArgs.push_back(Args.MakeArgString(Dirs.split(Delim).first));
+      CmdArgs.push_back(Args.MakeArgString(Dirs.substr(0, Delim)));
     }
-    Dirs = Dirs.split(Delim).second;
+    Dirs = Dirs.substr(Delim + 1);
   }
 
   if (Dirs.empty()) { // Trailing colon.

Modified: cfe/trunk/test/Driver/cpath.c
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/cpath.c?rev=153034&r1=153033&r2=153034&view=diff
==============================================================================
--- cfe/trunk/test/Driver/cpath.c (original)
+++ cfe/trunk/test/Driver/cpath.c Mon Mar 19 10:00:03 2012
@@ -1,20 +1,22 @@
-// RUN: mkdir -p %T/test1 %T/test2
+// RUN: mkdir -p %T/test1 %T/test2 %T/test3
 
-// RUN: env CPATH=%T/test1 %clang -x c -E -v %s 2>&1 | FileCheck %s 
-check-prefix=CPATH
+// RUN: env CPATH=%T/test1:%T/test2 %clang -x c -E -v %s 2>&1 | FileCheck %s 
-check-prefix=CPATH
 // CPATH: -I {{.*}}/test1
+// CPATH: -I {{.*}}/test2
 // CPATH: search starts here
 // CPATH: test1
+// CPATH: test2
 
-// RUN: env OBJC_INCLUDE_PATH=%T/test1  OBJCPLUS_INCLUDE_PATH=%T/test1  
CPLUS_INCLUDE_PATH=%T/test1 C_INCLUDE_PATH=%T/test2 %clang -x c -E -v %s 2>&1 | 
FileCheck %s -check-prefix=C_INCLUDE_PATH
-// C_INCLUDE_PATH: -c-isystem {{"?.*}}/test2{{"?}} -cxx-isystem 
{{"?.*}}/test1{{"?}} -objc-isystem {{"?.*}}/test1{{"?}} -objcxx-isystem 
{{"?.*}}/test1{{"?}}
+// RUN: env OBJC_INCLUDE_PATH=%T/test1:%T/test2  
OBJCPLUS_INCLUDE_PATH=%T/test1  CPLUS_INCLUDE_PATH=%T/test1:%t/test2 
C_INCLUDE_PATH=%T/test3 %clang -x c -E -v %s 2>&1 | FileCheck %s 
-check-prefix=C_INCLUDE_PATH
+// C_INCLUDE_PATH: -c-isystem {{"?.*}}/test3{{"?}} -cxx-isystem 
{{"?.*}}/test1{{"?}} -cxx-isystem {{"?.*}}/test2{{"?}} -objc-isystem 
{{"?.*}}/test1{{"?}} -objc-isystem {{"?.*}}/test2{{"?}} -objcxx-isystem 
{{"?.*}}/test1{{"?}}
 // C_INCLUDE_PATH: search starts here
 // C_INCLUDE_PATH-NOT: test1
-// C_INCLUDE_PATH: test2
+// C_INCLUDE_PATH: test3
 // C_INCLUDE_PATH-NOT: test1
 
-// RUN: env OBJC_INCLUDE_PATH=%T/test1 OBJCPLUS_INCLUDE_PATH=%T/test2 
CPLUS_INCLUDE_PATH=%T/test2 C_INCLUDE_PATH=%T/test1 %clang -x objective-c++ -E 
-v %s 2>&1 | FileCheck %s -check-prefix=OBJCPLUS_INCLUDE_PATH
-// OBJCPLUS_INCLUDE_PATH: -c-isystem {{"?.*}}/test1{{"?}} -cxx-isystem 
{{"?.*}}/test2{{"?}} -objc-isystem {{"?.*}}/test1{{"?}} -objcxx-isystem 
{{"?.*}}/test2{{"?}}
+// RUN: env OBJC_INCLUDE_PATH=%T/test1 OBJCPLUS_INCLUDE_PATH=%T/test3 
CPLUS_INCLUDE_PATH=%T/test3 C_INCLUDE_PATH=%T/test1 %clang -x objective-c++ -E 
-v %s 2>&1 | FileCheck %s -check-prefix=OBJCPLUS_INCLUDE_PATH
+// OBJCPLUS_INCLUDE_PATH: -c-isystem {{"?.*}}/test1{{"?}} -cxx-isystem 
{{"?.*}}/test3{{"?}} -objc-isystem {{"?.*}}/test1{{"?}} -objcxx-isystem 
{{"?.*}}/test3{{"?}}
 // OBJCPLUS_INCLUDE_PATH: search starts here
 // OBJCPLUS_INCLUDE_PATH-NOT: test1
-// OBJCPLUS_INCLUDE_PATH: test2
+// OBJCPLUS_INCLUDE_PATH: test3
 // OBJCPLUS_INCLUDE_PATH-NOT: test1


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to