Commit Graph

19684 Commits

Author SHA1 Message Date
J"orn Rennecke 910bc42d0d regclass.c (init_reg_sets): Move code that calculates tables dependent on reg_class_contents from here...
* regclass.c (init_reg_sets): Move code that calculates tables
	dependent on reg_class_contents from here...
	(init_reg_sets_1): To here.

From-SVN: r23858
1998-11-25 12:15:14 +00:00
Zack Weinberg 0b3d776a42 cpplib.h: Delete struct import_file.
Wed Nov 25 14:54:46 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
        * cpplib.h: Delete struct import_file.  Add ihash element to
        struct cpp_buffer.  Delete dont_repeat_files and
        import_hash_table elements from cpp_reader; change
        all_include_files to a hash table.  Delete all foobar_include
        / last_foobar_include elements from struct cpp_options; put
        back four such: quote_include, bracket_include,
        system_include, after_include.  Redo struct file_name_list
        completely.  Add new structure type include_hash.  Add
        prototypes for merge_include_chains and include_hash.  Change
        prototypes for finclude, find_include_file, and
        append_include_chain to match changes below.
        * cppfiles.c (simplify_pathname, include_hash,
        remap_filename, merge_include_chains): New functions.
        (add_import, lookup_import, open_include_file): Removed.
        (INO_T_EQ): Define this (copied from cccp.c).
        (hack_vms_include_specification): Remove all calls and #if 0
        out the definition.  It was being called incorrectly and at
        the wrong times.  Until a VMSie can look at this, it's better
        to not pretend to support it.
        (append_include_chain): Change calling convention; now takes
        only one directory at a time, and sets up the data structure
        itself.
        (redundant_include_p): Rewritten - this is now used for all
        include redundancy, whether by #ifndef, #import, or #pragma
        once.  Looks up things in the include hash table.
        (file_cleanup): Decrement pfile->system_include_depth here if
        it's >0.
        (find_include_file): Calling convention changed; now passes
        around a struct include_hash instead of 3 separate parameters.
        Guts ripped out and replaced with new include_hash mechanism.
        (finclude): Calling convention changed as for
        find_include_file.  Error exits pulled out-of-line.  Reformat.
        (safe_read): Return a long, not an int.
        (deps_output): Don't recurse.
        * cpplib.c (is_system_include): Deleted.
        (path_include): Fix up call to append_include_chain.
        (do_include): Fix up calls to find_include_file and finclude.
        Clean up dependency output a bit.  Shorten obnoxiously lengthy
        #import warning message.  Don't decrement
        pfile->system_include_depth here.
        (do_pragma): Understand the include_hash structure.  Reformat.
        (do_endif): Correct handling of control macros.  Understand
        the include_hash.
        (cpp_start_read): Fix up calls to finclude.  Call
        merge_include_chains.
        (cpp_handle_option): Fix up calls to append_include_chain.
        Understand the four partial include chains.
        (cpp_finish): Add debugging code (#if 0-ed out) for the
        include_hash.
        (cpp_cleanup): Free the include_hash, not the import hash and
        the all_include and dont_repeat lists which no longer exist.

From-SVN: r23857
1998-11-25 06:56:54 -05:00
Jason Merrill 08b24bda51 except.c (expand_throw): Use TYPE_PTR_P to check for pointers.
* except.c (expand_throw): Use TYPE_PTR_P to check for pointers.
	* decl.c (check_tag_decl): Do complain about null friend decl at
	file scope.

From-SVN: r23856
1998-11-25 06:28:29 -05:00
Jeff Law f1db357664 toplev.c (no_new_pseudos): Define.
* toplev.c (no_new_pseudos): Define.
        (rest_of_compilation):  Set no_new_pseudos as needed.
        * emit-rtl.c (gen_reg_rtx): Abort if we try to create a new pseudo
        if no_new_pseudos is set.
        * rtl.h (no_new_pseudos): Declare it.
        * reload1.c (reload): Update comments.
        * md.texi: Corresponding changes.
        * reload1.c (reg_used_in_insn): Renamed from reg_used_by_pseudo.
        (choose_reload_regs): Rename it here as well.  When computing it,
        also merge in used hardregs.

From-SVN: r23855
1998-11-25 03:31:24 -07:00
Dave Love 6edfbe4c58 u77-test.f (main): Avoid testing [f]statb element, which fails on some systems.
1998-11-25  Dave Love  <d.love@dl.ac.uk>
	* g77.f-torture/execute/u77-test.f (main): Avoid testing [f]statb
	element, which fails on some systems.
	* g77.f-torture/execute/labug1.f: New test.

From-SVN: r23854
1998-11-25 10:05:05 +00:00
Dave Love f270edbcdd (main): Avoid testing [f]statb
element, which fails on some systems.

From-SVN: r23853
1998-11-25 10:02:47 +00:00
Dave Love afaa51ba55 New test.
From-SVN: r23852
1998-11-25 09:59:06 +00:00
Per Bothner 00abfc00a9 expr.c (CHECK_PC_IN_RANGE): Add void cast to kill warnings.
�
	* expr.c (CHECK_PC_IN_RANGE):  Add void cast to kill warnings.

From-SVN: r23851
1998-11-25 01:49:45 -08:00
Zack Weinberg b12da25e3e gcc.c: Split out Objective-C specs to...
* gcc.c: Split out Objective-C specs to...
        * objc/lang-specs.h: here. (New file.) Make the specs cpplib
        aware.
        * c-lex.c (init_parse): Always initialize the filename global.
        * objc/objc-act.c (lang_init): Always call check_newline at
        beginning of file.

From-SVN: r23850
1998-11-25 01:54:10 -07:00
Jason Merrill a64f294eea new
From-SVN: r23849
1998-11-24 23:11:47 -05:00
Andreas Schwab 32201ce4ea lex.c (make_lang_type): Clear the whole struct lang_type, not only the first multiple of sizeof (int).
* lex.c (make_lang_type): Clear the whole struct lang_type, not
	only the first multiple of sizeof (int).

From-SVN: r23848
1998-11-25 04:06:42 +00:00
Jason Merrill 84e6233f15 decl.c (start_decl): An explicit specialization of a static data member is only a definition if...
* decl.c (start_decl): An explicit specialization of a static data
	member is only a definition if it has an initializer.

From-SVN: r23847
1998-11-24 20:59:30 -05:00
Jeff Law f3cd6f7e12 Daily bump.
From-SVN: r23846
1998-11-24 17:45:03 -07:00
Jason Merrill c37dc68e57 except.c (expand_throw): Use cp_finish_decl for the throw temp.
* except.c (expand_throw): Use cp_finish_decl for the throw temp.
	* cvt.c (build_up_reference): Pass DIRECT_BIND down into
	cp_finish_decl.
	* init.c (expand_default_init): Check for DIRECT_BIND instead of
	DECL_ARTIFICIAL.
Fixes Sec15/1/P15140.C, g++.eh/ctor1.C.
	* call.c (build_over_call): Use build_decl.
	* except.c (expand_throw): Just use convert, not
	build_reinterpret_cast.
Fixes Sec15/P15113.C.

From-SVN: r23845
1998-11-24 19:28:51 -05:00
Jason Merrill c4c2aca361 update
From-SVN: r23844
1998-11-24 19:22:44 -05:00
Marc Espie e8294a3575 Makefile.in (just-check): Ignore errors.
�
        * Makefile.in (just-check): Ignore errors.

From-SVN: r23843
1998-11-24 17:03:23 -07:00
Marc Espie fe46648cf5 Makefile.in (just-check): Ignore errors.
(
        * Makefile.in (just-check): Ignore errors.

From-SVN: r23842
1998-11-24 17:02:57 -07:00
Marc Espie ccdbc04add Makefile.in (just-check): Ignore errors.
* Makefile.in (just-check): Ignore errors.

From-SVN: r23841
1998-11-24 17:02:56 -07:00
Marc Espie de7b168e0a * jcf-write.c (generate_bytecode_conditional): Fix typo.
From-SVN: r23840
1998-11-24 16:58:23 -07:00
Graham Stott 5828374fd9 reload1.c (reload): Remove unused variable.
* reload1.c (reload): Remove unused variable.
        (reload_reg_free_for_value_p): Add missing parameter definition.
        * jump.c (jump_optimize): Remove unused variable.

From-SVN: r23839
1998-11-24 16:51:45 -07:00
Jeffrey A Law 0c3a267b5c * Makefile.in (graph.o): Depend on $(RTL_H), not rtl.h.
From-SVN: r23838
1998-11-24 16:19:05 -07:00
Jeffrey A Law 940da3246d cse.c (fold_rtx): Make autoincrement addressing mode tests be runtime selectable.
* cse.c (fold_rtx): Make autoincrement addressing mode tests be
        runtime selectable.
        * expr.c (move_by_pieces): Similarly.
        (move_by_pieces_1, clear_by_pieces, clear_by_pieces_1): Similarly.
        * flow.c (find_auto_inc): Similarly.
        (try_pre_increment): Similarly.
        * loop.c (strength_reduce): Similarly.
        * regclass.c (auto_inc_dec_reg_p): Similarly.
        * regmove.c (try_auto_increment): Similarly.
        (fixup_match_1): Similarly.
        * rtl.h (HAVE_PRE_INCREMENT): Define if not already defined.
        (HAVE_PRE_DECREMENT): Similarly.
        (HAVE_POST_INCREMENT, HAVE_POST_DECREMENT): Similarly.
        sponding changes to all target header files.

From-SVN: r23837
1998-11-24 16:15:19 -07:00
Jason Merrill 83f660b758 lex.c (handle_generic_pragma): Use token_buffer.
* lex.c (handle_generic_pragma): Use token_buffer.
	* decl.c (check_tag_decl): Don't complain about null friend decl.
	* Make-lang.in (DEMANGLER_PROG): Move the output argumnts to the
	first position.
	* lex.c (check_newline): Use ISALPHA.
	(readescape): Use ISGRAPH.
	(yyerror): Use ISGRAPH.
	* search.c (get_abstract_virtuals): Do not use initial
	CLASSTYPE_ABSTRACT_VIRTUALS.
	* typeck2.c (abstract_virtuals_error): Show location of abstract
	declaration.
	* call.c (build_new_method_call): Use
	CLASSTYPE_ABSTRACT_VIRTUAL, rather than recalculate.
	* class.c (finish_struct_bits): Don't bother working out whether
	get_abstract_virtuals will do anything, just do it.

From-SVN: r23836
1998-11-24 16:28:47 -05:00
Jim Wilson d1be3be367 Add m68k-elf port from Cygnus gcc sources.
* configure.in (m68020-*-elf*, m68k-*-elf*): New targets.
	* configure: Rebuild.
	* config/elfos.h: New file.
	* config/m68k/m68020-elf.h, config/m68k/m68kelf.h,
	config/m68k/t-m68kelf: New file.

From-SVN: r23835
1998-11-24 12:42:38 -08:00
Alexandre Petit-Bianco 23a79c6192 [multiple changes]
Tue Nov 24 17:06:38 1998  Per Bothner  <bothner@cygnus.com>
	* (generate_classfile): Always write class access flag with
 	ACC_SUPER set.
Tue Nov 24 16:34:33 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* class.c (maybe_layout_super_class): New function.
	(layout_class): Reorganized. Loop on class methods dispatched into
 	a new function. Call maybe_layout_super_class.
	(layout_class_methods, layout_class_method): New functions.
	* expr.c (expand_java_NEW): Call layout_class_methods on loaded
 	class.
	(expand_invoke): Likewise.
	* java-tree.h (all_class_list): New global variable declared.
	(layout_class_methods, layout_class_method): New function
 	prototypes.
	(LAYOUT_SEEN_CLASS_METHODS): New macro.
	* jcf-parse.c (all_class_list): New global variable.
	(load_class): Extended what class_or_name can be. Use parser
 	context mechanism to save globals before calling jcf_parse.
	(jcf_parse_source): Don't parse twice if HAS_BEEN_ALREADY_PARSED_P
 	is set on the file name.
	(jcf_parse): Layout class methods when Object is loaded, otherwise
 	record class in all_class_list for delayed method layout.
	(parse_class_file): Use LAYOUT_SEEN_CLASS_METHODS.
	* lang.c (put_decl_node): Decode <init> into the decl context
 	class name.
	* lex.c (java_allocate_new_line): Use xmalloc.
	* parse.h (INCOMPLETE_TYPE_P): Redefined to work with incomplete
 	pointers, not TREE_LIST elements.
	(struct parser_ctxt): Fixed comment indentations, added comments
 	and reordered some fields.
	(java_check_methods): Function prototype removed.
	* parse.y (java_push_parser_context): Use xmalloc.
	(java_parser_context_restore_global): Pop extra pushed ctxp only
 	when there's nothing next.
	(maybe_create_class_interface_decl): Fixed comment, add new
 	created class decl to all_class_list.
	(method_header): Use GET_REAL_TYPE on argument's types.
	(method_declarator): Use GET_REAL_TYPE, change type to the real
 	type in TREE_LIST dependency node. Build argument list with the
 	real type.
	(create_jdep_list): Use xmalloc. Removed allocation error message.
	(obtain_incomplete_type): Fixed leading comment. Broadened
 	incoming argument meaning.
	(register_incomplete_type): Use xmalloc. Removed allocation error
 	message.
	(safe_layout_class): Fixed leading comment.
	(jdep_resolve_class): Reversed if statement condition and switch
 	if and else bodies.
	(resolve_and_layout): Fixed leading comment. Broadened incoming
 	argument meaning.
	(complete_class_report_errors): New local variable name, for
 	clarity. purify_type_name used for all error cases.
	(java_get_real_method_name): Stricter check on constructors.
	(java_check_regular_methods): Reverse methods list only if not
 	already laid out. Layout artificial constructor.
	(java_check_methods): Deleted.
	(source_start_java_method): Obtain incomplete type for patchable
 	method arguments.
	(java_layout_classes): Fixed leading comment. Use
 	LAYOUT_SEEN_CLASS_METHODS, use a loop to check methods. Added else
 	statement to layout operation, reuse LAYOUT_SEEN_CLASS_METHODS
 	before returning. Fixed comments.
	(java_expand_classes): Check for errors up front.
	(patch_method_invocation): Class to search is resolved and laid
 	out.
A step forward truly mixing .class and .java during package
compilation. Includes a Per's patch.

From-SVN: r23834
1998-11-24 09:57:41 -08:00
Jason Merrill 333a9f0aaf typeck.c (build_component_ref): Remove unused statement.
* typeck.c (build_component_ref): Remove unused statement.
	* class.c (add_method): Catch invalid overloads.
Fixes Sec13/1/E13097.C.

From-SVN: r23833
1998-11-24 12:56:27 -05:00
Per Bothner 818347b4d6 expr.c (java_lang_expand_expr): Add missing emit_queue.
�
	* expr.c (java_lang_expand_expr):  Add missing emit_queue.
	* javaop.h (int8):  Removed - not used.
	(jbyte):  Redefine portably with correct signedness.

From-SVN: r23832
1998-11-24 05:16:53 -08:00
Per Bothner 6466fce8c9 jcf-write.c (generate_bytecode_insns): Don't free sw_state.cases.
�
	* jcf-write.c (generate_bytecode_insns):  Don't free sw_state.cases.
	* jcf-write.c (generate_bytecode_insns):  Fix typo
	OPCODE_getstatic to OPCODE_getfield.

From-SVN: r23831
1998-11-24 05:16:25 -08:00
Per Bothner 10100cc79c java-tree.def (CASE_EXPR, [...]): Kind is 'x', not '1'.
�
	* java-tree.def (CASE_EXPR, DEFAULT_EXPR):  Kind is 'x', not '1'.
	* parse.y (java_complete_tree):  For CASE_EXPR and DEFAULT_EXPR,
	set TREE_SIDE_EFFECTS (otherwise expand_expr may skip them).

From-SVN: r23830
1998-11-24 05:16:05 -08:00
Per Bothner 5863017420 java-tree.def (CASE_EXPR, [...]): Kind is 'x', not '1'.
�
	* java-tree.def (CASE_EXPR, DEFAULT_EXPR):  Kind is 'x', not '1'.
	* parse.y (java_complete_tree):  For CASE_EXPR and DEFAULT_EXPR,
	set TREE_SIDE_EFFECTS (otherwise expand_expr may skip them).

From-SVN: r23829
1998-11-24 05:16:04 -08:00
Jeffrey A Law f6c2a93cc0 Makefile.in (HOST_AR): Define.
�
        * Makefile.in (HOST_AR): Define.
        (HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Similarly.
        (libcpp.a): Use the host tools explicitly.
        (STAGESTUFF): Add libcpp.a.

From-SVN: r23828
1998-11-24 05:46:07 -07:00
Nick Clifton 6970d948d6 Describe changes made to source and destination registers.
From-SVN: r23827
1998-11-24 09:36:53 +00:00
Jeffrey A Law 0d797e77a2 Makefile.in (lex.c): Do not depend on hash.h.
* Makefile.in (lex.c): Do not depend on hash.h.
        (lex.o): Depend on hash.h.

From-SVN: r23826
1998-11-24 02:00:34 -07:00
Jason Merrill 08a209d473 new
From-SVN: r23823
1998-11-23 21:34:00 -05:00
Jason Merrill 37b6eb345f class.c (add_method): Build up OVERLOADs properly for conversion ops.
* class.c (add_method): Build up OVERLOADs properly for conversion ops.
	* search.c (lookup_conversions): Handle getting real OVERLOADs.
	(add_conversions): Likewise.  Revert last change.
	* call.c (add_conv_candidate): Pass totype to add_candidate instead
	of fn.  Don't add a new candidate if the last one was for the same
	type.
	(print_z_candidates): Handle getting a type as a function.
	(joust): If we got two conversion candidates to the same type,
	just pick one.
	(build_object_call): Lose 'templates'.
	(build_user_type_conversion_1): Handle getting real OVERLOADs.
Fixes g++.jason/overload7.C.

From-SVN: r23822
1998-11-23 21:33:48 -05:00
Jeff Law 52e1eb536c Daily bump.
From-SVN: r23821
1998-11-23 17:45:02 -07:00
Jason Merrill a5b6c91160 revert unintended change
From-SVN: r23820
1998-11-23 18:59:48 -05:00
Jason Merrill e626754922 typeck2.c (process_init_constructor): If there are elements that don't have initializers and they need to have...
* typeck2.c (process_init_constructor): If there are elements
	that don't have initializers and they need to have constructors
	run, supply them with initializers.
Fixes Sec12/6_1/P12176.C.
	* class.c (finish_struct_1): A class with a 0-width bitfield is
	still empty.
Fixes Sec9/6/R09387.r0.  Really this time.

From-SVN: r23819
1998-11-23 18:57:32 -05:00
Mike Stump d0b9a143e7 libgcc2.c (top_elt): Remove top_elt, it isn't thread safe.
* libgcc2.c (top_elt): Remove top_elt, it isn't thread safe.
	The strategy we now use is to pre allocate the top_elt along
	with the EH context so that each thread has its own top_elt.
	This is necessary as the dynmanic cleanup chain is used on the
	top element of the stack and each thread MUST have its own.
	(eh_context_static): Likewise.
	(new_eh_context): Likewise.
	(__sjthrow): Likewise.

From-SVN: r23818
1998-11-23 15:37:32 -05:00
Jason Merrill 8c8a971708 linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Wrap in do...while.
* i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Wrap in do...while.
	* i386.md (prologue_get_pc): Remove unused variable.

From-SVN: r23816
1998-11-23 15:25:50 -05:00
Jeff Law e468780f7e opps
From-SVN: r23815
1998-11-23 13:04:45 -07:00
Geoffrey Noer b8a1412590 Can't use new API yet because of old compilers.
* i386/xm-cygwin.h: Rename cygwin_ path funcs back to cygwin32_.

From-SVN: r23814
1998-11-23 09:08:34 -08:00
Ulrich Drepper 735a0e3356 Ulrich Drepper <drepper@cygnus.com>
Ulrich Drepper  <drepper@cygnus.com>
        * Makefile.in (OBJS): Add graph.o
        (graph.o): New dependency list.
        * flags.h: Declare dump_for_graph and define graph_dump_types type.
        * print-rtl.c (dump_for_graph): Define new variable.
        (print_rtx): Rewrite to allow use in graph dumping functions.
        * toplev.c: Declare print_rtl_graph_with_bb, clean_graph_dump_file,
        finish_graph_dump_file.
        Define graph_dump_format.
        (compile_file): If graph dumping is enabled also clear these files.
        Finish graph dump files.
        (rest_of_compilation): Also dump graph information if enabled.
        (main): Recognize -dv to enabled VCG based graph dumping.
        * graph.c: New file.  Graph dumping functions.

From-SVN: r23813
1998-11-23 08:41:12 -08:00
Richard Henderson a05e22b814 configure.in: Look for <sys/stat.h>.
* configure.in: Look for <sys/stat.h>.
        * system.h: Include it before substitute S_ISREG definitions.

From-SVN: r23812
1998-11-23 08:39:37 -08:00
Gavin Romig-Koch a53f72db6c Separate the 64 bit version of ABI_32 into ABI_O64.
* config/mips/abi.h: Use ABI_O64, duplicating ABI_32 usage.
	* config/mips/iris6.h: Same.
	* config/mips/mips.md: Same.
	* config/mips/mips.c: Same; also add "-mabi=o64" option.
	* config/mips/mips.h: Same; also define ABI_O64.

From-SVN: r23809
1998-11-23 14:43:41 +00:00
Mark Mitchell 6bdb985fc9 pt.c (instantiate_class_template): Don't try to figure out what specialization to use for a partial instantiation.
* pt.c (instantiate_class_template): Don't try to figure out what
	specialization to use for a partial instantiation.  Correct
	typos in a couple of comments.  Avoid calling uses_template_parms
	multiple times.

From-SVN: r23808
1998-11-23 14:41:37 +00:00
Kaveh R. Ghazi c9a3de160b * configure.in: Use AC_PREREQ(2.12.1).
From-SVN: r23805
1998-11-23 14:07:53 +00:00
Kaveh R. Ghazi 35a6cd99b0 * configure.in: Use AC_PREREQ(2.12.1).
From-SVN: r23804
1998-11-23 14:01:42 +00:00
Kaveh R. Ghazi 168aa1fcec configure.in: Use AC_PREREQ(2.12.1).
*  configure.in: Use AC_PREREQ(2.12.1).
        *  libF77/configure.in: Likewise.
        *  libI77/configure.in: Likewise.
        *  libU77/configure.in: Likewise.

From-SVN: r23803
1998-11-23 13:58:48 +00:00
Kaveh R. Ghazi 223a884814 * configure.in: Use AC_PREREQ(2.12.1).
From-SVN: r23802
1998-11-23 13:51:40 +00:00