From 3ed22c4d4ed84fa1965ce9836e787dc216ea03d5 Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Tue, 1 Jul 2014 18:27:02 +0000 Subject: [PATCH] clang-cl: Ignore /Zc:inline and /Zc:rvalueCast These flags enable behavior in MSVC that Clang has by default. /Zc:inline essentially marks all COMDATs as discardable. In LLVM parlance, this means using linkonce_odr linkage, which is what we already do. llvm-svn: 212117 --- clang/include/clang/Driver/CLCompatOptions.td | 2 ++ clang/test/Driver/cl-options.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/clang/include/clang/Driver/CLCompatOptions.td b/clang/include/clang/Driver/CLCompatOptions.td index 66d4242..0edf8eb 100644 --- a/clang/include/clang/Driver/CLCompatOptions.td +++ b/clang/include/clang/Driver/CLCompatOptions.td @@ -198,6 +198,8 @@ def _SLASH_sdl : CLIgnoredFlag<"sdl">; def _SLASH_sdl_ : CLIgnoredFlag<"sdl-">; def _SLASH_w : CLIgnoredJoined<"w">; def _SLASH_Zc_forScope : CLIgnoredFlag<"Zc:forScope">; +def _SLASH_Zc_inline : CLIgnoredFlag<"Zc:inline">; +def _SLASH_Zc_rvalueCast : CLIgnoredFlag<"Zc:rvalueCast">; def _SLASH_Zc_wchar_t : CLIgnoredFlag<"Zc:wchar_t">; def _SLASH_Zm : CLIgnoredJoined<"Zm">; diff --git a/clang/test/Driver/cl-options.c b/clang/test/Driver/cl-options.c index 38cbb34..cd98ec3b7 100644 --- a/clang/test/Driver/cl-options.c +++ b/clang/test/Driver/cl-options.c @@ -178,6 +178,8 @@ // RUN: /wd1234 \ // RUN: /Zc:forScope \ // RUN: /Zc:wchar_t \ +// RUN: /Zc:inline \ +// RUN: /Zc:rvalueCast \ // RUN: -### -- %s 2>&1 | FileCheck -check-prefix=IGNORED %s // IGNORED-NOT: argument unused during compilation -- 2.7.4