teak-llvm/clang/test/Driver/cl-link-at-file.c
Zachary Turner f630252349 Update clang-cl driver for MSVC 2017.
2017 changes the way you find an installed copy of
Visual Studio as well as its internal directory layout.
As a result, clang-cl was unable to find VS2017 even
when you had run vcvarsall to set up a toolchain
environment.  This patch updates everything for 2017
and cleans up the way we handle a tiered search a la
environment -> installation -> PATH for which copy
of Visual Studio to bind to.

Patch originally by Hamza Sood, with some fixups for landing.

Differential Revision: https://reviews.llvm.org/D30758

llvm-svn: 297851
2017-03-15 16:07:35 +00:00

19 lines
938 B
C

// PR17239 - The /link option, when inside a response file, should only extend
// until the end of the response file (and not the entire command line)
// Note: %s must be preceded by -- or bound to another option, otherwise it may
// be interpreted as a command-line option, e.g. on Mac where %s is commonly
// under /Users.
// RUN: echo /link bar.lib baz.lib > %t.args
// RUN: touch %t.obj
// RUN: %clang_cl -### @%t.args -- %t.obj 2>&1 | FileCheck %s -check-prefix=ARGS
// If the "/link" option captures all remaining args beyond its response file,
// it will also capture "--" and our input argument. In this case, Clang will
// be clueless and will emit "argument unused" warnings. If PR17239 is properly
// fixed, this should not happen because the "/link" option is restricted to
// consume only remaining args in its response file.
// ARGS-NOT: argument unused during compilation
// Identify the linker command
// ARGS: link.exe