Commit Graph

25691 Commits

Author SHA1 Message Date
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
Jeff Law
c547c37183 Daily bump.
From-SVN: r31096
1999-12-27 01:45:09 -07:00
Jakub Jelinek
996ed075bd h8300.h (TARGET_H8300H, [...]): Make sure UNITS_PER_WORD and BITS_PER_WORD are compile time constants when...
* config/h8300/h8300.h (TARGET_H8300H, TARGET_H8300S): Make sure
	UNITS_PER_WORD and BITS_PER_WORD are compile time constants when
	compiling libgcc2.
	* config/mips/mips.h (TARGET_64BIT): Likewise.
	* config/rs6000/rs6000.h (TARGET_POWERPC64): Likewise.
	* libgcc2.c: Use {,U}{HW,W,DW}type and DWunion everywhere instead
	of {SI,DI}type and DIunion.  Define these types to QI/HI modes on
	dsps.  Give routines proper names if SI/DI modes are not used.
	* longlong.h: Use DWunion instead of DIunion.

From-SVN: r31095
1999-12-27 09:34:45 +01:00
Bryce McKinlay
9310f1eb4c Commit forgotten Thread.java patch.
From-SVN: r31094
1999-12-27 07:33:22 +00:00
Zack Weinberg
f4524c9e9c acconfig.h: New ENABLE flags: TREE_CHECKING, RTL_CHECKING, GC_CHECKING, GC_ALWAYS_COLLECT.
1999-12-26  Zack Weinberg  <zack@wolery.cumb.org>

	* acconfig.h: New ENABLE flags: TREE_CHECKING, RTL_CHECKING,
	GC_CHECKING, GC_ALWAYS_COLLECT.
	* configure.in: Allow --enable-checking with an argument
	listing check modes to enable.
	* config.in, configure: Rebuilt.
	* ggc-page.c, ggc-simple.c: Define GGC_POISON (and
	GGC_ALWAYS_VERIFY for ggc-simple.c) only if
	ENABLE_GC_CHECKING.  Define GGC_ALWAYS_COLLECT only if
	ENABLE_GC_ALWAYS_COLLECT.
	* rtl.h, rtl.c: Change ENABLE_CHECKING to ENABLE_RTL_CHECKING
	throughout.
	* tree.h, tree.c: Change ENABLE_CHECKING to
	ENABLE_TREE_CHECKING throughout.

	* cp-tree.h: Replace ENABLE_CHECKING with ENABLE_TREE_CHECKING
	throughout.

From-SVN: r31093
1999-12-26 23:06:54 +00:00
Mark Mitchell
f0ad3f4675 decl.c (store_return_init): Use mode of old RTL generated for DECL_RESULT, not the mode of DECL_RESULT itself.
* decl.c (store_return_init): Use mode of old RTL generated for
	DECL_RESULT, not the mode of DECL_RESULT itself.
	* semantics.c (finish_named_return_value): Set DECL_UNINLINABLE
	for functions that used named return values.

From-SVN: r31092
1999-12-26 15:28:18 +00:00
Richard Kenner
1d691c5344 * fold-const.c (fold_truthop): Properly check for FP RHS.
From-SVN: r31091
1999-12-26 07:43:28 -05:00
Jeff Law
f918cd8a10 Daily bump.
From-SVN: r31090
1999-12-26 01:45:42 -07:00
Jeff Law
22c0e6c2e1 Daily bump.
From-SVN: r31089
1999-12-25 01:45:06 -07:00
Mark Mitchell
de23a892ab toplev.h (note_deferall_of_defined_inline_function): Declare.
* toplev.h (note_deferall_of_defined_inline_function): Declare.
	* toplev.c (note_deferral_of_defined_inline_function): New
	function, split out from ...
	(rest_of_compilation): ... here.  Use it.

	* semantics.c (expand_body): Use
	note_deferral_of_defined_inline_function.

From-SVN: r31088
1999-12-24 20:24:16 +00:00
Richard Kenner
9376fcd631 expr.c (store_constructor): Don't call clear_storage if size is variable.
* expr.c (store_constructor): Don't call clear_storage if size is
	variable.

From-SVN: r31086
1999-12-24 12:27:36 -05:00
Kaveh R. Ghazi
272df862c2 Makefile.in (toplev.o): Depend on loop.h.
* Makefile.in (toplev.o): Depend on loop.h.

	* dwarfout.c: Include tm_p.h.

	* emit-rtl.c (restore_emit_status): Mark parameter with
	ATTRIBUTE_UNUSED.

	* final.c (final_scan_insn): Likewise.

	* flow.c (flow_nodes_print, flow_exits_print, flow_loops_cfg_dump,
	flow_loop_nested_p, flow_loop_exits_find, flow_loop_nodes_find,
	flow_depth_first_order_compute, flow_loop_pre_header_find,
	flow_loop_tree_node_add, flow_loops_tree_build,
	flow_loop_level_compute, flow_loops_level_compute,
	flow_loop_outside_edge_p): Add prototypes.
	(recompute_reg_usage): Mark parameters with ATTRIBUTE_UNUSED.

	* ggc-callbacks.c (lang_mark_tree, lang_mark_false_label_stack):
	Mark with ATTRIBUTE_NORETURN.

	* hash.c (hash_newfunc): Mark parameter with ATTRIBUTE_UNUSED.

	* local-alloc.c (no_conflict_p): Likewise.

	* loop.c (insert_bct): Hide definitions of variables with hidden
	usage.
	(note_reg_stored): Mark parameter with ATTRIBUTE_UNUSED.

	* regclass.c (memory_move_secondary_cost): Mark variable `mem'
	with ATTRIBUTE_UNUSED.
	(record_reg_classes): Mark parameter with ATTRIBUTE_UNUSED.
	(reg_scan): Likewise.

	* reload.c (find_reloads): Remove unused variables `changed'.

	* reload1.c (reload_reg_class_lower): Don't unnecessarily cast
	away const-ness.
	(allocate_reload_reg): Mark parameter with ATTRIBUTE_UNUSED.
	Remove unused variable `insn'.

	* toplev.c: Include loop.h.
	(report_file_and_line): Remove unnecessary prototype.

	* tree.c (build_block): Mark parameter with ATTRIBUTE_UNUSED.

	* unroll.c (biv_total_increment): Likewise.

From-SVN: r31085
1999-12-24 14:04:54 +00:00