From 6bb7beac5f921b203fa212fdf94df2381d10f0c7 Mon Sep 17 00:00:00 2001 From: Eric Christopher Date: Mon, 12 Jun 2006 06:44:23 +0000 Subject: [PATCH] re PR target/27542 (the ms_struct pragma is not documented) 2006-06-11 Eric Christopher PR 27542 * doc/extend.texi (Structure-Packing Pragmas): Document ms_struct pragma. From-SVN: r114561 --- gcc/ChangeLog | 10 ++++++++-- gcc/doc/extend.texi | 11 +++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 41d440526b0..6c5fa708763 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-06-11 Eric Christopher + + PR 27542 + * doc/extend.texi (Structure-Packing Pragmas): Document ms_struct + pragma. + 2006-06-11 Roger Sayle PR target/27858 @@ -105,11 +111,11 @@ 2006-06-07 Andrew MacLeod PR middle-end/27793 - * tree-dfa.c (referenced_vars_dup_list): New. List of duplicate + * tree-dfa.c (referenced_vars_dup_list): New. List of duplicate referenced_variables with matching DECL_UID's. (find_referenced_vars): Make sure duplicate list is empty to start. (referenced_var_p): Remove. - (referenced_var_check_and_insert): Renamed from referenced_var_insert. + (referenced_var_check_and_insert): Renamed from referenced_var_insert. Check if var is in the list, and add if needed. Update the duplicate list if a different var is in the list with the same DECL_UID. (add_referenced_var): Call routine to check and insert. diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 47b1fcef3a4..f029ca21c64 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -9672,6 +9672,17 @@ multiple @code{#pragma pack(@var{n})} instances and finalized by a single @code{#pragma pack(pop)}. @end enumerate +Some targets, e.g. i386 and powerpc, support the @code{ms_struct} +@code{#pragma} which lays out a structure as the documented +@code{__attribute__ ((ms_struct))}. +@enumerate +@item @code{#pragma ms_struct on} turns on the layout for structures +declared. +@item @code{#pragma ms_struct off} turns off the layout for structures +declared. +@item @code{#pragma ms_struct reset} goes back to the default layout. +@end enumerate + @node Weak Pragmas @subsection Weak Pragmas