Commit Graph

19490 Commits

Author SHA1 Message Date
Jason Merrill
6a8f78d52c typeck2.c (my_friendly_abort): Don't fatal twice in a row.
* typeck2.c (my_friendly_abort): Don't fatal twice in a row.
	* typeck.c (c_expand_start_case): Use build_expr_type_conversion.
	Simplify.
Fixes Sec6/4_2/G06164.gr
	* parse.y (structsp): Fix cut-and-paste error.
Fixes Sec6/4_2/C06166.cm
	* init.c (build_new): Complain about non-integral size.
Fixes Sec5/3_4/E05276.C
	* parse.y (unary_expr): Complain about defining types in sizeof.
Fixes Sec5/3_3/S05178.C
	* typeck.c (expr_sizeof): Complain about sizeof an overloaded fn.
Fixes Sec5/3_3/S05161.C
	* rtti.c (build_x_typeid): Complain about typeid without
	including <typeinfo>.
	(get_typeid): Likewise.  Complain about typeid of incomplete type.
	(get_tinfo_fn_dynamic): Likewise.
	(get_typeid_1): Not static anymore.
	* except.c (build_eh_type_type): Use get_typeid_1.
Fixes Sec5/2_8/C05517.cm
	* rtti.c (build_dynamic_cast_1): Give errors for dynamic_cast to
	ambiguous or private bases.  Fix warning for reference cast.
Fixes Sec5/2_7/C05516.cm

From-SVN: r23678
1998-11-16 15:45:16 -05:00
David Edelsohn
efc97ef076 rs6000.c (output_mi_thunk): Improve test for local branch.
* rs6000.c (output_mi_thunk): Improve test for local branch.
	* rs6000.c (output_mi_thunk): Correct test for aggregate values.

From-SVN: r23676
1998-11-16 10:00:10 -05:00
J"orn Rennecke
dfe96118e5 reload1.c (reload_reg_free_before_p): Delete.
* reload1.c (reload_reg_free_before_p): Delete.
	Changed all callers to use reload_reg_free_for_value_p instead.
	(reload_reg_free_for_value_p): Handle more reload types.
	A RELOAD_FOR_INPUT doesn't conflict with its
	RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS.
	Add special case for OUT == const0_rtx.
	Added ignore_address_reloads argument.  Changed all callers.

From-SVN: r23675
1998-11-16 13:04:01 +00:00
Mark Mitchell
fbf1c34bfa cp-tree.h (DECL_TEMPLATE_INSTANTIATED): New macro.
* cp-tree.h (DECL_TEMPLATE_INSTANTIATED): New macro.
	* decl.c (duplicate_decls): Remove special-case code to deal with
	template friends, and just do the obvious thing.
	* pt.c (register_specialization): Tweak for clarity, and also to
	clear DECL_INITIAL for an instantiation before it is merged with a
	specialization.
	(check_explicit_specialization): Fix indentation.
	(tsubst_friend_function): Handle both definitions in friend
	declaration and outside friend declarations.
	(tsubst_decl): Don't clear DECL_INITIAL for an instantiation.
	(regenerate_decl_from_template): Tweak accordingly.
	(instantiate_decl): Likewise.

From-SVN: r23674
1998-11-16 08:34:38 +00:00
Jason Merrill
848b92e1cc decl.c (cplus_expand_expr_stmt): Promote warning about naked member function reference to error.
* decl.c (cplus_expand_expr_stmt): Promote warning about naked
	member function reference to error.
	* cvt.c (ocp_convert): Complain about converting an overloaded
	function to void.
	* init.c (build_offset_ref): Just return a lone static member
	function.
	* decl.c (cp_finish_decl): Only complain about real CONSTRUCTORs,
	not internal ones.
	* typeck.c (build_binary_op_nodefault): Improve error handling.
	* decl.c (grokfndecl): Complain about making 'main' a template.
	* typeck.c (string_conv_p): Don't convert from wchar_t[] to char*.
	* call.c (build_method_call): Handle a BIT_NOT_EXPR around a
	TYPE_DECL in a template.
	* typeck2.c (my_friendly_abort): Add URL in the other case, too.

From-SVN: r23673
1998-11-16 00:05:20 -05:00
Jason Merrill
1f288b3fa1 toplev.c (compile_file): Don't pedwarn about undefined static functions just because we passed -Wunused.
* toplev.c (compile_file): Don't pedwarn about undefined static
	functions just because we passed -Wunused.

From-SVN: r23672
1998-11-15 21:25:57 -05:00
Jeff Law
2c736c2fd5 Daily bump.
From-SVN: r23671
1998-11-15 17:45:03 -07:00
J"orn Rennecke
de0dd9345e function.c (purge_addressof_1): Unshare rtl created by store_bit_field.
* function.c (purge_addressof_1): Unshare rtl created by
	store_bit_field.

