]> granicus.if.org Git - clang/commit
Fix PR17239 by changing the semantics of the RemainingArgsClass Option kind
authorReid Kleckner <reid@kleckner.net>
Fri, 22 Aug 2014 19:29:30 +0000 (19:29 +0000)
committerReid Kleckner <reid@kleckner.net>
Fri, 22 Aug 2014 19:29:30 +0000 (19:29 +0000)
commit78c5ce71333b502a58f9050f083e3f9476bb9fef
treebdb7da668e105c5c27d22df72a9d64df7a0fc5aa
parent006f3ae1f2a06100d98909ef1a6269618c49bd1b
Fix PR17239 by changing the semantics of the RemainingArgsClass Option kind

This patch aims at fixing PR17239.

This bug happens because the /link (clang-cl.exe argument) is marked as
"consume all remaining arguments". However, when inside a response file,
/link should only consume all remaining arguments inside the response
file where it is located, not the entire command line after expansion.
The LLVM side of the patch will change the semantics of the
RemainingArgsClass kind to always consume only until the end of the
response file when the option originally came from a response file.
There are only two options in this class: dash dash (--) and /link.

This is the Clang side of the patch in http://reviews.llvm.org/D4899

Reviewered By: rafael, rnk

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

Patch by Rafael Auler!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216281 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Driver/Driver.cpp
test/Driver/Inputs/cc1-response.txt [new file with mode: 0644]
test/Driver/cc1-response-files.c [new file with mode: 0644]
test/Driver/cl-link-at-file.c [new file with mode: 0644]
tools/driver/driver.cpp