Commit Graph

25567 Commits

Author SHA1 Message Date
Mark Mitchell
213800dd6f Add missing ChangeLog
From-SVN: r31169
2000-01-02 19:47:17 +00:00
Mark Mitchell
80fd5f4866 cp-tree.h (dfs_mark_primary_bases_queue_p): New function.
* cp-tree.h (dfs_mark_primary_bases_queue_p): New function.
	(layout_basetypes): Remove.
	* class.c (propagate_binfo_offsets): Moved here from tree.c.
	Update to handle primary virtual bases.
	(remove_base_fields): New function, split out from
	layout_basetypes.
	(dfs_mark_primary_bases_and_set_vbase_offsets): New function.
	(layout_virtual_bases): New function, split out from
	layout_basetypes.  Update to handle primary virtual bases.
	(layout_basetypes): Moved here from tree.c.  Use
	remove_base_fields and layout_virtual_bases.
	* search.c (dfs_mark_primary_bases_queue_p): New function.
	(mark_primary_bases): Use it.
	* tree.c (CEIL): Remove.
	(propagate_binfo_offsets): Remove.
	(layout_basetypes): Remove.

From-SVN: r31168
2000-01-02 19:41:09 +00:00
Mark Mitchell
13799af323 system.h (CEIL): Define.
* system.h (CEIL): Define.
	* builtins.c (CEIL): Remove.
	* expmed.c (CEIL): Likewise.
	* expr.c (CEIL): Likewise.
	* stor-layout.c (CEIL): Likewise.

From-SVN: r31167
2000-01-02 19:38:36 +00:00
Franz Sirl
0db5adc6fb expr.c (store_constructor_field): Fix typo introduced with last gcc2 merge.
* expr.c (store_constructor_field): Fix typo introduced with last
	gcc2 merge.

From-SVN: r31166
2000-01-02 13:13:37 +00:00
Jeff Law
592f2707b1 Daily bump.
From-SVN: r31165
2000-01-02 01:45:07 -07:00
Mark Mitchell
99a6c6f408 cp-tree.h (CLASSTYPE_N_BASECLASSES): Use BINFO_N_BASETYPES.
* cp-tree.h (CLASSTYPE_N_BASECLASSES): Use BINFO_N_BASETYPES.
	(BINFO_PRIMARY_MARKED_P): New macro.
	(SET_BINFO_PRIMARY_MARKED_P): Likewise.
	(CLEAR_BINFO_PRIMARY_MARKED_P): Likewise.
	(mark_primary_bases): New function.
	(unmark_primary_bases): Likewise.
	* search.c (get_abstract_virtuals_1): Remove.
	(dfs_mark_primary_bases): New function.
	(mark_primary_bases): Likewise.
	(dfs_unmark_primary_bases): Likewise.
	(unmark_primary_bases): Likewise.
	(dfs_get_pure_virtuals): Likewise.

From-SVN: r31164
2000-01-02 04:34:22 +00:00
Mark Mitchell
07b7a812fd cp-tree.h (skip_rtti_stuff): Adjust prototype.
* cp-tree.h (skip_rtti_stuff): Adjust prototype.
	* class.c (skip_rtti_stuff): Reorganize parameters and return value.
	(modify_one_vtable): Adjust.
	(fixup_vtable_deltas1): Likewise.
	(override_one_vtable): Likewise.
	* search.c (get_abstract_virtuals_1): Likewise.
	(get_pure_virtuals): Likewise.
	(expand_upcast_fixups): Likewise.
	* tree.c (debug_binfo): Likewise.

From-SVN: r31163
2000-01-02 04:04:05 +00:00
Mark Mitchell
5e1677bcb0 * tree.h (BINFO_N_BASETYPES): New macro.
From-SVN: r31162
2000-01-02 03:24:44 +00:00
Mark Mitchell
0533d788e5 class.c (build_vtable): Don't return a value.
* class.c (build_vtable): Don't return a value.  Don't rebuild
	vtables for bases that have already been handled.
	(prepare_fresh_vtable): Don't rebuild vtables for bases that have
	already been handled.
	(modify_one_vtable): Adjust accordingly.
	(fixup_vtable_deltas1): Likewise.
	(finish_struct_1): Likewise.

From-SVN: r31161
2000-01-02 02:13:53 +00:00
Martin v. Löwis
4485c55bfd Fix date of last check-in
From-SVN: r31160
2000-01-01 17:55:30 +00:00
Hans-Peter Nilsson
2f52c7e641 symcat.h (STRINGX): Change "?" to "s" to stringify argument s.
* symcat.h (STRINGX) [!__STDC__ || ALMOST_STDC]: Change "?" to "s"
	to stringify argument s.

