summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2013-08-08 23:44:01 +0000
committerHans Wennborg <hans@hanshq.net>2013-08-08 23:44:01 +0000
commit56eb4b654ff73a6f5e9fc6bc82873f84ce7a7c03 (patch)
tree27c142374354a05157d5f3229a458f8e58052572
parentdd72278fea6cac140271e4c53f99294fc4b11413 (diff)
downloadbcm5719-llvm-56eb4b654ff73a6f5e9fc6bc82873f84ce7a7c03.tar.gz
bcm5719-llvm-56eb4b654ff73a6f5e9fc6bc82873f84ce7a7c03.zip
clang-cl: Map /Oi[-] to -f[no-]builtin
Differential Revision: http://llvm-reviews.chandlerc.com/D1328 llvm-svn: 188027
-rw-r--r--clang/include/clang/Driver/CLCompatOptions.td5
-rw-r--r--clang/test/Driver/cl-options.c8
2 files changed, 11 insertions, 2 deletions
diff --git a/clang/include/clang/Driver/CLCompatOptions.td b/clang/include/clang/Driver/CLCompatOptions.td
index 746b4d12b50..d5251f6df2f 100644
--- a/clang/include/clang/Driver/CLCompatOptions.td
+++ b/clang/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<fno_inline>;
def _SLASH_Od : CLFlag<"Od">, HelpText<"Disable optimization">, Alias<O0>;
+def _SLASH_Oi : CLFlag<"Oi">, HelpText<"Enable use of builtin functions">,
+ Alias<fbuiltin>;
+def _SLASH_Oi_ : CLFlag<"Oi-">, HelpText<"Disable use of builtin functions">,
+ Alias<fno_builtin>;
def _SLASH_Os : CLFlag<"Os">, HelpText<"Optimize for size">, Alias<O>,
AliasArgs<["s"]>;
def _SLASH_Ot : CLFlag<"Ot">, HelpText<"Optimize for speed">, Alias<O>,
@@ -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/clang/test/Driver/cl-options.c b/clang/test/Driver/cl-options.c
index d37e88e456a..f9f5c371364 100644
--- a/clang/test/Driver/cl-options.c
+++ b/clang/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
OpenPOWER on IntegriCloud