Commit Graph

26203 Commits

Author SHA1 Message Date
Philip Blundell
82e9d97010 Apply Philip Blundell's patch to fix PIC operands.
From-SVN: r31867
2000-02-09 20:00:29 +00:00
Zack Weinberg
2387c1d432 cpplib.c (cpp_define, cpp_undef): Make sure the stacked buffer ends with a newline and a NUL.
* cpplib.c (cpp_define, cpp_undef): Make sure the stacked buffer
	ends with a newline and a NUL.  Don't be so clever manipulating
	strings.

From-SVN: r31864
2000-02-09 18:35:41 +00:00
Andrew Haley
e8b22dd136 java-except.h (struct eh_range): Add `expanded' field.
2000-01-25  Andrew Haley  <aph@cygnus.com>

        * java-except.h (struct eh_range): Add `expanded' field.
        (maybe_start_try): Add end_pc arg.
        (maybe_end_try): Ditto.
	* java-tree.h (force_poplevels): new function.
        * expr.c (expand_byte_code): Don't call maybe_start_try or
        maybe_end_try.
        * except.c (add_handler): Reset expanded.
        (expand_start_java_handler): Set expanded.
        (check_start_handlers): Don't expand a start handler that's
        already been expanded.
        (maybe_start_try): Add end_pc arg.  Only expand a handler which
        ends after end_pc.
	(expand_end_java_handler): call force_poplevels.
	(force_poplevels): new function.
        * decl.c (binding_level): Add start_pc of binding level.
        (maybe_pushlevels): Call maybe_start_try when pushing binding
        levels.
        (maybe_poplevels): Call maybe_end_try when popping binding levels.
        (LARGEST_PC): Define.
        (clear_binding_level): Use LARGEST_PC.

	* java-tree.h (DEBUG_JAVA_BINDING_LEVELS): new define.
	* decl.c (DEBUG_JAVA_BINDING_LEVELS): new define.
	(binding_depth, is_class_level, current_pc): new variables.
        (struct binding_level): ditto.
	(indent): new function.
	(push_jvm_slot): add debugging info.
	(maybe_pushlevels): ditto.
	(maybe_poplevels): ditto.
	(pushlevel): ditto.
	(poplevel): ditto.
	(start_java_method): ditto.
	(give_name_to_locals): comment only.
	* except.c (binding_depth, is_class_level, current_pc):
	new variables.
	(expand_start_java_handler): add debugging info.
	(expand_end_java_handler): ditto.

From-SVN: r31861
2000-02-09 14:08:44 +00:00
Jan Hubicka
665792ebec * reload1.c (reload) Align stack frame to cfun->stack_alignment_needed,
not to BIGGEST_ALIGNMENT.

From-SVN: r31860
2000-02-09 13:38:09 +00:00
Jeff Law
1f7d1a5255 Daily bump.
From-SVN: r31859
2000-02-09 01:45:07 -07:00
Geoff Keating
3f388b42b0 dwarf2.h (DW_CFA_GNU_negative_offset_extended): New constant.
* dwarf2.h (DW_CFA_GNU_negative_offset_extended): New constant.
* dwarf2out.c (dwarf_cfi_name): Print name of new constant.
(reg_save): Use DW_CFA_GNU_negative_offset_extended when needed.
(output_cfi): Handle output of DW_CFA_GNU_negative_offset_extended.
* frame.c (execute_cfa_insn): Handle
DW_CFA_GNU_negative_offset_extended.

From-SVN: r31858
2000-02-09 01:57:21 +00:00
Richard Henderson
5568fb48cc flow.c (tidy_fallthru_edges): Split out from ...
* flow.c (tidy_fallthru_edges): Split out from ...
        (delete_unreachable_blocks): ... here.
        (find_basic_blocks): Use it.

From-SVN: r31857
2000-02-08 15:48:32 -08:00
Richard Kenner
f5a500108a * stmt.c (expand_decl): Do set RTX_UNCHANGING_P for TREE_READONLY.
From-SVN: r31856
2000-02-08 17:11:21 -05:00
Tom Tromey
bad196d78e Properties.java (setProperty): New method.
* java/util/Properties.java (setProperty): New method.
	(store): New method.

