[clang-cl] Use the Windows response file tokenizer
authorReid Kleckner <reid@kleckner.net>
Wed, 15 Jul 2015 22:42:37 +0000 (22:42 +0000)
committerReid Kleckner <reid@kleckner.net>
Wed, 15 Jul 2015 22:42:37 +0000 (22:42 +0000)
commite2d03448ba7944e8f983ddd95d50a20e9433777c
tree774ed171d9932452f86644e5eca0d468a4d01bd7
parent3f5ed1566e34e7d2a83fb98bead1079e37b52579
[clang-cl] Use the Windows response file tokenizer

We were still using the Unix response file tokenizer for all driver
modes. This was difficult to get right in the beginning because there is
a circular dependency. The Driver class also can't officially determine
its mode until it can see all possible --driver-mode= flags, and those
flags could come from the response file.

Now we use the Windows parsing algorithm if the program name looks like
clang-cl, or if the --driver-mode=cl flag is present on the main command
line.

Fixes PR23709.

Reviewers: hans

Differential Revision: http://reviews.llvm.org/D11229

llvm-svn: 242346
clang/lib/Driver/Job.cpp
clang/test/Driver/cl-response-file.c [new file with mode: 0644]
clang/tools/driver/driver.cpp