This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [trunk][patch committed] New default_def_flag in tree_base


On Thu, Apr 10, 2008 at 10:29 PM, Oleg Ryjkov <olegr@google.com> wrote:
> Hello.
>
>  This patch introduces a new default_def_flag, to tree_base. This
>  is needed because I've run into a flag collision, when volatile_flag
>  is used for indicating a default definition. Thus some variables end
>  up being marked as volatile, when in fact they should not be.
>
>  Tested on i686-linux, no new regressions.

Index: tree.h
===================================================================
--- tree.h	(revision 134191)
+++ tree.h	(working copy)
@@ -389,6 +389,7 @@ struct tree_base GTY(())
   unsigned deprecated_flag : 1;
   unsigned invariant_flag : 1;
   unsigned saturating_flag : 1;
+  unsigned default_def_flag : 1;

   unsigned lang_flag_0 : 1;
   unsigned lang_flag_1 : 1;
@@ -399,7 +400,7 @@ struct tree_base GTY(())
   unsigned lang_flag_6 : 1;
   unsigned visited : 1;

-  unsigned spare : 23;
+  unsigned spare : 22;

These bit-fields were grouped by 8 bits each and now they are not, can
you fix that?  Note you were not the first one who caused this either,
when saturating_flag was added it, the fields became messed up.  I
think the lang_flag_* fields really should start on a 8bit boundary
too.

Thanks,
Andrew Pinski


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]