From-SVN: r31159
2000-01-01 17:26:13 +00:00
Martin v. Löwis
0c12c02a4f New test case.
From-SVN: r31158
2000-01-01 13:30:01 +00:00
Martin v. Löwis
1cb47a5cab * call.c (build_new_method_call): Also check destructors.
From-SVN: r31157
2000-01-01 13:29:44 +00:00
Bernd Schmidt
3bdf58486d Avoid losing pending stack adjusts.
From-SVN: r31156
2000-01-01 12:12:10 +00:00
Jeff Law
2d0541b99a Daily bump.
From-SVN: r31155
2000-01-01 01:45:07 -07:00
Mark Mitchell
0370274800 cp-tree.h (VF_NORMAL_VALUE): Remove.
* cp-tree.h (VF_NORMAL_VALUE): Remove.
	* class.c (struct base_info): Remove vfield, vfields, and rtti.
	(set_primary_base): New function, split out from ...
	(finish_base_struct): ... here.  Rename to ...
	(determine_primary_base): ... this.  Simplify.
	(create_vtable_ptr): Tweak accordingly.
	(finish_struct_1): Simplify.

From-SVN: r31154
2000-01-01 03:04:27 +00:00
Richard Kenner
700f19f09f function.c (update_temp_slot_address): Handle case where sum of temporary address plus offset in register is a valid...
* function.c (update_temp_slot_address): Handle case where sum of
	temporary address plus offset in register is a valid address.

From-SVN: r31153
1999-12-31 19:07:54 -05:00
Tom Tromey
2c33b220da * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
From-SVN: r31152
1999-12-31 22:44:09 +00:00
Manfred Hollstein
df5507eca8 * POTFILES.in: Remove config/xm-siglist.h.
From-SVN: r31151
1999-12-31 21:50:33 +00:00
Mark Mitchell
233811559a cp-tree.h (CLASSTYPE_VBASECLASSES): Update documentation.
* cp-tree.h (CLASSTYPE_VBASECLASSES): Update documentation.
	(CLASSTYPE_N_BASECLASSES): Likewise.
	(BINFO_FOR_VBASE): New macro.
	(get_vbase_types): Change prototype.
	* class.c (build_vbase_path): Use BINFO_FOR_VBASE.
	(prepare_fresh_vtable): Likewise.
	(finish_vtbls): Likewise.
	(get_class_offset_1): Likewise.
	(modify_all_indirect_vtables): Likewise.
	(build_vbase_pointer_fields): Likewise.
	* decl.c (xref_basetypes): Don't set CLASSTYPE_VBASECLASSES here.
	* init.c (sort_base_init): Use BINFO_FOR_VBASE.
	(expand_member_init): Likewise.
	* search.c (get_base_distance): Likewise.
	(lookup_field_queue_p): Likewise.
	(virtual_context): Likewise.
	(get_vbase_types): Don't return a value.  Set
	CLASSTYPE_VBASECLASSES here.
	* typeck.c (get_delta_difference): Use BINFO_FOR_VBASE.