From-SVN: r31855
2000-02-08 21:30:45 +00:00
Zack Weinberg
5fa7f88c06 Makefile.in (GEN_PROTOS_OBJS): Remove libcpp.a.
* Makefile.in (GEN_PROTOS_OBJS): Remove libcpp.a.
	(gen_protos.o): Don't depend on cpplib.h or cpphash.h.
	(fix-header.o): Don't depend on cpphash.h.

	* scan.c (hashstr): New function.
	* scan.h: Prototype it.
	* fix-header.c: Don't include cpphash.h.  Use hashstr.
	* gen-protos.c: Don't include cpphash.h or cpplib.h.  Use
	hashstr.  Report hash table statistics.  Add private
	definition of xrealloc.

From-SVN: r31854
2000-02-08 21:27:02 +00:00
Kaveh R. Ghazi
4be2e5d967 * i386.h (TARGET_SWITCHES): Fix typo in option name.
From-SVN: r31853
2000-02-08 17:15:00 +00:00
Clinton Popetz
a617c13f06 function.c (thread_prologue_and_epilogue_insns): Don't replace jumps with returns unless they are jumps to the fallthru block.
* function.c (thread_prologue_and_epilogue_insns): Don't replace
        jumps with returns unless they are jumps to the fallthru block.

From-SVN: r31852
2000-02-08 11:32:20 -05:00
Jan Hubicka
4d6b6776c8 * i386.md (addqi3_cc): Fix contraints.
From-SVN: r31851
2000-02-08 07:59:15 -07:00
Nathan Sidwell
1d3f28d4de * g++.old-deja/g++.other/cast5.C: New test.
From-SVN: r31850
2000-02-08 11:16:09 +00:00
Nathan Sidwell
2c55cdde2e typeck.c (strip_all_pointer_quals): Use TYPE_MAIN_VARIANT, to strip array element qualifiers too.
* typeck.c (strip_all_pointer_quals): Use TYPE_MAIN_VARIANT, to
	strip array element qualifiers too.

From-SVN: r31849
2000-02-08 11:15:24 +00:00
Jeff Law
c4781ce75a Daily bump.
From-SVN: r31848
2000-02-08 01:45:07 -07:00
Hans-Peter Nilsson
73ef99fbd6 * function.c (emit_return_into_block): Wrap in #ifdef HAVE_return.
From-SVN: r31847
2000-02-08 06:09:17 +00:00
Tom Tromey
3fd64b5a09 Runtime.java (_load): Declare.
* java/lang/Runtime.java (_load): Declare.
	(load, loadLibrary): Wrote in terms of _load.
	* java/lang/natRuntime.cc (load): Call JNI_OnLoad if it appears in
	library.
	(loadLibrary): Likewise.
	Include <jni.h>.
	(_load): New method.
	(loadLibrary, load): Removed.

From-SVN: r31846
2000-02-08 00:26:58 +00:00
Tom Tromey
278abd2849 jni.cc (ThrowableClass): New define.
* jni.cc (ThrowableClass): New define.
	(_Jv_JNI_Throw): Check argument.
	(_Jv_JNI_ThrowNew): Likewise.
	(wrap_value): Don't wrap object if it is NULL.
	(_Jv_JNI_DefineClass): Use wrap_value.
	(_Jv_JNI_FindClass): Likewise.
	(_Jv_JNI_GetSuperclass): Likewise.
	(_Jv_JNI_ExceptionOccurred): Likewise.
	(_Jv_JNI_AllocObject): Likewise.
	(_Jv_JNI_GetObjectClass): Likewise.
	(_Jv_JNI_NewString): Likewise.
	(_Jv_JNI_NewStringUTF): Likewise.
	(_Jv_JNI_NewObjectArray): Likewise.
	(_Jv_JNI_GetObjectArrayElement): Likewise.
	(_Jv_JNI_NewPrimitiveArray): Likewise.
	(_Jv_JNI_ToReflectedField): Likewise.
	(_Jv_JNI_ToReflectedMethod): Likewise.
	(_Jv_JNI_AllocObject): Check argument.
	(_Jv_JNI_NewObjectV): Likewise.
	(_Jv_JNI_NewObject): Likewise.
	(_Jv_JNI_NewObjectA): Likewise.
	(_Jv_JNI_GetObjectClass): Likewise.
	(_Jv_JNI_GetField): Likewise.
	(_Jv_JNI_SetField): Likewise.

