From: Hans Wennborg Date: Tue, 8 Jun 2021 15:51:05 +0000 (+0200) Subject: [clang-cl] Parse the /external: flags (PR36003) X-Git-Tag: llvmorg-14-init~4563 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=172fcd9600e13d5365f5cf648105891ff6a0e59d;p=platform%2Fupstream%2Fllvm.git [clang-cl] Parse the /external: flags (PR36003) They are still unsupported, but at least this makes clang-cl not mistake them for being filenames. As pointed out in the bug, VS 16.10 now uses these flags in new projects by default. --- diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index 9f6225c..bae7426 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -6209,6 +6209,8 @@ def _SLASH_d2 : CLJoined<"d2">; def _SLASH_doc : CLJoined<"doc">; def _SLASH_experimental : CLJoined<"experimental:">; def _SLASH_exportHeader : CLFlag<"exportHeader">; +def _SLASH_external : CLJoined<"external:">; +def _SLASH_external_COLON_I : CLJoinedOrSeparate<"external:I">; def _SLASH_FA_joined : CLJoined<"FA">; def _SLASH_favor : CLJoined<"favor">; def _SLASH_fsanitize_address_use_after_return : CLJoined<"fsanitize-address-use-after-return">; diff --git a/clang/test/Driver/cl-options.c b/clang/test/Driver/cl-options.c index a912523..f60c2b6 100644 --- a/clang/test/Driver/cl-options.c +++ b/clang/test/Driver/cl-options.c @@ -428,9 +428,20 @@ // RUN: /clr:pure \ // RUN: /d2FH4 \ // RUN: /docname \ +// RUN: /experimental:external \ // RUN: /experimental:module \ // RUN: /experimental:preprocessor \ // RUN: /exportHeader /headerName:foo \ +// RUN: /external:anglebrackets \ +// RUN: /external:Ipath \ +// RUN: /external:I path \ +// RUN: /external:env:var \ +// RUN: /external:W0 \ +// RUN: /external:W1 \ +// RUN: /external:W2 \ +// RUN: /external:W3 \ +// RUN: /external:W4 \ +// RUN: /external:templates- \ // RUN: /headerUnit foo.h=foo.ifc /headerUnit:quote foo.h=foo.ifc /headerUnit:angle foo.h=foo.ifc \ // RUN: /EHsc \ // RUN: /F 42 \