From-SVN: r31150
1999-12-31 20:26:07 +00:00
Jeff Law
8b4d03b1f9 Daily bump.
From-SVN: r31149
1999-12-31 01:45:07 -07:00
Kaveh R. Ghazi
c63b98cdad class.c (assume_compiled, [...]): Add static prototype.
* class.c (assume_compiled, assume_compiled_node): Add static
	prototype.
	(add_assume_compiled): Use xmalloc/xstrdup, not malloc/strdup.

	* jcf-dump.c (ARRAY_NEW_NUM): Cast long to int in switch.

	* jvgenmain.c (usage): Add static prototype with ATTRIBUTE_NORETURN.

	* parse.h (OBSOLETE_MODIFIER_WARNING): Rename parameter `modifier'
	to `__modifier' to avoid stringifying it.

	* parse.y (verify_constructor_circularity): Don't call a variadic
	function with a non-literal format string.
	(java_check_abstract_methods): Move unreachable code inside
	`continue' statement.
	(lookup_method_invoke): Call xstrdup, not strdup.

	* expr.c (expand_java_field_op): Avoid the use of ANSI string
	concatenation.

	* jcf-parse.c (yyparse): Likewise.

	* jv-scan.c (main): Likewise.

From-SVN: r31148
1999-12-31 03:30:22 +00:00
Alexandre Petit-Bianco
6bafd8b6e9 expr.c (expand_invoke): Layout the loaded class before attempting to use it.
Thu Dec 16 00:09:45 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* expr.c (expand_invoke): Layout the loaded class before
 	attempting to use it.
	(expand_java_field_op): Allow final field assignments to take
 	place in $finit$.
	* typeck.c (convert): Return error_mark_node if expr is null.

From-SVN: r31147
1999-12-30 19:06:55 -08:00
Kaveh R. Ghazi
781b0558cf parse.h (ABSTRACT_CHECK, [...]): Avoid the use of ANSI string concatenation.
* parse.h (ABSTRACT_CHECK, JCONSTRUCTOR_CHECK,
	ERROR_CANT_CONVERT_TO_BOOLEAN, ERROR_CANT_CONVERT_TO_NUMERIC,
	ERROR_CAST_NEEDED_TO_INTEGRAL): Avoid the use of ANSI string
	concatenation.

	* parse.y (synchronized, variable_redefinition_error,
	check_class_interface_creation, create_interface, create_class,
	method_header, finish_method_declaration,
	check_modifiers_consistency, method_declarator,
	complete_class_report_errors, check_abstract_method_definitions,
	java_check_regular_methods, check_throws_clauses,
	java_check_abstract_methods, read_import_dir,
	check_pkg_class_access, declare_local_variables, fix_constructors,
	cut_identifier_in_qualified, resolve_expression_name,
	resolve_qualified_expression_name, patch_method_invocation,
	java_complete_lhs, patch_assignment, try_builtin_assignconv,
	patch_binop, patch_array_ref, patch_newarray, build_labeled_block,
	patch_exit_expr, patch_exit_expr, patch_switch_statement,
	patch_try_statement, patch_synchronized_statement,
	patch_throw_statement, check_thrown_exceptions,
	patch_conditional_expr): Likewise.

From-SVN: r31146
1999-12-31 02:41:24 +00:00
Alexandre Petit-Bianco
e920ebc931 class.c (class_depth): Return -1 if the class doesn't load properly.
1999-12-14  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * class.c (class_depth): Return -1 if the class doesn't load
        properly.
        * expr.c (can_widen_reference_to): Check for errors during depth
        computation and return 0 accordingly.
        * jcf-parse.c (parse_source_file): Call java_fix_constructors to
        create default constructors and add an other error check.
        * parse.h (java_fix_constructors): Prototyped.
        * parse.y (java_pre_expand_clinit): Likewise.
        (build_super_invocation): Re-prototyped to feature one argument.
        (java_check_circular_reference): Directly use `current'.
        (java_fix_constructors): New function.
        (java_check_regular_methods): Don't create default constructors
        here, but abort if none were found.
        (java_complete_expand_methods): Pre-process <clinit> calling
        java_pre_expand_clinit.
        (java_pre_expand_clinit): New function.
        (fix_constructors): build_super_invocation invoked with the
        current method declaration as an argument.
        (build_super_invocation): Use the context of the processed method
        decl argument instead of current_class.
        * typeck.c (lookup_java_method): Take WFLs in method names into
        account.

From-SVN: r31144
1999-12-30 14:36:25 -08:00
Richard Henderson
f0353e33dc * stw.h (struct _ffestw_): Change type of uses_ to int.
From-SVN: r31143
1999-12-30 13:15:24 -08:00
Geoff Keating
7189a4b014 Make the Fortran front-end use garbage collection:
* com.c (ffecom_init_0): Make double_ftype_double,
	float_ftype_float, ldouble_ftype_ldouble,
	ffecom_tree_ptr_to_fun_type_void local.
	(tracker_head): New static variable.
	(mark_tracker_head): New, marker procedure for tracker_head.
	(ffecom_save_tree_forever): New procedure.
	(ffecom_init_zero_): Remove obstack use.
	(ffecom_make_gfrt_): Remove obstack use.
	(ffecom_sym_transform_): Remove obstack use, save appropriate trees.
	(ffecom_transform_common_): Remove obstack use, save appropriate
	trees.
	(ffecom_type_namelist_): Remove obstack use, save appropriate
	trees.
	(ffecom_type_vardesc_): Remove obstack use, save appropriate trees.
	(ffecom_lookup_label): Remove obstack use, save appropriate trees.
	(duplicate_decls): Remove obstack use.
	(finish_function): push & pop ggc context around
	rest_of_compilation when building nested function.
	(mark_binding_level): New function.
	(init_decl_processing): Mark all the GC roots.
	(ggc_p): Set to 1.
	(lang_mark_tree): New function.
	(lang_mark_false_label_stack): New trivial function.
	* com.h (ffecom_save_tree_forever): Declare as external.
	* lex.c (ffelex_hash_): Use GC to allocate the filename string
	even when ffelex_kludge_flag_.
	* ste.c (ffeste_io_ialist_): Register a static root.
	(ffeste_io_inlist_): Likewise.
	(ffeste_io_icilist_): Likewise.
	(ffeste_io_cllist_): Likewise.
	(ffeste_io_cilist_): Likewise.
	(ffeste_io_olist_): Likewise.
	* Makefile.in (OBJS): Don't use ggc-callbacks.o.
	(OBJDEPS): Likewise.
	(GGC_H): New variable.
	Update dependencies.
	* where.c (ffewhere_head): New global.
	(mark_ffewhere_head): New marker procedure for ffewhere_head.
	(ffewhere_file_kill): Use GC to do memory management.
	(ffewhere_file_new): Use GC to do memory management.
	* ggc.j: New file.