From-SVN: r31845
2000-02-08 00:23:09 +00:00
Tom Tromey
7c51d9fb95 interpret.cc (PUSHL): Don't use expression statement.
* interpret.cc (PUSHL): Don't use expression statement.
	(PUSHD): Likewise.
	(LOADL): Likewise.
	(STOREL): Likewise.

From-SVN: r31844
2000-02-08 00:17:28 +00:00
Mark Mitchell
ff47d09463 decl.c (store_parm_decls): Don't build cleanups for parameters while processing_template_decl.
* decl.c (store_parm_decls): Don't build cleanups for parameters
	while processing_template_decl.

From-SVN: r31842
2000-02-07 23:41:01 +00:00
Alexandre Petit-Bianco
de9127c1b7 instinit2.out: New file.
* libjava.lang/instinit2.out: New file.
	* libjava.lang/instinit2.java: New file.
	* libjava.lang/instinit.out: New file.
	* libjava.lang/instinit.java: New file.
	* libjava.lang/anonarray2.out: New file.
	* libjava.lang/anonarray2.java: New file.
	* libjava.lang/anonarray.out: New file.
	* libjava.lang/anonarray.java: New file.
	* libjava.lang/nested_with_ctor.out: New file.
	* libjava.lang/nested_with_ctor.java: New file.
	* libjava.lang/anfi.out: New file.
	* libjava.lang/anfi.java: New file.
	* libjava.lang/stub.out: New file.
	* libjava.lang/stub.java: New file.

From-SVN: r31841
2000-02-07 21:40:18 +00:00
Mark Mitchell
f81f5a9db6 cpplib.c (cpp_get_token): Call CPP_BUMP_LINE after reading a carriage return after a macro name.
* cpplib.c (cpp_get_token): Call CPP_BUMP_LINE after reading a
	carriage return after a macro name.

From-SVN: r31840
2000-02-07 21:36:19 +00:00
Tom Tromey
f39b788a15 jni.cc (add_char): Conditional on INTERPRETER.
* jni.cc (add_char): Conditional on INTERPRETER.
	(mangled_name): Likewise.
	(call): Likewise.
	* include/java-interp.h (class _Jv_MethodBase): Conditional on
	INTERPRETER.
	(class _Jv_JNIMethod): Likewise.

From-SVN: r31839
2000-02-07 21:17:30 +00:00
Fred Fish
f766bd4696 beos-elf.h: (ASM_IDENTIFY_GCC): Define to nothing so the gcc2_compiled symbol doesn't...
* i386/beos-elf.h: (ASM_IDENTIFY_GCC): Define to nothing
        so the gcc2_compiled symbol doesn't confuse BeOS debuggers.

From-SVN: r31838
2000-02-07 15:59:19 -05:00
Jason Merrill
70adf8a937 cp-tree.h (struct saved_scope): Add incomplete field.
* cp-tree.h (struct saved_scope): Add incomplete field.
        (namespace_scope_incomplete): New macro.
        * decl.c (pushdecl): Use it.
        (hack_incomplete_structures): Use it.  See through artificial
        binding levels.
        (mark_saved_scope): Mark it.

        Implement access control for nested types.
        * search.c (type_access_control): New fn.
        (accessible_p): Now we do perform access control for types.
        * semantics.c (deferred_type_access_control): New fn.
        (initial_deferred_type_access_control): New fn.
        (begin_function_definition): Call it.  Add lookups parm.
        * decl.c (struct binding_level): Add this_class field.
        (pushlevel_class): Set it.
        (mark_binding_level): Mark it.
        (lookup_name_real): Use it.  Call type_access_control.
        (mark_saved_scope): Mark lookups field.
        * cp-tree.h (flagged_type_tree): Add lookups field.
        (struct saved_scope): Add lookups field.
        (type_lookups): New macro.
        * parse.y (declmods): Now <ftype>.
        (parse_decl): Add lookups parm.  Call
        initial_deferred_type_access_control.
        (lang_extdef): Clear type_lookups.
        (typed_declspecs, declmods, typespec): Set lookups field.
        (initdcl): Call deferred_type_access_control.
        (fn.def1, fn.def2, typed_declspecs1, initdcl0_innards, nomods_initdcl0,
        component_decl_1, named_parm): Adjust.
        * friend.c (is_friend): Nested classes are friends of their
        enclosing classes.

        * class.c (currently_open_derived_class): New fn.
        * method.c (hack_identifier): Use it.

        * lex.c (do_identifier): Remove obsolete code.

        * parse.y (typed_typespecs): Propagate new_type_flag properly.

