From: Hans Wennborg Date: Thu, 8 Aug 2013 23:44:01 +0000 (+0000) Subject: clang-cl: Map /Oi[-] to -f[no-]builtin X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c8e8e8faff9c21952cca04be664c8e25bd599300;p=clang clang-cl: Map /Oi[-] to -f[no-]builtin Differential Revision: http://llvm-reviews.chandlerc.com/D1328 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188027 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Driver/CLCompatOptions.td b/include/clang/Driver/CLCompatOptions.td index 746b4d12b5..d5251f6df2 100644 --- a/include/clang/Driver/CLCompatOptions.td +++ b/include/clang/Driver/CLCompatOptions.td @@ -51,6 +51,10 @@ def _SLASH_O : CLJoined<"O">, HelpText<"Optimization level">, def _SLASH_Ob0 : CLFlag<"Ob0">, HelpText<"Disable inlining">, Alias; def _SLASH_Od : CLFlag<"Od">, HelpText<"Disable optimization">, Alias; +def _SLASH_Oi : CLFlag<"Oi">, HelpText<"Enable use of builtin functions">, + Alias; +def _SLASH_Oi_ : CLFlag<"Oi-">, HelpText<"Disable use of builtin functions">, + Alias; def _SLASH_Os : CLFlag<"Os">, HelpText<"Optimize for size">, Alias, AliasArgs<["s"]>; def _SLASH_Ot : CLFlag<"Ot">, HelpText<"Optimize for speed">, Alias, @@ -125,7 +129,6 @@ def _SLASH_GS : CLFlag<"GS">; def _SLASH_Gy : CLFlag<"Gy">; def _SLASH_Gy_ : CLFlag<"Gy-">; def _SLASH_GZ : CLFlag<"GZ">; -def _SLASH_Oi : CLFlag<"Oi">; def _SLASH_RTC : CLJoined<"RTC">; def _SLASH_showIncludes : CLJoined<"showIncludes">; def _SLASH_w : CLJoined<"w">; diff --git a/test/Driver/cl-options.c b/test/Driver/cl-options.c index d37e88e456..f9f5c37136 100644 --- a/test/Driver/cl-options.c +++ b/test/Driver/cl-options.c @@ -36,6 +36,12 @@ // RUN: %clang_cl /Od -### -- %s 2>&1 | FileCheck -check-prefix=Od %s // Od: -O0 +// RUN: %clang_cl /Oi- /Oi -### -- %s 2>&1 | FileCheck -check-prefix=Oi %s +// Oi-NOT: -fno-builtin + +// RUN: %clang_cl /Oi- -### -- %s 2>&1 | FileCheck -check-prefix=Oi_ %s +// Oi_: -fno-builtin + // RUN: %clang_cl /Os -### -- %s 2>&1 | FileCheck -check-prefix=Os %s // Os: -Os @@ -89,6 +95,6 @@ // Unsupported but parsed options. Check that we don't error on them. // (/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 /Oi -- %s 2>&1 +// RUN: %clang_cl /Zs /Gm /Gm- /GS /Gy /Gy- /GZ -- %s 2>&1 // RUN: %clang_cl /Zs /RTC1 /wfoo /Zc:wchar_t- -- %s 2>&1 // RUN: %clang_cl /Zs /ZI /Zi /showIncludes -- %s 2>&1