From-SVN: r23670
1998-11-15 20:43:19 +00:00
J"orn Rennecke
8d1d76c1e3 regmove.c (regmove_optimize): Don't do anything but optimize_reg_copy[123] when flag_regmove is not set.
* regmove.c (regmove_optimize): Don't do anything but
	optimize_reg_copy[123] when flag_regmove is not set.

From-SVN: r23669
1998-11-15 20:24:19 +00:00
Jason Merrill
5524676df8 decl.c (struct cp_function): Add named_label_uses.
* decl.c (struct cp_function): Add named_label_uses.
	(push_cp_function_context): Save it.
	(pop_cp_function_context): Restore it.
	(define_label): Also complain about jumping into the scope of
	non-POD objects that don't have constructors.
	* tree.c (pod_type_p): New fn.
Fixes g++.other/init9.C
	* pt.c (instantiate_class_template): Clear TYPE_BEING_DEFINED sooner.
	* rtti.c (synthesize_tinfo_fn): Call import_export_decl here.
	(get_tinfo_fn): Not here.
	* repo.c (repo_get_id): Abort if we get called for an incomplete
	type.
Fixes g++.pt/instantiate4.C

From-SVN: r23667
1998-11-15 14:24:43 -05:00
Alexandre Oliva
233363cbb1 throw2.C: New test.
* g++.old-deja/g++.eh/throw2.C: New test.  CV-qualifiers are not
 	properly discarded.

From-SVN: r23666
1998-11-15 19:00:45 +00:00
Per Bothner
411efd21c5 jvgenmain.c: Need to #include "gansidecl.h" (to get PROTO).
* jvgenmain.c:  Need to #include "gansidecl.h" (to get PROTO).
	* jcf-write.c (perform_relocations):  Move check out one loop.

From-SVN: r23665
1998-11-15 09:16:06 -08:00
Per Bothner
3865d50892 jvgenmain.c: Need to #include "gansidecl.h" (to get PROTO).
8
	* jvgenmain.c:  Need to #include "gansidecl.h" (to get PROTO).
	* jcf-write.c (perform_relocations):  Move check out one loop.

From-SVN: r23664
1998-11-15 09:16:05 -08:00
Anthony Green
dd16be2aac Fix typo
From-SVN: r23663
1998-11-15 15:12:48 +00:00
Anthony Green
8773d9d5ae Make-lang.in: Fix reference to srcdir.
* Make-lang.in: Fix reference to srcdir.
	* jv-scan.c: Add missing xmalloc prototype.
	* jvgenmain.c: Ditto.

From-SVN: r23662
1998-11-15 15:11:55 +00:00
Per Bothner
9bbc7d9f4c decl.c (error_mark_node): New global.
�
	* decl.c (error_mark_node), java-tree.h:  New global.
	* parse.y:  Use empty_stmt_node instead of size_zero_node.
	(build_if_else_statement):  If missing else, use empty_stmt_node.
	* parse.y (not_initialized_as_it_should_p):  Removed, with its callers.
	(java_complete_expand_method):  Complain if return is missing.
	(java_check_regular_methods):  Comment out incorrect error check.
	(not_accessible_p):  Fix incorrect handling of protected methods.
	(patch_method_invocation):  Pass correct context to not_accessible_p.
	(find_applicable_accessible_methods_list):  Likewise.
	(qualify_ambiguous_name):  If ARRAY_REF, it's an expression name.
	(java_complete_tree):  For CASE_EXPR and DEFAULT_EXPR, set
	TREE_TYPE (to void_type_node);  otherwise expand_expr crashes.
	(patch_if_else_statement):  Fix setting of CAN_COMPLETE_NORMALLY.
	* jcf-write.c (CHECK_OP, CHECK_PUT):  Add some error checking.
	(push_int_const):  Remove reundant NOTE_PUSH.
	(generate_bytecode_insns - case STRING_CST):  Do NOTE_PUSH.
	(- case SWITCH_EXPR):  Fix code generation bug.
	(- case PREDECREMENT_EXPR etc):  Remove redundant NOTE_PUSH.
	(generate_classfile):  More robust for abstract methods.

From-SVN: r23661
1998-11-15 06:37:52 -08:00
Anthony Green
175135a659 Makefile.in: jv-scan and jvgenmain all require libiberty.
* Makefile.in: jv-scan and jvgenmain all require libiberty.
	* Make-lang.in: Ditto.
	* jv-scan.c: Remove xmalloc and xstrdup definitions.
	* jvgenmain: Ditto.

