From: Hans Wennborg Date: Fri, 15 Apr 2016 00:24:15 +0000 (+0000) Subject: clang-cl: Make /link accept an optional joined argument. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=114b9ddf8daaa2c3c47b0198d3c6f642c7041eaf;p=clang clang-cl: Make /link accept an optional joined argument. For example, "cl.exe a.c /linkfoo bar" is a valid invocation and forwards "foo" and "bar" to link.exe. This makes clang-cl handle that kind of invocation. Depends on LLVM r266394. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@266395 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Driver/CLCompatOptions.td b/include/clang/Driver/CLCompatOptions.td index a91a3fbbd8..8061a22742 100644 --- a/include/clang/Driver/CLCompatOptions.td +++ b/include/clang/Driver/CLCompatOptions.td @@ -45,8 +45,8 @@ class CLCompileJoinedOrSeparate : Option<["/", "-"], name, KIND_JOINED_OR_SEPARATE>, Group, Flags<[CLOption, DriverOption]>; -class CLRemainingArgs : Option<["/", "-"], name, - KIND_REMAINING_ARGS>, Group, Flags<[CLOption, DriverOption]>; +class CLRemainingArgsJoined : Option<["/", "-"], name, + KIND_REMAINING_ARGS_JOINED>, Group, Flags<[CLOption, DriverOption]>; // Aliases: // (We don't put any of these in cl_compile_Group as the options they alias are @@ -215,7 +215,7 @@ def _SLASH_imsvc : CLJoinedOrSeparate<"imsvc">, MetaVarName<"">; def _SLASH_LD : CLFlag<"LD">, HelpText<"Create DLL">; def _SLASH_LDd : CLFlag<"LDd">, HelpText<"Create debug DLL">; -def _SLASH_link : CLRemainingArgs<"link">, +def _SLASH_link : CLRemainingArgsJoined<"link">, HelpText<"Forward options to the linker">, MetaVarName<"">; def _SLASH_MD : Option<["/", "-"], "MD", KIND_FLAG>, Group<_SLASH_M_Group>, Flags<[CLOption, DriverOption]>, HelpText<"Use DLL run-time">; diff --git a/test/Driver/cl-link.c b/test/Driver/cl-link.c index 9813c51d80..b3c0b64d05 100644 --- a/test/Driver/cl-link.c +++ b/test/Driver/cl-link.c @@ -3,6 +3,7 @@ // under /Users. // RUN: %clang_cl /Tc%s -### /link foo bar baz 2>&1 | FileCheck --check-prefix=LINK %s +// RUN: %clang_cl /Tc%s -### /linkfoo bar baz 2>&1 | FileCheck --check-prefix=LINK %s // LINK: link.exe // LINK: "foo" // LINK: "bar"