summaryrefslogtreecommitdiffstats
path: root/clang/test/Driver/cl-options.c
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2014-07-01 22:24:56 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2014-07-01 22:24:56 +0000
commitf607234fde4ccbdd0899a1ea92703e720dd83a22 (patch)
tree89c5bf97108475f199b5dc370c950a9cb97fb5dd /clang/test/Driver/cl-options.c
parent6433f7c84d68039000785d818b2f139354a26f8c (diff)
downloadbcm5719-llvm-f607234fde4ccbdd0899a1ea92703e720dd83a22.tar.gz
bcm5719-llvm-f607234fde4ccbdd0899a1ea92703e720dd83a22.zip
Driver: Handle /GR- in a compatible way with MSVC
There are slight differences between /GR- and -fno-rtti which made mapping one to the other inappropriate. -fno-rtti disables dynamic_cast, typeid, and does not emit RTTI related information for the v-table. /GR- does not generate complete object locators and thus will not reference them in vftables. However, constructs like dynamic_cast and typeid are permitted. This should bring our implementation of RTTI up to semantic parity with MSVC modulo bugs. llvm-svn: 212138
Diffstat (limited to 'clang/test/Driver/cl-options.c')
-rw-r--r--clang/test/Driver/cl-options.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/clang/test/Driver/cl-options.c b/clang/test/Driver/cl-options.c
index cd98ec3b72f..90b63259feb 100644
--- a/clang/test/Driver/cl-options.c
+++ b/clang/test/Driver/cl-options.c
@@ -289,10 +289,12 @@
// RUN: %clang_cl /Zs /WX -m32 -m64 -### -- 2>&1 %s | FileCheck -check-prefix=MFLAGS %s
// MFLAGS-NOT: argument unused during compilation
-// Use -fno-rtti by default.
-// RUN: %clang_cl /c -### -- %s 2>&1 | FileCheck -check-prefix=NoRTTI %s
-// NoRTTI: "-fno-rtti"
+// RTTI is on by default. /GR- controls -fno-rtti-data.
+// RUN: %clang_cl /c /GR- -### -- %s 2>&1 | FileCheck -check-prefix=NoRTTI %s
+// NoRTTI: "-fno-rtti-data"
+// NoRTTI-NOT: "-fno-rtti"
// RUN: %clang_cl /c /GR -### -- %s 2>&1 | FileCheck -check-prefix=RTTI %s
+// RTTI-NOT: "-fno-rtti-data"
// RTTI-NOT: "-fno-rtti"
OpenPOWER on IntegriCloud