From-SVN: r31142
1999-12-30 19:44:13 +00:00
Herman A.J. ten Brugge
0deeec4e12 * genrecog.c (change_state) Corrected typo.
From-SVN: r31141
1999-12-30 09:48:52 -08:00
Mark Mitchell
351c54c817 * class.c (fixup_inline_methods): Clear CLASSTYPE_INLINE_FRIENDS.
From-SVN: r31140
1999-12-30 17:23:24 +00:00
Kaveh R. Ghazi
d4d4ae5f2d system.h (bcopy, [...]): Add prototype arguments.
* system.h (bcopy, bcmp, bzero, index, rindex, atof, atol, free,
	getcwd, getenv, getwd, sbrk, strstr, malloc, calloc, realloc,
	strerror, getrlimit, setrlimit, abort): Add prototype arguments.

From-SVN: r31139
1999-12-30 13:48:51 +00:00
Bernd Schmidt
d22ce03d6e Fix FP GT comparisons on i386 with -ffast-math
From-SVN: r31138
1999-12-30 12:43:51 +00:00
Bernd Schmidt
3fe5b1438e New testcase
From-SVN: r31137
1999-12-30 12:40:53 +00:00
Jeff Law
47918b57bd Daily bump.
From-SVN: r31136
1999-12-30 01:45:06 -07:00
Jeffrey A Law
60a18af89e * gcc.c-torture/compile/991229-3.c: New test.
From-SVN: r31135
1999-12-29 23:54:04 -07:00
Jeffrey A Law
7f0f889158 * gcc.c-torture/compile/991229-2.c: New test.
From-SVN: r31134
1999-12-29 23:51:26 -07:00
Jeffrey A Law
bacaaca4b8 * gcc.c-torture/compile/991229-1.c: New test.
From-SVN: r31133
1999-12-29 23:47:39 -07:00
Gabriel Dos Reis
671d2ac663 dwarfout.c: Include "frame.h"
1999-12-30  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>

        * dwarfout.c: Include "frame.h"
        * dwarf2out.c: Likewise.
        * Makefile.in (dwarfout.o): Depend on frame.h
        (dwarf2out.o): Likewise.

From-SVN: r31131
1999-12-30 05:58:56 +00:00
Greg McGary
7fb1283fc7 * gcc.c-torture/compile/labels-2.c: New test.
From-SVN: r31128
1999-12-29 20:55:32 -07:00
Martin v. Loewis
3073d01c3d Restore i386 binary compatibility in Dwarf EH info.
* config/i386/i386.h (DWARF_FRAME_REGISTERS): Define as 17, the old
        value of FIRST_PSEUDO_REGISTER.
        * frame.h (DWARF_FRAME_REGISTERS): Default to FIRST_PSEUDO_REGISTER.
        (struct frame_state): Use DWARF_FRAME_REGISTERS.
        * dwarfout.c (output_reg_number): Ditto.
        * dwarf2out.c (reg_number, expand_builtin_init_dwarf_reg_sizes): Ditto.
        (DWARF_FRAME_RETURN_COLUMN): Default to DWARF_FRAME_REGISTERS.

From-SVN: r31127
1999-12-29 20:44:13 -07:00
Bruce Korb
87ad679bfb C++ file type checking
From-SVN: r31125
1999-12-29 22:59:16 +00:00
Kaveh R. Ghazi
ec6bfc9b7c crtstuff.c: If !inhibit_libc, include stdlib.h/unistd.h.
* crtstuff.c: If !inhibit_libc, include stdlib.h/unistd.h.
	Otherwise provide a declaration for atexit.
	(init_dummy): Make sure dummy call to atexit is nevertheless
	called with correct number of args.

	* frame.c: Update comments referring to other files.

	* libgcc2.c: Likewise.

