This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Patches for --enable-checking
- To: kenner at vlsi1 dot ultra dot nyu dot edu,gcc-patches at gcc dot gnu dot org
- Subject: Re: Patches for --enable-checking
- From: Franz Sirl <Franz dot Sirl-kernel at lauterbach dot com>
- Date: Tue, 28 Mar 2000 21:45:48 +0200
- References: <10003270141.AA04326@vlsi1.ultra.nyu.edu>
Am Fri, 02 May 2036 schrieb Richard Kenner:
>When I ran with --enable-checking, it showed quite a number of problems,
>the patches for which are below. There are still about a half dozen
>g++ testsuite crashes on checking errors, but they are all in error
>recovery cases where an error message has already been given. They are
>beyond my ability to fix, so I'll leave them for somebody else.
>
>Sun Mar 26 20:15:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
>
> * c-convert.c (convert): Return if output or input type is ERROR_MARK.
> * c-decl.c (duplicate_decls): Only look at DECL_BUILT_IN_NONANSI
> and DECL_INLINE if FUNCTION_DECL.
> (pushdecl, redeclaration_error_message): Likewise, for DECL_INLINE.
> (store_parm_decls): Check for type of PARM_DECL being ERROR_MARK.
> Use DECL_WEAK, not DECL_RESULT, to flag for already seen.
> (combine_parm_decls): Likewise.
> * ggc-common.c (gcc_mark_tree_children, case 'd'): Use DECL_RESULT_FLD.
> * print-tree.c (print_node): Likewise.
> Only test DECL_PACKED, DECL_INLINE, DECL_BIT_FIELD, and
> DECL_TRANSPARENT_UNION on proper decl types.
> Properly handly DECL_INCOMING_RTL and DECL_SAVED_INSNS.
> * stor-layout.c (layout_decl): Only check DECL_PACKED and
> DECL_BIT_FIELD of FIELD_DECL.
> * tree.h (DECL_RESULT_FLD): New macro.
> * cp/class.c (check_field_decl): Fix typo.
> (build_vtbl_or_vbase_field): Don't clear DECL_SAVED_INSNS.
> (check_methods): Likewise.
> (check_field_decls): Likewise.
> Use DECL_CONTEXT, not DECL_FIELD_CONTEXT.
> * cp-tree.h (DECL_SHADOWED_FOR_VAR, DECL_TEMPLATE_RESULT):
> Use DECL_RESULT_FLD, not DECL_RESULT.
> * cp/decl.c (xref_tag): Use DECL_TEMPLATE_RESULT.
> * cp/lex.c (identifier_type): Likewise.
> * cp/pt.c (determine_specialization, lookup_template_class): Likewise.
> (tsubst_friend_function, tsubst_decl, instantiate_template): Likewise.
> (resolve_overloaded_unification, more_specialized): Likewise.
> * cp/semantics.c (finish_member_declaration): Likewise.
> * cp/typeck.c (build_x_function_call): Likewise.
Great! The testsuite is nearly back to normal now. I think you just missed the
Fortran stuff. The appended patch fixes that.
OK to commit?
Franz.
Index: ChangeLog
===================================================================
RCS file: /cvs/gcc/egcs/gcc/f/ChangeLog,v
retrieving revision 1.240
diff -u -p -r1.240 ChangeLog
--- ChangeLog 2000/03/25 18:34:13 1.240
+++ ChangeLog 2000/03/28 19:36:15
@@ -1,3 +1,9 @@
+2000-03-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * com.c (ffecom_decl_field): Use DECL_ALIGN and DECL_OFFSET_ALIGN
+ for a FIELD_DECL.
+ (ffecom_init_0): Likewise.
+
Sat Mar 25 09:12:10 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* com.c (ffecom_tree_canonize_ptr_): Use bitsize_zero_node.
Index: com.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/f/com.c,v
retrieving revision 1.82
diff -u -p -r1.82 com.c
--- com.c 2000/03/25 18:34:13 1.82
+++ com.c 2000/03/28 19:36:31
@@ -11000,7 +11000,8 @@ ffecom_decl_field (tree context, tree pr
field = build_decl (FIELD_DECL, get_identifier (name), type);
DECL_CONTEXT (field) = context;
- DECL_FRAME_SIZE (field) = 0;
+ DECL_ALIGN (field) = 0;
+ DECL_OFFSET_ALIGN (field) = 0;
if (prevfield != NULL_TREE)
TREE_CHAIN (prevfield) = field;
@@ -12056,7 +12057,8 @@ ffecom_init_0 ()
ffecom_tree_type[i][j]);
DECL_CONTEXT (ffecom_multi_fields_[i][j])
= ffecom_multi_type_node_;
- DECL_FRAME_SIZE (ffecom_multi_fields_[i][j]) = 0;
+ DECL_ALIGN (ffecom_multi_fields_[i][j]) = 0;
+ DECL_OFFSET_ALIGN (ffecom_multi_fields_[i][j]) = 0;
TREE_CHAIN (ffecom_multi_fields_[i][j]) = field;
field = ffecom_multi_fields_[i][j];
}