From-SVN: r31837
2000-02-07 15:36:36 -05:00
Jason Merrill
dd8216e19e update
From-SVN: r31836
2000-02-07 15:35:14 -05:00
Jason Merrill
f4a4b6690e tweak wording
From-SVN: r31835
2000-02-07 15:34:20 -05:00
Zack Weinberg
981cb4378a [multiple changes]
2000-02-07  Zack Weinberg  <zack@wolery.cumb.org>

	* cppfiles.c (deps_output): Count spacers in deps_column.

2000-02-07  Neil Booth  <NeilB@earthling.net>

	* cppinit.c (initialize_dependency_output): If there is no
	suffix, don't try to look for known suffixes.  Use strrchr.
	(cpp_start_read): Remove duplicate initialization.

From-SVN: r31832
2000-02-07 18:34:05 +00:00
Jan Hubicka
c2f8b49149 calls.c (compute_argument_block_size): New argument preferred_stack_boundary.
* calls.c (compute_argument_block_size): New argument
	preferred_stack_boundary.
	(expand_call): update cfun->preferred_stack_boundary, update call of
	compute_argument_block_size
	(emit_library_call): Increate cfun->preferred_stack_boundary
	to PREFERRED_STACK_BOUNDARY
	(emit_library_call_value): Likewise.
	* explow.c (allocate_dynamic_stack_spave): Likewise.
	* function.c (prepare_function_start): Set
	cfun->preferred_stack_boundary
	* function.h (struct function): Add preferred_stack_boundary field.
	* integrate.c (expand_inline_function): Update
	cfun->preferred_stack_boundary and cfun->stack_alignment_needed.
	(copy_rtx_and_substitute): Align frame to stack_alignment_needed only.
	* i386.c (compute_frame_size): Use cfun->preferred_stack_boundary.

From-SVN: r31831
2000-02-07 17:39:40 +00:00
Jeff Law
08a75be26c Daily bump.
From-SVN: r31830
2000-02-07 01:45:11 -07:00
Zack Weinberg
c1212d2f09 cpplib.c (my_strerror, [...]): Move to cpperror.c.
* cpplib.c (my_strerror, cpp_error, cpp_error_with_line,
	cpp_error_from_errno, cpp_warning, cpp_warning_with_line,
	cpp_pedwarn, cpp_pedwarn_with_line,
	cpp_pedwarn_with_file_and_line): Move to cpperror.c.
	(cpp_print_file_and_line, v_cpp_error, v_cpp_warning,
	v_cpp_error_with_line, v_cpp_warning_with_line,
	cpp_message_from_errno, cpp_perror_with_name): Delete.

	* cpperror.c (cpp_print_containing_files): Take starting
	buffer as argument.
	(cpp_file_line_for_message): Rename to cpp_print_file_and_line.
	(v_cpp_message): Now called directly by all entry points.
	Remove -1 case.
	(cpp_pfatal_with_name, cpp_message): Delete.
	(cpp_notice_from_errno, cpp_ice): New functions.
	(cpp_notice): Is now for reporting error conditions, just
	without an associated file.
	(cpp_error, cpp_error_with_line): Don't do anything if
	opts->inhibit_errors is on.
	(cpp_pedwarn_with_file_and_line): Take column argument also.

	* cpplib.h: Update prototypes of exported functions.
	(struct cpp_options): Add inhibit_errors.

	* cppalloc.c, cppfiles.c: Use fprintf not cpp_notice for
	non-error messages.  Include intl.h.

	* cppinit.c, cppmain.c: Likewise.  Also, use
	cpp_notice_from_errno instead of cpp_perror_with_name or
	cpp_pfatal_with_name, and cpp_notice instead of cpp_message.

	* cppexp.c, cpphash.c, cppinit.c, cpplib.c: Use cpp_ice to
	report internal errors.

	* cpplib.c (do_define): Switch bcopy to memcpy.
	Give cpp_pedwarn_with_file_and_line a dummy column argument.