From-SVN: r31124
1999-12-29 21:22:16 +00:00
Kaveh R. Ghazi
9d0878fd43 cse.c (free_element, [...]): Remove unused prototypes.
* cse.c (free_element, get_element): Remove unused prototypes.

	* fold-const.c (extract_muldiv): Initialize variables `op0' and
	`op1'.

	* jump.c (invert_exp): Add explicit braces to avoid ambiguous
	`else' clauses.

From-SVN: r31123
1999-12-29 21:18:46 +00:00
Donald Lindsay
5e3c02a857 Patch to configure.in, approved by law@cygnus, for mn10200 processor.
From-SVN: r31121
1999-12-29 20:48:34 +00:00
Mark Mitchell
80ec27c8f4 class.c (create_vtable_ptr): Put the vtable at the beginning of the class, not the end, in the new ABI.
* class.c (create_vtable_ptr): Put the vtable at the beginning of
	the class, not the end, in the new ABI.
	* tree.c (propagate_binfo_offsets): Do the right thing for the new
	ABI.

From-SVN: r31120
1999-12-29 20:05:41 +00:00
Gerald Pfeifer
71e33c0d12 * g77.texi (C Interfacing Tools): Fix an incorrect link.
From-SVN: r31119
1999-12-29 18:32:38 +00:00
Jeffrey A Law
b1f107272c pa.md (conditional zero): If op1 is a register, force it into the same register as op0.
* pa.md (conditional zero): If op1 is a register, force it into
        the same register as op0.

From-SVN: r31118
1999-12-29 10:54:29 -07:00
Jeff Law
1fc69a8a42 Daily bump.
From-SVN: r31117
1999-12-29 01:45:07 -07:00
Mark Mitchell
f9c528eae8 cp-tree.h (lang_type): Add nearly_empty_p.
* cp-tree.h (lang_type): Add nearly_empty_p.  Adjust dummy.
	(CLASSTYPE_NEARLY_EMPTY_P): New macro.
	* class.c (check_bases): Update CLASSTYPE_NEARLY_EMPTY_P.
	(check_field_decls): Likewise.
	(check_bases_and_members): Likewise.

From-SVN: r31116
1999-12-29 08:28:50 +00:00
Mark Mitchell
2ef161408c cp-tree.h (do_inline_function_hair): Remove.
* cp-tree.h (do_inline_function_hair): Remove.
	* class.c (layout_class_type): New function, split out from
	finish_struct_1.
	(fixup_pending_inline): Likewise.
	(fixup_inline_methods): New function.
	* method.c (fixup_pending_inline): Remove.
	(do_inline_function_hair): Likewise.

	* decl.c (BOOL_TYPE_SIZE): Bools always have size `1' under the
	new ABI.

From-SVN: r31115
1999-12-29 07:31:51 +00:00
Mark Mitchell
fee7654ec6 cp-tree.h (lang_type): Replace abstract_virtuals with pure_virtuals.
* cp-tree.h (lang_type): Replace abstract_virtuals with pure_virtuals.
	(CLASSTYPE_ABSTRACT_VIRTUALS): Rename to ...
	(CLASSTYPE_PURE_VIRTUALS): ... this.
	(lang_decl_flags): Replace abstract_virtual with pure_virtual.
	(DECL_ABSTRACT_VIRTUAL_P): Rename to ...
	(DECL_PURE_VIRTUAL_P): ... this.
	(get_abstract_virtuals): Rename to ...
	(get_pure_virtuals): ... this.
	* call.c (build_new_method_call): Replace DECL_PURE_VIRTUAL_P with
	DECL_ABSTRACT_VIRTUAL_P.  Replace CLASSTYPE_ABSTRACT_VIRTUALS with
	CLASSTYPE_PURE_VIRTUALS.
	* class.c (build_vtable_entry): Likewise.
	(finish_struct_bits): Likewise.  Call get_pure_virtuals, not
	get_abstract_virtuals.
	(build_vtbl_initializer): Likewise.
	(override_one_vtable): Likewise.
	(check_methods): Likewise.
	* decl.c (duplicate_decls): Likewise.
	(redeclaration_error_message): Likewise.
	(lang_mark_tree): Likewise.
	* decl2.c (grok_function_init): Likewise.
	(import_export_vtable): Likewise.
	(import_expor_class): Likewise.
	* typeck2.c (abstract_virtuals_error): Likewise.
	* xref.c (GNU_xref_member): Likewise.
	* search.c (get_abstract_virtuals): Rename to get_pure_virtuals.

From-SVN: r31114
1999-12-29 06:39:42 +00:00