From-SVN: r23660
1998-11-15 14:28:10 +00:00
Per Bothner
0ef3892866 jcf-parse.c (HANDLE_EXCEPTIONS_ATTRIBUTE): New macro.
8
	* jcf-parse.c (HANDLE_EXCEPTIONS_ATTRIBUTE):  New macro.
	* jcf-io.c (find_class):  Simpler/cleaner structure fixes a bug.

From-SVN: r23659
1998-11-15 06:12:42 -08:00
Jeff Law
46689c0ba4 Daily bump.
From-SVN: r23658
1998-11-14 17:45:02 -07:00
Per Bothner
a2f44beb94 Allow uses of interface types to verify.
Allow uses of interface types to verify.  This is not really
	type-safe, but it matches what Sun does, and is OK as long as
	there are appropriate run-time checks.
	* verify.c (merge_types):  If merging two interface types,
	just set the result to java.lang.Object.
	* expr.c (pop_type):  Any interface is matches by java.lang.Object.

From-SVN: r23657
1998-11-14 09:22:23 -08:00
Per Bothner
46cf461c83 Allow uses of interface types to verify.
�
	Allow uses of interface types to verify.  This is not really
	type-safe, but it matches what Sun does, and is OK as long as
	there are appropriate run-time checks.
	* verify.c (merge_types):  If merging two interface types,
	just set the result to java.lang.Object.
	* expr.c (pop_type):  Any interface is matches by java.lang.Object.

From-SVN: r23656
1998-11-14 09:22:22 -08:00
Richard Henderson
bd8dc16507 alpha.md (addsi3, subsi3): Revise 5 Nov change to store DImode value in paradoxical SImode result...
* alpha.md (addsi3, subsi3): Revise 5 Nov change to store DImode
        value in paradoxical SImode result, rather than truncating midpoint.

From-SVN: r23655
1998-11-14 07:07:03 -08:00
Jeff Law
9d1a7ce0cc Daily bump.
From-SVN: r23654
1998-11-13 17:45:02 -07:00
Richard Henderson
ee4dad3100 Oops, killed too much.
From-SVN: r23653
1998-11-13 16:01:18 -08:00
Richard Henderson
40b80dad5a alpha.c (reg_not_elim_operand): New.
* alpha.c (reg_not_elim_operand): New.
        * alpha.h (PREDICATE_CODES): Add it.
        * alpha.md (s48addq, s48subq patterns): Use it as the predicate
        for the multiplicand.

From-SVN: r23650
1998-11-13 14:27:44 -08:00
Jason Merrill
06ca201039 bad test
From-SVN: r23647
1998-11-13 15:10:12 -05:00
Jason Merrill
46d18cc681 fix
From-SVN: r23646
1998-11-13 15:08:16 -05:00
David Edelsohn
f99f88e0d0 rs6000.md (movsf): Remove explicit secondary-reload-like functionality.
* rs6000.md (movsf): Remove explicit secondary-reload-like
        functionality.  Only truncate SFmode store if in FPR.
        (movsf splitters): Combine const_double splitters.
        (movsf_hardfloat): Add GPR support.

From-SVN: r23645
1998-11-13 14:57:13 -05:00
Kaveh R. Ghazi
a9acf74156 configure.in: Check for calloc.
* configure.in: Check for calloc.
        * calloc.c: New file.
        * xmalloc.c (xcalloc): New function.

From-SVN: r23642
1998-11-13 16:36:04 +00:00
Kaveh R. Ghazi
67d0f6ab5e * libiberty.h: Prototype xcalloc.
From-SVN: r23641
1998-11-13 16:33:50 +00:00
Tom Tromey
df66b5660c gjavah.c (main): Handle --output-class-directory argument.
* gjavah.c (main): Handle --output-class-directory argument.
	* jvspec.c (lang_specific_driver): Translate `-d' into
	-foutput-class-dir.
	* jcf.h (jcf_write_base_directory): Declare.
	* lang.c (lang_decode_option): Recognize -foutput-class-dir.
	* lang-options.h: Mention -foutput-class-dir.
	* jcf-write.c (jcf_write_base_directory): New global.
	(make_class_file_name): Put generated .class file into `-d'
	directory, or into source directory if -d not given.  Function now
	static.
	(write_classfile): Free class file name.  Handle case where class
	file name is NULL.
	(DIR_SEPARATOR): New macro.
	Include <sys/stat.h>

From-SVN: r23640
1998-11-13 14:09:53 +00:00
Mark Mitchell
bbeeb2b020 except.c (expand_throw): Make sure first argument to __cp_push_exception is of type `void*' to avoid...
* except.c (expand_throw): Make sure first argument to
	__cp_push_exception is of type `void*' to avoid spurious error
	messages.

