[build.py] Allow clang-cl to build files starting with '/U'

Summary:
clang-cl tries to match cl's interface, and treats /U as "Removes a
predefined macro" as cl does. When you feed clang-cl a file that begins with
'/U' (e.g. /Users/xiaobai/foo.c), clang-cl will emit a warning and in some cases
an error, like so:

clang-9: warning: '/Users/xiaobai/foo.c' treated as the '/U' option [-Wslash-u-filename]
clang-9: note: Use '--' to treat subsequent arguments as filenames
clang-9: error: no input files

If you're using clang-cl, make sure '--' is passed before the source file.

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

llvm-svn: 355341
This commit is contained in:
Alex Langford 2019-03-04 21:36:49 +00:00
parent 5be71faf4b
commit 0ca4f84f2f
1 changed files with 2 additions and 0 deletions

View File

@ -568,6 +568,8 @@ class MsvcBuilder(Builder):
args.append('/c')
args.append('/Fo' + obj)
if self.toolchain_type == 'clang-cl':
args.append('--')
args.append(source)
return ('compiling', [source], obj,