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: [PATCH] [c++] Save space in cxx_binding


On Sun, Jan 04, 2004 at 08:35:28PM -0800, Andrew Pinski wrote:
> In cxx_binding, there are only two bit-fields which should be using a 
> CHAR_BITFIELD instead of unsigned which saves memory space.
> 
> Ok? Bootstrapped on powerpc-apple-darwin7.2.0.

Um, how does this save anything?  They're still one-bit bitfields. 
They don't get any alignment benefit because the struct is aligned to
void* anyway.


> ChangeLog:
> 
> 	* name-lookup.h (cxx_binding): Use CHAR_BITFIELD instead of
> 	unsigned for bit-fields, value_is_inherited and is_local.
> 
> 
> Patch:
> Index: name-lookup.h
> ===================================================================
> RCS file: /cvs/gcc/gcc/gcc/cp/name-lookup.h,v
> retrieving revision 1.13
> diff -u -p -r1.13 name-lookup.h
> --- name-lookup.h	2 Dec 2003 10:11:24 -0000	1.13
> +++ name-lookup.h	5 Jan 2004 04:31:03 -0000
> @@ -80,8 +80,8 @@ struct cxx_binding GTY(())
>    tree type;
>    /* The scope at which this binding was made.  */
>    cxx_scope *scope;
> -  unsigned value_is_inherited : 1;
> -  unsigned is_local : 1;
> +  CHAR_BITFIELD value_is_inherited : 1;
> +  CHAR_BITFIELD is_local : 1;
>  };
> 
>  extern tree identifier_type_value (tree);
> 
> 

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


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