Commit Graph

19645 Commits

Author SHA1 Message Date
Alexandre Oliva
3c9a0d0fed * g++.old-deja/g++.pt/friend37.C: New test.
From-SVN: r23875
1998-11-25 18:07:33 +00:00
Stephen L Moshier
a46f03ea15 emit-rtl.c (gen_lowpart_common): Remove earlier change.
* emit-rtl.c (gen_lowpart_common): Remove earlier change.
        * real.c (make_nan): Make SIGN arg actually specify the sign bit.

From-SVN: r23874
1998-11-25 11:06:07 -07:00
Mike Stump
c85c32322e * Makefile.in (splay-tree.o): Add config.h dependency.
From-SVN: r23873
1998-11-25 11:02:19 -07:00
Michael Hayes
f3ed04e72a c4x.md (addqi3): Emit addqi3_noclobber pattern during reload.
* config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern
	during reload.

From-SVN: r23872
1998-11-25 17:14:35 +00:00
Per Bothner
de4c7b029c java-tree.h (end_params_node): Declare global.
* 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
1998-11-25 09:10:57 -08:00
Per Bothner
0bd2e6dbbf java-tree.h (end_params_node): Declare global.
�
	* 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
1998-11-25 09:10:49 -08:00
Per Bothner
75d01ad77d java-tree.h (end_params_node): Declare global.
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
1998-11-25 09:10:46 -08:00
Per Bothner
df8940cf1b java-tree.h (end_params_node): Declare global.
* 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
1998-11-25 09:10:45 -08:00
Brendan Kehoe
30ef624be4 fix typo
From-SVN: r23867
1998-11-25 10:18:46 -05:00
J"orn Rennecke
0e1bd73788 lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1 unless FMOVD_WORKS is defined.
* config/sh/lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1
	unless FMOVD_WORKS is defined.

From-SVN: r23866
1998-11-25 14:09:56 +00:00
Alexandre Oliva
0a95561803 test_summary (-p, [...]): add these before the summary
* test_summary (-p, prepend_logs): add these before the summary
	(Compiler, Platform): print these just before configflags

From-SVN: r23864
1998-11-25 12:59:24 +00:00
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