From-SVN: r31829
2000-02-06 23:46:18 +00:00
Zack Weinberg
25e309705a cpplib.c (copy_rest_of_line): Revert previous change: don't bail out early if we hit a line comment.
* cpplib.c (copy_rest_of_line): Revert previous change: don't
	bail out early if we hit a line comment.

From-SVN: r31828
2000-02-06 20:08:22 +00:00
Richard Henderson
9a7372d646 i386.c (ix86_can_use_return_insn_p): Fail for large poped args and for non-empty stack frames.
* i386.c (ix86_can_use_return_insn_p): Fail for large poped args
        and for non-empty stack frames.
        * i386.md (return): Expand to return-pop as needed.

From-SVN: r31827
2000-02-06 05:19:20 -08:00
Richard Henderson
69732dcb9c flow.c (flow_delete_insn, [...]): Export.
* flow.c (flow_delete_insn, make_edge, remove_edge): Export.
        * basic-block.h: Declare them.
        * emit-rtl.h (active_insn_p): New.
        (next_active_insn, prev_active_insn): Use it.
        * rtl.h: Declare it.
        * function.c (emit_return_into_block): New.
        (thread_prologue_and_epilogue_insns): Insert return insns instead
        of epilogues when possible.
        * jump.c (jump_optimize_1): Remove code to insert a return insn
        on the fallthru to the exit block.

From-SVN: r31826
2000-02-06 05:01:03 -08:00
Richard Henderson
52a75c3c22 simplify-rtx.c (simplify_relational_operation): Canonicalize constant to op1 for testing.
* simplify-rtx.c (simplify_relational_operation): Canonicalize
        constant to op1 for testing.

From-SVN: r31825
2000-02-06 02:56:56 -08:00
Michael Hayes
b027470f42 c4x.md (*ldi_on_overflow): New pattern.
2000-02-06  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>

	* config/c4x/c4x.md (*ldi_on_overflow): New pattern.
	(fixuns_truncqfqi2): Use it.

From-SVN: r31823
2000-02-06 10:36:26 +00:00
Richard Henderson
d9f0b9607d i386.md (widening and peepholes): Mask the constant instead of using gen_lowpart.
* i386.md (widening and peepholes): Mask the constant instead of
        using gen_lowpart.

From-SVN: r31822
2000-02-06 01:47:49 -08:00
Richard Henderson
5fbdde427d i386.c (ix86_agi_dependant): Handle pro_epilogue_adjust_stack as a TYPE_LEA insn.
* i386.c (ix86_agi_dependant): Handle pro_epilogue_adjust_stack
        as a TYPE_LEA insn.

From-SVN: r31821
2000-02-06 01:47:28 -08:00
Jeff Law
df683eb6b7 Daily bump.
From-SVN: r31820
2000-02-06 01:45:07 -07:00
Zack Weinberg
eaefae0ec3 cppfiles.c (read_and_prescan): Bump input pointer before possibly branching off to the backslash code.
* cppfiles.c (read_and_prescan) [case SPECCASE_QUESTION]: Bump
	input pointer before possibly branching off to the backslash
	code.
	* cpphash.c (macroexpand): Correctly delete \r escapes when
	stringifying parameters.
	* cpplib.c (copy_rest_of_line): Go directly to skip_block_comment
	if we can; bail out early if we hit a line comment.
	(handle_directive): Treat '# 123' in an .S file just like
	'# <punctuation>'.  Discard the shifted '#' if we hit '#\n'.
	Return 1 for '# not_a_directive'.
	(get_directive_token): Pop macro buffers here, so that
	cpp_get_token can't sneakily move past a newline.
	Add sanity checks.
	(cpp_get_token): goto randomchar if handle_directive returns 0.

From-SVN: r31819
2000-02-06 08:24:22 +00:00
Zack Weinberg
1316f1f7fc cppalloc.c: Update copyright.
* cppalloc.c: Update copyright.
	* cpplib.c: Merge all the static function prototypes into one
	block.
	* cpplib.h: Remove #if 0 block.

