]> granicus.if.org Git - clang/commitdiff
clang-cl: parse (but don't support) the /o flag
authorHans Wennborg <hans@hanshq.net>
Mon, 9 Sep 2013 19:04:49 +0000 (19:04 +0000)
committerHans Wennborg <hans@hanshq.net>
Mon, 9 Sep 2013 19:04:49 +0000 (19:04 +0000)
Apparently folks run into this (PR17097). The flag is not supported by
MSVC either, but we should parse it so we don't get confused when it occurs.

This changes the clang-cl output for "clang-cl /c /o foo.obj" from:

  clang-cl.exe: error: no such file or directory: '/o'
  clang-cl.exe: error: no such file or directory: 'foo.obj'

to:

  clang-cl.exe: warning: argument unused during compilation: '/o bajs.obj'

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190323 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Driver/CLCompatOptions.td
test/Driver/cl-options.c

index a520046d45bcb5278303cb626431cdba7b0587eb..574830c07f88be99dd6eed57afd7e77eba230d35 100644 (file)
@@ -143,6 +143,7 @@ def _SLASH_Gy : CLFlag<"Gy">;
 def _SLASH_Gy_ : CLFlag<"Gy-">;
 def _SLASH_GZ : CLFlag<"GZ">;
 def _SLASH_MP : CLJoined<"MP">;
+def _SLASH_o : CLJoinedOrSeparate<"o">;
 def _SLASH_w : CLJoined<"w">;
 def _SLASH_Za : CLFlag<"Za">;
 def _SLASH_Zc : CLJoined<"Zc:">;
index dc33db61b5af2ee2ffe9bdc138412ff367f97995..ab0320cf6e9cc4a725837d1194a222bce524da46 100644 (file)
 // (/Zs is for syntax-only)
 // RUN: %clang_cl /Zs /EHsc /Fdfoo /fp:precise /Gd /GL /GL- -- %s 2>&1
 // RUN: %clang_cl /Zs /Gm /Gm- /GS /Gy /Gy- /GZ -- %s 2>&1
+// RUN: %clang_cl /Zs /ofoo.obj /o foo.obj -- %s 2>&1
 // RUN: %clang_cl /Zs /wfoo /Zc:wchar_t- -- %s 2>&1
 // RUN: %clang_cl /Zs /ZI /Zi /MP -- %s 2>&1