From-SVN: r23639
1998-11-13 13:02:24 +00:00
Stan Cox
93d9a2ebd8 splet.h (SUBTARGET_OVERRIDE_OPTIONS): New to deprecate
* splet.h (SUBTARGET_OVERRIDE_OPTIONS): New to deprecate
* t-splet (MULTILIB_OPTIONS): Likewise.

From-SVN: r23636
1998-11-13 11:40:49 +00:00
Tom Tromey
928962aeaa * Makefile.in (prefix): New macro.
From-SVN: r23635
1998-11-13 11:31:07 +00:00
Stan Cox
8c64be75d3 * sparc.c (sparc_flat_compute_frame_size): Correctly calc args_size
From-SVN: r23634
1998-11-13 11:04:17 +00:00
Andrew MacLeod
a49fb37af2 cplus-dem.c (demangle_prefix): Use the last __ in the mangled name when looking for the signature.
* cplus-dem.c (demangle_prefix): Use the last __
in the mangled name when looking for the signature. This allows
template names to begin with __.

From-SVN: r23627
1998-11-13 05:55:40 +00:00
Jeff Law
e73c4a725a Daily bump.
From-SVN: r23626
1998-11-12 17:45:02 -07:00
Geoffrey Noer
cae21ae8a9 Jumbo patch from Geoff Noer to rename CYGWIN32 to CYGWIN.
From-SVN: r23622
1998-11-12 11:37:47 -08:00
Per Bothner
15fdcfe952 Extensive changes.
�
Extensive changes.  See ChangeLog.

From-SVN: r23621
1998-11-12 08:15:18 -08:00
Per Bothner
1247285492 Extensive changes.
8
Extensive changes.  See ChangeLog.

From-SVN: r23620
1998-11-12 08:15:15 -08:00
Per Bothner
3885dfa72f *** empty log message ***
From-SVN: r23619
1998-11-12 08:15:14 -08:00
Per Bothner
421fb0858d Extensive changes.
0
Extensive changes.  See ChangeLog.

From-SVN: r23618
1998-11-12 08:15:08 -08:00
Per Bothner
14dd5b3804 class.c: Remove some unused variables.
h
	* class.c:  Remove some unused variables.
	* constants.c (find_string_constant):  New function.
	(count_constant_pool_bytes):  Fix to correctly handle wide constants.
	* decl.c (complete_start_java_method):  Don't _Jv_InitClass
	if flag_emit_class_files.

From-SVN: r23617
1998-11-12 06:26:09 -08:00
Per Bothner
d640220cf8 class.c: Remove some unused variables.
�
	* class.c:  Remove some unused variables.
	* constants.c (find_string_constant):  New function.
	(count_constant_pool_bytes):  Fix to correctly handle wide constants.
	* decl.c (complete_start_java_method):  Don't _Jv_InitClass
	if flag_emit_class_files.

From-SVN: r23616
1998-11-12 06:26:08 -08:00
Tom Tromey
733b3a87ca jcf-io.c (find_class): Added explanatory comment.
* jcf-io.c (find_class): Added explanatory comment.
	* jcf-path.c (add_entry): Look for `.zip' at end of filename.  Add
	trailing slash to `.zip' entries.

From-SVN: r23615
1998-11-12 11:43:19 +00:00
Tom Tromey
dfded5c3ba jvspec.c (lang_specific_driver): Correctly handle case where GC_NAME not defined.
* jvspec.c (lang_specific_driver): Correctly handle case where
	GC_NAME not defined.

From-SVN: r23614
1998-11-12 08:50:52 +00:00
Jeff Law
83c078ddbc Daily bump.
From-SVN: r23613
1998-11-11 17:46:02 -07:00
Tom Tromey
aaff4ee49e jvspec.c (GC_NAME): New define.
* jvspec.c (GC_NAME): New define.
	(lang_specific_driver): Use GC_NAME.  Add GC_NAME to command line
	if required.
	* Make-lang.in (jvspec.o): Define WITH_GC_<name>.

From-SVN: r23612
1998-11-11 22:48:27 +00:00
Tom Tromey
df37e3db8e Makefile.in (JAVAGC): New macro.
* Makefile.in (JAVAGC): New macro.
	* configure: Rebuilt.
	* configure.in: Recognize --enable-java-gc argument.  Subst
	`JAVAGC' variable.

From-SVN: r23611
1998-11-11 22:14:01 +00:00
J"orn Rennecke
135eb61ca4 Handle equivalences that have been obscured by gcse:
* reload1.c (reload): Handle equivalences set up in multiple places.
	* local-alloc.c (reg_equiv_init_insns): New variable.
	(no_equiv): New function.
	(update_equiv_regs): Handle equivalences set up in multiple places.
	Don't ignore an insn just because its destination is likely to be
	spilled.

From-SVN: r23610
1998-11-11 19:36:29 +00:00