[PATCH] CL Driver: Add support for /Zp
David Majnemer
david.majnemer at gmail.com
Fri Jul 25 09:47:46 PDT 2014
Hi hansw, rnk,
CL's /Zp flag is analogous to GCC's -fpack-struct, it controls the
default maximum alignment of records.
http://reviews.llvm.org/D4671
Files:
include/clang/Driver/CLCompatOptions.td
test/Driver/cl-options.c
Index: include/clang/Driver/CLCompatOptions.td
===================================================================
--- include/clang/Driver/CLCompatOptions.td
+++ include/clang/Driver/CLCompatOptions.td
@@ -132,6 +132,12 @@
def _SLASH_Z7 : CLFlag<"Z7">, Alias<gline_tables_only>;
def _SLASH_Zi : CLFlag<"Zi">, HelpText<"Enable debug information">,
Alias<gline_tables_only>;
+def _SLASH_Zp : CLJoined<"Zp">,
+ HelpText<"Specify the default maximum struct packing alignment">,
+ Alias<fpack_struct_EQ>;
+def _SLASH_Zp_flag : CLFlag<"Zp">,
+ HelpText<"Set the default maximum struct packing alignment to 1">,
+ Alias<fpack_struct_EQ>, AliasArgs<["1"]>;
def _SLASH_Zs : CLFlag<"Zs">, HelpText<"Syntax-check only">,
Alias<fsyntax_only>;
@@ -274,5 +280,4 @@
def _SLASH_Zg : CLFlag<"Zg">;
def _SLASH_ZI : CLFlag<"ZI">;
def _SLASH_Zl : CLFlag<"Zl">;
-def _SLASH_Zp : CLJoined<"Zp">;
def _SLASH_ZW : CLJoined<"ZW">;
Index: test/Driver/cl-options.c
===================================================================
--- test/Driver/cl-options.c
+++ test/Driver/cl-options.c
@@ -135,6 +135,12 @@
// RUN: %clang_cl /w -### -- %s 2>&1 | FileCheck -check-prefix=w %s
// w: -w
+// RUN: %clang_cl /Zp -### -- %s 2>&1 | FileCheck -check-prefix=ZP %s
+// ZP: -fpack-struct=1
+
+// RUN: %clang_cl /Zp2 -### -- %s 2>&1 | FileCheck -check-prefix=ZP2 %s
+// ZP2: -fpack-struct=2
+
// RUN: %clang_cl /Zs -### -- %s 2>&1 | FileCheck -check-prefix=Zs %s
// Zs: -fsyntax-only
@@ -278,8 +284,6 @@
// RUN: /Zi \
// RUN: /ZI \
// RUN: /Zl \
-// RUN: /Zp \
-// RUN: /Zp1 \
// RUN: /ZW:nostdlib \
// RUN: -- %s 2>&1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D4671.11885.patch
Type: text/x-patch
Size: 1648 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140725/211ca2b8/attachment.bin>
More information about the cfe-commits
mailing list