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: Re-implement COMMON and EQUIVALENCE


Richard Henderson <rth@redhat.com>:

> On Thu, Dec 04, 2003 at 08:30:25AM +0800, 
canqun@nudt.edu.cn wrote:
> > + 	* stor-layout.c: Make 
update_alignment_for_field non-static.
>
> Should read like
>
> 	* stor-layout.c (update_alignment_for_field): 
Export.
>
> Also, place a declaration for this function in tree.h 
next to
> the other record layout functions.  Remove it from 
trans-common.c.
>
> Ok with those changes.  Do you have cvs write 
permission?
>
>
> r~
> 

Yes, I have cvs write permission. Is it OK to commit 
all (including my previous patch to gcc/fortran for 
COMMON and EQUIVALENCE)?


+ 2003-12-04  Canqun Yang  <canqun@nudt.edu.cn>
+ 
+ 	* stor-layout.c (update_alignment_for_field): 
Export.
+ 	* tree.h (update_alignment_for_field): 
Declare.
+ 


diff -c3p ./old/ChangeLog.tree-ssa ./new/ChangeLog.tree-ssa
*** ./old/ChangeLog.tree-ssa	2003-12-04 09:15:59.000000000 +0800
--- ./new/ChangeLog.tree-ssa	2003-12-04 09:17:18.000000000 +0800
***************
*** 1,3 ****
--- 1,8 ----
+ 2003-12-04  Canqun Yang  <canqun@nudt.edu.cn>
+ 
+ 	* stor-layout.c (update_alignment_for_field): Export.
+ 	* tree.h (update_alignment_for_field): Declare.
+ 
  2003-12-03  Jan Hubicka  <jh@suse.cz>
  
  	* Makefile.in (tree-optimize.o): Depend on cgraph.h
diff -c3p ./old/stor-layout.c ./new/stor-layout.c
*** ./old/stor-layout.c	2003-12-04 09:15:23.000000000 +0800
--- ./new/stor-layout.c	2003-12-04 09:18:36.000000000 +0800
*************** static void place_union_field (record_la
*** 66,73 ****
  static int excess_unit_span (HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT,
  			     HOST_WIDE_INT, tree);
  #endif
- static unsigned int update_alignment_for_field (record_layout_info, tree,
- 						unsigned int);
  extern void debug_rli (record_layout_info);
  
  /* SAVE_EXPRs for sizes of types and decls, waiting to be expanded.  */
--- 66,71 ----
*************** rli_size_so_far (record_layout_info rli)
*** 682,688 ****
     variable alignment fields in RLI, and return the alignment to give
     the FIELD.  */
  
! static unsigned int
  update_alignment_for_field (record_layout_info rli, tree field,
  			    unsigned int known_align)
  {
--- 680,686 ----
     variable alignment fields in RLI, and return the alignment to give
     the FIELD.  */
  
! unsigned int
  update_alignment_for_field (record_layout_info rli, tree field,
  			    unsigned int known_align)
  {
diff -c3p ./old/tree.h ./new/tree.h
*** ./old/tree.h	2003-12-04 09:16:43.000000000 +0800
--- ./new/tree.h	2003-12-04 09:19:52.000000000 +0800
*************** extern void set_decl_origin_self (tree);
*** 3476,3481 ****
--- 3476,3483 ----
  extern void set_min_and_max_values_for_integral_type (tree, int, bool);
  extern void fixup_signed_type (tree);
  extern void internal_reference_types (void);
+ extern unsigned int update_alignment_for_field (record_layout_info, tree,
+                                                 unsigned int);
  
  /* varasm.c */
  extern void make_decl_rtl (tree, const char *);

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