Commit Graph

25752 Commits

Author SHA1 Message Date
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
Mark Mitchell 0430641bc2 * tree.h (BINFO_BASETYPES): Improve documentation.
From-SVN: r31113
1999-12-29 06:12:58 +00:00
Kaveh R. Ghazi c62e45adc7 configure.in (--enable-checking): Use a more portable `for' loop syntax.
* configure.in (--enable-checking): Use a more portable `for'
        loop syntax.

From-SVN: r31110
1999-12-28 17:31:23 +00:00
Kaveh R. Ghazi 2d092ffaf5 configure.in (AC_DECL_SYS_SIGLIST, [...]): Don't use.
* configure.in (AC_DECL_SYS_SIGLIST, xm-siglist.h,
        arm/xm-netbsd.h, NO_SYS_SIGLIST): Don't use.

        * xm-siglist.h, arm/xm-netbsd.h, mips/xm-news.h, mips/xm-sysv4.h:
        Delete files.

        * gcc.texi (NO_SYS_SIGLIST, sys_siglist, SYS_SIGLIST_DECLARED):
        Delete descriptions.

        * i386/osf1elf.h, i386/xm-cygwin.h, i386/xm-mingw32.h, m68k/3b1.h,
        m68k/a-ux.h, m68k/dpx2.h, m68k/plexus.h, m68k/xm-hp320.h,
        m88k/xm-m88k.h, mips/x-sni-svr4, pa/xm-pa.h, pa/xm-pahpux.h,
        pa/xm-papro.h, we32k/xm-we32k.h, winnt/xm-winnt.h, xm-interix.h,
        xm-svr4.h: Remove all instances of sys_siglist handling.

From-SVN: r31109
1999-12-28 16:36:09 +00:00
Jakub Jelinek ce1531ab62 sparc.md (cmp_zero_qi, [...]): New patterns.
* config/sparc/sparc.md (cmp_zero_qi,
	cmp_zero_extendqisi2_andcc_set, cmp_zero_qi_sp64,
	cmp_zero_extendqidi2_andcc_set): New patterns.

From-SVN: r31108
1999-12-28 10:33:11 +01:00
Manfred Hollstein 6ffaeb1400 t-mot3300-gald (CROSS_LIBGCC1): Define to libgcc1-asm.a.
* m68k/t-mot3300-gald (CROSS_LIBGCC1): Define to libgcc1-asm.a.
	(LIB1ASMSRC, LIB1ASMFUNCS, LIB2FUNCS_EXTRA): Define.
	(fpgnulib.c, xfgnulib.c): Add rules.
	* m68k/t-mot3300-gas: Likewise.

From-SVN: r31107
1999-12-28 09:15:24 +00:00
Jeff Law b09a61f45e Daily bump.
From-SVN: r31106
1999-12-28 01:45:07 -07:00
Ian Lance Taylor 2618c08381 configure.in: Avoid [[ by using test and changequote.
* configure.in: Avoid [[ by using test and changequote.  Add
	changequote required by 1999-12-14 change.
	* configure: Rebuild.

From-SVN: r31105
1999-12-28 03:22:04 +00:00
Clinton Popetz 440927ec19 * config/mips/mips.h: Fix typo from 12/17/99 libgcc2 fix.
From-SVN: r31104
1999-12-27 18:31:48 -05:00
Christophe Jaillet d4757e6a5d alias.c (nonlocal_reference_p): Add else for disjoint ifs.
* alias.c (nonlocal_reference_p): Add else for disjoint ifs.
        * flow.c (find_use_as_address): Likewise.
        * function.c (fixup_var_refs_1): Likewise.
        (walk_fixup_memory_subreg, fixup_stack_1): Likewise.
        * jump.c (invert_exp, redirect_exp): Likewise.
        * loop.c (replace_call_address): Likewise.
        (count_nonfixed_reads): Likewise.
        * rtlanal.c (modified_between_p): Likewise.
        (modified_in_p, volatile_insn_p, volatile_refs_p): Likewise.
        (side_effects_p, replace_regs, jmp_uses_reg_or_mem): Likewise.
        * unroll.c (remap_split_bivs): Likewise.

From-SVN: r31103
1999-12-27 15:01:12 -08:00
Geoff Keating 0fadedb2df vasprintf.c (int_vasprintf): Don't re-read the format character as this mishandles strings like '%%s'.
* vasprintf.c (int_vasprintf): Don't re-read the format character
as this mishandles strings like '%%s'.

From-SVN: r31102
1999-12-27 21:38:06 +00:00
Kaveh R. Ghazi cfa9f25220 diagnostic.c (v_message_with_decl): Use .* format specifier instead of building the format specifier width manually.
* diagnostic.c (v_message_with_decl): Use .* format specifier
       instead of building the format specifier width manually.

From-SVN: r31101
1999-12-27 16:52:03 +00:00
Kaveh R. Ghazi 759af044d4 system.h (strsignal): Don't check HAVE_STRSIGNAL when determining whether to provide a prototype.
* system.h (strsignal): Don't check HAVE_STRSIGNAL when
        determining whether to provide a prototype.  Remove the
        sys_siglist clause in the conditional.

From-SVN: r31100
1999-12-27 15:39:39 +00:00
Martin v. Löwis c43406a75a Update for 991221 and 991227
From-SVN: r31099
1999-12-27 11:39:01 +00:00
Martin v. Löwis 7a555f6443 New test case
From-SVN: r31098
1999-12-27 11:36:24 +00:00
Martin v. Löwis 7114581090 fold-const.c (operand_equal_p): Use memcmp to compare string constants.
* fold-const.c (operand_equal_p): Use memcmp to compare string
	constants.

From-SVN: r31097
1999-12-27 11:35:07 +00:00