From-SVN: r31818
2000-02-06 07:53:50 +00:00
Zack Weinberg
40ea76de51 cpperror.c: Remove #ifdef EMACS block.
* cpperror.c: Remove #ifdef EMACS block.
	* cppmain.c: Likewise.
	* cpphash.c: Remove #if 0 blocks.
	* cppinit.c: Remove #if 0 blocks, and the -lint option.
	* cpplib.c: Remove #if 0 blocks and code referencing
	pcp_inside_if or for_lint.  Remove duplicate error message.
	Fix error messages for #else after #else or #elif.  Reformat.
	Remove archaic TODO list.
	* cpplib.h: Remove pcp_inside_if and for_lint flags.

From-SVN: r31817
2000-02-06 07:30:25 +00:00
Zack Weinberg
fd81d24f99 tinfo.h: Remove apostrophes from C++ comment (xgettext thinks this file is plain C).
* cp/tinfo.h: Remove apostrophes from C++ comment (xgettext
	thinks this file is plain C).
	* i386/osf1elf.h: Add missing backslash to multiline string.
	* po/POTFILES.in: Remove stupid.c.
	* exgettext: s/VPROTO/VPARAMS/ now that we are no longer using
	VPROTO.

From-SVN: r31816
2000-02-06 06:57:21 +00:00
Alan Modra
cc6c6c234f Alan Modra <alan@SPRI.Levels.UniSA.Edu.Au>
Alan Modra  <alan@SPRI.Levels.UniSA.Edu.Au>
        * gcc.c-torture/execute/20000205-1.c: New.

From-SVN: r31815
2000-02-05 21:39:32 -08:00
Kaveh R. Ghazi
75874af96c * longlong.h [sparc] (udiv_qrnnd): Avoid stringifying macro arg.
From-SVN: r31814
2000-02-06 04:48:20 +00:00
Kaveh R. Ghazi
5ca1627b6d gjavah.c (overloaded_jni_method_exists_p): Add prototype.
* gjavah.c (overloaded_jni_method_exists_p): Add prototype.
       (print_name_for_stub_or_jni, process_file): Constify a char*.

From-SVN: r31813
2000-02-06 04:33:10 +00:00
Kaveh R. Ghazi
5455104482 com.c (mark_tracker_head, [...]): Protoize.
* com.c (mark_tracker_head, mark_binding_level): Protoize.

       * where.c (mark_ffewhere_head): Likewise.

From-SVN: r31812
2000-02-06 04:30:45 +00:00
Kaveh R. Ghazi
70a51bdac1 Makefile.in (call.o): Depend on $(EXPR_H).
* Makefile.in (call.o): Depend on $(EXPR_H).

	* call.c: Include "expr.h".

	* class.c (dump_class_hierarchy): Add prototype.

	* search.c (dfs_get_pure_virtuals): Likewise.

From-SVN: r31811
2000-02-06 04:27:53 +00:00
Kaveh R. Ghazi
c69916605c Makefile.in (c-common.o): Depend on $(EXPR_H).
* Makefile.in (c-common.o): Depend on $(EXPR_H).

	* c-common.c: Include expr.h.

	* c-pragma.c (mark_align_stack): Add prototype.

	* caller-save.c (add_stored_regs): Likewise.

	* combine.c (record_promoted_value): Likewise.

	* i386.c (ix86_sched_reorder_pentium, ix86_sched_reorder_ppro):
	Likewise.

	* cppinit.c (new_pending_define): Likewise.

	* cpplib.c (skip_block_comment, skip_line_comment): Likewise.

	* dwarf2out.c (save_rtx, splice_child_die, reverse_die_lists,
	AT_class, AT_flag, AT_int, AT_unsigned, AT_string, AT_ref, AT_loc,
	AT_addr, AT_lbl, get_AT_ref, free_AT, free_die, local_scope_p,
	class_scope_p): Likewise.

	* dwarf2out.h (dwarf2out_set_demangle_name_func,
	dwarf2out_add_library_unit_info): Likewise.

	* ggc.h (ggc_page_print_statistics): Likewise.

	* haifa-sched.c (propagate_deps): Likewise.

	* reg-stack.c (next_flags_user, record_label_references): Likewise.

	* rtl.h (set_stack_check_libfunc): Likewise.

	* toplev.h (set_fatal_function): Likewise.

	* toplev.c (set_fatal_function): Delete prototype.

	* diagnostic.c: Deconstify functions returning malloc'ed ptrs.

From-SVN: r31810
2000-02-06 03:40:46 +00:00