r313169 - Driver: Make -fwhole-program-vtables a core option so it can be used from clang-cl.
Peter Collingbourne via cfe-commits
cfe-commits at lists.llvm.org
Wed Sep 13 11:36:07 PDT 2017
Author: pcc
Date: Wed Sep 13 11:36:07 2017
New Revision: 313169
URL: http://llvm.org/viewvc/llvm-project?rev=313169&view=rev
Log:
Driver: Make -fwhole-program-vtables a core option so it can be used from clang-cl.
Also add some missing driver tests for the regular clang driver.
Differential Revision: https://reviews.llvm.org/D37787
Modified:
cfe/trunk/include/clang/Driver/Options.td
cfe/trunk/test/Driver/whole-program-vtables.c
Modified: cfe/trunk/include/clang/Driver/Options.td
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=313169&r1=313168&r2=313169&view=diff
==============================================================================
--- cfe/trunk/include/clang/Driver/Options.td (original)
+++ cfe/trunk/include/clang/Driver/Options.td Wed Sep 13 11:36:07 2017
@@ -1502,9 +1502,10 @@ def fvisibility_ms_compat : Flag<["-"],
HelpText<"Give global types 'default' visibility and global functions and "
"variables 'hidden' visibility by default">;
def fwhole_program_vtables : Flag<["-"], "fwhole-program-vtables">, Group<f_Group>,
- Flags<[CC1Option]>,
+ Flags<[CoreOption, CC1Option]>,
HelpText<"Enables whole-program vtable optimization. Requires -flto">;
-def fno_whole_program_vtables : Flag<["-"], "fno-whole-program-vtables">, Group<f_Group>;
+def fno_whole_program_vtables : Flag<["-"], "fno-whole-program-vtables">, Group<f_Group>,
+ Flags<[CoreOption]>;
def fwrapv : Flag<["-"], "fwrapv">, Group<f_Group>, Flags<[CC1Option]>,
HelpText<"Treat signed integer overflow as two's complement">;
def fwritable_strings : Flag<["-"], "fwritable-strings">, Group<f_Group>, Flags<[CC1Option]>,
Modified: cfe/trunk/test/Driver/whole-program-vtables.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/whole-program-vtables.c?rev=313169&r1=313168&r2=313169&view=diff
==============================================================================
--- cfe/trunk/test/Driver/whole-program-vtables.c (original)
+++ cfe/trunk/test/Driver/whole-program-vtables.c Wed Sep 13 11:36:07 2017
@@ -1,2 +1,11 @@
// RUN: %clang -target x86_64-unknown-linux -fwhole-program-vtables -### %s 2>&1 | FileCheck --check-prefix=NO-LTO %s
+// RUN: %clang_cl --target=x86_64-pc-win32 -fwhole-program-vtables -### %s 2>&1 | FileCheck --check-prefix=NO-LTO %s
// NO-LTO: invalid argument '-fwhole-program-vtables' only allowed with '-flto'
+
+// RUN: %clang -target x86_64-unknown-linux -fwhole-program-vtables -flto -### %s 2>&1 | FileCheck --check-prefix=LTO %s
+// RUN: %clang_cl --target=x86_64-pc-win32 -fwhole-program-vtables -flto -### %s 2>&1 | FileCheck --check-prefix=LTO %s
+// LTO: "-fwhole-program-vtables"
+
+// RUN: %clang -target x86_64-unknown-linux -fwhole-program-vtables -fno-whole-program-vtables -flto -### %s 2>&1 | FileCheck --check-prefix=LTO-DISABLE %s
+// RUN: %clang_cl --target=x86_64-pc-win32 -fwhole-program-vtables -fno-whole-program-vtables -flto -### %s 2>&1 | FileCheck --check-prefix=LTO-DISABLE %s
+// LTO-DISABLE-NOT: "-fwhole-program-vtables"
More information about the cfe-commits
mailing list