1. 25 Nov, 1998 29 commits
    • * g++.old-deja/g++.pt/friend37.C: New test. · 3c9a0d0f
      From-SVN: r23875
      Alexandre Oliva committed
    • emit-rtl.c (gen_lowpart_common): Remove earlier change. · a46f03ea
              * emit-rtl.c (gen_lowpart_common): Remove earlier change.
              * real.c (make_nan): Make SIGN arg actually specify the sign bit.
      
      From-SVN: r23874
      Stephen L Moshier committed
    • * Makefile.in (splay-tree.o): Add config.h dependency. · c85c3232
      From-SVN: r23873
      Mike Stump committed
    • c4x.md (addqi3): Emit addqi3_noclobber pattern during reload. · f3ed04e7
      	* config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern
      	during reload.
      
      From-SVN: r23872
      Michael Hayes committed
    • java-tree.h (end_params_node): Declare global. · de4c7b02
       
      	* java-tree.h (end_params_node):  Declare global.
      	* decl.c (end_params_node):  New global.
      	(init_decl_processing, start_java_method):  Use end_params_node for
      	end of list of parameter types.  Follows correct gcc conventions.
      	* expr.c (pop_argument_types, pop_arguments):  Likewise.
      	* lang.c (put_decl_node):  Likewise.
      	* typeck.c (various places):  Likewise.
      	* class.y (various places):  Likewise.
      	* parse.y (various places):  Likewise.
      	* parse.y (java_complete_tree):  Move CAN_COMPLETE_NORMALLY.
      	(build_jump_to_finally):  Add missing CAN_COMPLETE_NORMALLY.
      	* class.c:  Add #include flags.h, remove no-longer needed declaration.
      	* class.c (layout_class_method):  Remove commented-out code, re-format.
      	Don't add vtable entry (or index) for private methods.
      	* expr.c (expand_invoke):  A private method is implicitly final.
      	* class.c (make_class_data):  If inlining or optimizing,
      	skip private methods.
      	* class.c (finish_class):  New function.  Calls existing methods,
      	but alls emits deferred inline functions.
      	* jcf-parse.c (parse_class_file):  Call finish_class.
      	* parse.y (java_complete_expand_methods):  Likewise.
      	* expr.c (build_java_binop):  Explicit default, to silence -Wall.
      
      From-SVN: r23871
      Per Bothner committed
    • java-tree.h (end_params_node): Declare global. · 0bd2e6db
      �
      	* java-tree.h (end_params_node):  Declare global.
      	* decl.c (end_params_node):  New global.
      	(init_decl_processing, start_java_method):  Use end_params_node for
      	end of list of parameter types.  Follows correct gcc conventions.
      	* expr.c (pop_argument_types, pop_arguments):  Likewise.
      	* lang.c (put_decl_node):  Likewise.
      	* typeck.c (various places):  Likewise.
      	* class.y (various places):  Likewise.
      	* parse.y (various places):  Likewise.
      	* parse.y (java_complete_tree):  Move CAN_COMPLETE_NORMALLY.
      	(build_jump_to_finally):  Add missing CAN_COMPLETE_NORMALLY.
      	* class.c:  Add #include flags.h, remove no-longer needed declaration.
      	* class.c (layout_class_method):  Remove commented-out code, re-format.
      	Don't add vtable entry (or index) for private methods.
      	* expr.c (expand_invoke):  A private method is implicitly final.
      	* class.c (make_class_data):  If inlining or optimizing,
      	skip private methods.
      	* class.c (finish_class):  New function.  Calls existing methods,
      	but alls emits deferred inline functions.
      	* jcf-parse.c (parse_class_file):  Call finish_class.
      	* parse.y (java_complete_expand_methods):  Likewise.
      	* expr.c (build_java_binop):  Explicit default, to silence -Wall.
      
      From-SVN: r23870
      Per Bothner committed
    • java-tree.h (end_params_node): Declare global. · 75d01ad7
      d
      	* java-tree.h (end_params_node):  Declare global.
      	* decl.c (end_params_node):  New global.
      	(init_decl_processing, start_java_method):  Use end_params_node for
      	end of list of parameter types.  Follows correct gcc conventions.
      	* expr.c (pop_argument_types, pop_arguments):  Likewise.
      	* lang.c (put_decl_node):  Likewise.
      	* typeck.c (various places):  Likewise.
      	* class.y (various places):  Likewise.
      	* parse.y (various places):  Likewise.
      	* parse.y (java_complete_tree):  Move CAN_COMPLETE_NORMALLY.
      	(build_jump_to_finally):  Add missing CAN_COMPLETE_NORMALLY.
      	* class.c:  Add #include flags.h, remove no-longer needed declaration.
      	* class.c (layout_class_method):  Remove commented-out code, re-format.
      	Don't add vtable entry (or index) for private methods.
      	* expr.c (expand_invoke):  A private method is implicitly final.
      	* class.c (make_class_data):  If inlining or optimizing,
      	skip private methods.
      	* class.c (finish_class):  New function.  Calls existing methods,
      	but alls emits deferred inline functions.
      	* jcf-parse.c (parse_class_file):  Call finish_class.
      	* parse.y (java_complete_expand_methods):  Likewise.
      	* expr.c (build_java_binop):  Explicit default, to silence -Wall.
      
      From-SVN: r23869
      Per Bothner committed
    • java-tree.h (end_params_node): Declare global. · df8940cf
      	
      	* java-tree.h (end_params_node):  Declare global.
      	* decl.c (end_params_node):  New global.
      	(init_decl_processing, start_java_method):  Use end_params_node for
      	end of list of parameter types.  Follows correct gcc conventions.
      	* expr.c (pop_argument_types, pop_arguments):  Likewise.
      	* lang.c (put_decl_node):  Likewise.
      	* typeck.c (various places):  Likewise.
      	* class.y (various places):  Likewise.
      	* parse.y (various places):  Likewise.
      	* parse.y (java_complete_tree):  Move CAN_COMPLETE_NORMALLY.
      	(build_jump_to_finally):  Add missing CAN_COMPLETE_NORMALLY.
      	* class.c:  Add #include flags.h, remove no-longer needed declaration.
      	* class.c (layout_class_method):  Remove commented-out code, re-format.
      	Don't add vtable entry (or index) for private methods.
      	* expr.c (expand_invoke):  A private method is implicitly final.
      	* class.c (make_class_data):  If inlining or optimizing,
      	skip private methods.
      	* class.c (finish_class):  New function.  Calls existing methods,
      	but alls emits deferred inline functions.
      	* jcf-parse.c (parse_class_file):  Call finish_class.
      	* parse.y (java_complete_expand_methods):  Likewise.
      	* expr.c (build_java_binop):  Explicit default, to silence -Wall.
      
      From-SVN: r23868
      Per Bothner committed
    • fix typo · 30ef624b
      From-SVN: r23867
      Brendan Kehoe committed
    • lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1 unless FMOVD_WORKS is defined. · 0e1bd737
      	* config/sh/lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1
      	unless FMOVD_WORKS is defined.
      
      From-SVN: r23866
      J"orn Rennecke committed
    • test_summary (-p, [...]): add these before the summary · 0a955618
      	* test_summary (-p, prepend_logs): add these before the summary
      	(Compiler, Platform): print these just before configflags
      
      From-SVN: r23864
      Alexandre Oliva committed
    • regclass.c (init_reg_sets): Move code that calculates tables dependent on… · 910bc42d
      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
      J"orn Rennecke committed
    • cpplib.h: Delete struct import_file. · 0b3d776a
      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
      Zack Weinberg committed
    • except.c (expand_throw): Use TYPE_PTR_P to check for pointers. · 08b24bda
      	* 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
      Jason Merrill committed
    • toplev.c (no_new_pseudos): Define. · f1db3576
              * 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
      Jeff Law committed
    • u77-test.f (main): Avoid testing [f]statb element, which fails on some systems. · 6edfbe4c
      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
      Dave Love committed
    • (main): Avoid testing [f]statb · f270edbc
      element, which fails on some systems.
      
      From-SVN: r23853
      Dave Love committed
    • New test. · afaa51ba
      From-SVN: r23852
      Dave Love committed
    • expr.c (CHECK_PC_IN_RANGE): Add void cast to kill warnings. · 00abfc00
      �
      	* expr.c (CHECK_PC_IN_RANGE):  Add void cast to kill warnings.
      
      From-SVN: r23851
      Per Bothner committed
    • gcc.c: Split out Objective-C specs to... · b12da25e
              * 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
      Zack Weinberg committed
    • new · a64f294e
      From-SVN: r23849
      Jason Merrill committed
    • lex.c (make_lang_type): Clear the whole struct lang_type, not only the first… · 32201ce4
      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
      Andreas Schwab committed
    • decl.c (start_decl): An explicit specialization of a static data member is only a definition if... · 84e6233f
      	* decl.c (start_decl): An explicit specialization of a static data
      	member is only a definition if it has an initializer.
      
      From-SVN: r23847
      Jason Merrill committed
    • Daily bump. · f3cd6f7e
      From-SVN: r23846
      Jeff Law committed
    • except.c (expand_throw): Use cp_finish_decl for the throw temp. · c37dc68e
      	* 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
      Jason Merrill committed
    • update · c4c2aca3
      From-SVN: r23844
      Jason Merrill committed
    • Makefile.in (just-check): Ignore errors. · e8294a35
      �
              * Makefile.in (just-check): Ignore errors.
      
      From-SVN: r23843
      Marc Espie committed
    • Makefile.in (just-check): Ignore errors. · fe46648c
      (
              * Makefile.in (just-check): Ignore errors.
      
      From-SVN: r23842
      Marc Espie committed
    • Makefile.in (just-check): Ignore errors. · ccdbc04a
       
              * Makefile.in (just-check): Ignore errors.
      
      From-SVN: r23841
      Marc Espie committed
  2. 24 Nov, 1998 11 commits
    • * jcf-write.c (generate_bytecode_conditional): Fix typo. · de7b168e
      From-SVN: r23840
      Marc Espie committed
    • reload1.c (reload): Remove unused variable. · 5828374f
              * 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
      Graham Stott committed
    • * Makefile.in (graph.o): Depend on $(RTL_H), not rtl.h. · 0c3a267b
      From-SVN: r23838
      Jeffrey A Law committed
    • cse.c (fold_rtx): Make autoincrement addressing mode tests be runtime selectable. · 940da324
              * 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
      Jeffrey A Law committed
    • lex.c (handle_generic_pragma): Use token_buffer. · 83f660b7
      	* 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
      Jason Merrill committed
    • Add m68k-elf port from Cygnus gcc sources. · d1be3be3
      	* 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
      Jim Wilson committed
    • [multiple changes] · 23a79c61
      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
      Alexandre Petit-Bianco committed
    • typeck.c (build_component_ref): Remove unused statement. · 333a9f0a
      	* typeck.c (build_component_ref): Remove unused statement.
      	* class.c (add_method): Catch invalid overloads.
      Fixes Sec13/1/E13097.C.
      
      From-SVN: r23833
      Jason Merrill committed
    • expr.c (java_lang_expand_expr): Add missing emit_queue. · 818347b4
      �
      	* 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
      Per Bothner committed
    • jcf-write.c (generate_bytecode_insns): Don't free sw_state.cases. · 6466fce8
      �
      	* 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
      Per Bothner committed
    • java-tree.def (CASE_EXPR, [...]): Kind is 'x', not '1'. · 10100cc7
      �
      	* 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
      Per Bothner committed