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
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
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
