mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-19 19:45:40 -04:00

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
19 lines
938 B
C
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
|