Commit Graph

27184 Commits

Author SHA1 Message Date
Richard Henderson
7657ad0a8f * calls.c (try_to_integrate): Initialize reg_parm_stack_space.
From-SVN: r32917
2000-04-04 18:06:14 -07:00
Stan Cox
7b82b5da01 Makefile.in: Add rules for regrename.o
* Makefile.in: Add rules for regrename.o
	* regrename.c: New file.
	* rtl.h (regrename_optimize): Add prototype.
	* toplev.c (rename_registers_dump, flag_rename_registers): New variables
	(compile_file, decode_d_option): Add support for -frename-registers.
	(rest_of_compilation): Call regrename_optimize.
	* config/ia64/ia64.h (HARD_REGNO_RENAME_OK, RENAME_EXTENDED_BLOCKS):
	New macros.

From-SVN: r32916
2000-04-05 00:32:45 +00:00
Martin v. Löwis
501a481953 Makefile (gccbug): New target.
* Makefile (gccbug): New target.
	(doc): Depend on it.
	* gcc.texi (Bugs): Link subnodes.
	(gccbug): New node.
	* gccbug.in (CATEGORIES): Remove gc, host, profiling, libgcc.
	Document severities, priorities, and classes in bug form.
	* ChangeLog: Replace leading spaces with tabs.

From-SVN: r32915
2000-04-04 22:54:44 +00:00
Geoff Keating
ace8b01598 * gcc.dg/cast-qual-1.c: Revert last change.
From-SVN: r32914
2000-04-04 21:49:49 +00:00
Zack Weinberg
86a44e25ce dbxout.c (CONTIN): If it doesn't have to do anything...
* dbxout.c (CONTIN): If it doesn't have to do anything, give it a
	definition that doesn't provoke the "empty body in an
	if-statement" warning.

From-SVN: r32913
2000-04-04 21:23:10 +00:00
Zack Weinberg
2a87fbe84e cpplex.c (trigraph_map, speccase): Combine into single table, chartab.
* cpplex.c (trigraph_map, speccase): Combine into single
	table, chartab.
	(NORMAL, NONTRI): New macros.
	(_cpp_read_and_prescan): Change to use unified table.  Use
	is_hspace to test for whitespace.

From-SVN: r32912
2000-04-04 21:17:20 +00:00
Clinton Popetz
21e62dfa2a builtins.c (expand_builtin_strlen): Force the source to be a memory address.
* builtins.c (expand_builtin_strlen): Force the source to
	be a memory address.

From-SVN: r32911
2000-04-04 17:10:43 -04:00
Kaveh R. Ghazi
7c32404c2d cpplib.c (D): Adjust to call CONCAT2 macro without whitespace.
2000-04-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* cpplib.c (D): Adjust to call CONCAT2 macro without whitespace.

From-SVN: r32910
2000-04-04 21:07:17 +00:00
Kaveh R. Ghazi
c2e407f12c cfns.gperf (hash, [...]): Prototype.
* cfns.gperf (hash, libc_name_p): Prototype.

	* rtti.c (build_dynamic_cast_1): Constification.

	* search.c (dfs_debug_unmarkedp, dfs_debug_mark): Unhide prototypes.

	* semantics.c (deferred_type_access_control): Prototype.

From-SVN: r32909
2000-04-04 20:46:23 +00:00
Kaveh R. Ghazi
c0b864fce7 boehm.c (mark_reference_fields, set_bit): Prototype.
* boehm.c (mark_reference_fields, set_bit): Prototype.
	(set_bit): Un-ANSI-fy definition.

	* class.c (init_test_hash_newfunc, decl_hash, decl_compare):
	Prototype.

	* decl.c (emit_init_test_initialization): Likewise.

	* gjavah.c (jni_print_char): Likewise.

	* parse.y (create_new_parser_context): Likewise.

From-SVN: r32908
2000-04-04 20:40:20 +00:00
Tom Tromey
69c0caa166 Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added AWTException.java.
	* java/awt/AWTException.java: New file.

From-SVN: r32907
2000-04-04 19:56:20 +00:00
Alexandre Petit-Bianco
db45959597 Top level:
2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * configure.in: (i[3456]86-*-solaris2*): Removed `target-libffi'
        from list. Patch proposed by Anthony Green.

Libffi:

2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * configure: Rebuilt.
        * configure.in: (i*86-*-solaris*): New libffi target. Patch
        proposed by Bryce McKinlay.

From-SVN: r32906
2000-04-04 11:22:01 -07:00
Mark Mitchell
c35cce41da Correct many new ABI issues regarding vbase and vcall offset layout.
Correct many new ABI issues regarding vbase and vcall offset
	layout.
	* cp-tree.h (BINFO_VTABLE): Document.
	(struct lang_type): Tweak formatting.
	(BINFO_PRIMARY_BINFO): Add to documentation.
	(CLASSTYPE_VSIZE): Fix typo in comment.
	(CLASSTYPE_VBASECLASSES): Update documentation.
	(BINFO_VBASE_MARKED): Remove.
	(SET_BINFO_VBASE_MARKED): Likewise.
	(CLEAR_BINFO_VBASE_MARKED): Likewise.
	(BINFO_FIELDS_MARKED): Remove.
	(SET_BINFO_FIELDS_MARKED): Likewise.
	(CLEAR_BINFO_FIELDS_MARKED): Likewise.
	(enum access_kind): New enumeration.
	(num_extra_vtbl_entries): Remove declaration.
	(size_extra_vtbl_entries): Likewise.
	(get_vtbl_decl_for_binfo): New function.
	(dfs_vbase_unmark): Remove declaration.
	(mark_primary_bases): Likewise.
	* class.c (SAME_FN): Remove.
	(struct vcall_offset_data_s): Move definition.
	(build_vbase_pointer): Use `build', not `build_binary_op', to
	access the vbase pointer under the new ABI.
	(build_vtable_entry_ref): Use get_vtbl_decl_for_binfo.
	(build_primary_vtable): Likewise.
	(dfs_mark_primary_bases): Move here from search.c.
	(mark_primary_bases): Likewise.
	(determine_primary_bases): Under the new ABI, don't make a base
	class a primary base just because we don't yet have any virtual
	functions.
	(layout_vtable_decl): Use get_vtbl_decl_for_binfo.
	(num_vfun_entries): Remove.
	(dfs_count_virtuals): Likewise.
	(num_extra_vtbl_entries): Likewise.
	(size_extra_vtbl_entries): Likewise.
	(layout_virtual_bases): Iterate in inheritance graph order under
	the new ABI.
	(finish_struct_1): Use TYPE_VFIELD, not CLASSTYPE_VSIZE, to
	indicate that a vfield is present.
	(init_class_processing): Initialize access_public_node, etc., from
	ak_public, etc.
	(get_vtbl_decl_for_binfo): New function.
	(dump_class_hierarchy_r): Likewise.
	(dump_class_hierarchy): Use it.
	(finish_vtbls): Build the vtbls in inheritance graph order.
	(dfs_finish_vtbls): Adjust call to build_vtbl_initializer.
	(initialize_vtable): Use get_vtbl_decl_for_binfo.
	(accumulate_vtbl_inits): Add comments explaining why a pre-order
	walk is required.
	(dfs_accumulate_vtbl_inits): Set BINFO_VTABLE to the location
	where the vptr points, even for primary vtables.
	(build_vtbl_initializer): Adjust handling of vbase and vcall
	offsets.
	(build_vcall_and_vbase_vtable_entries): New function.
	(dfs_build_vbase_offset_vtbl_entries): Remove.
	(build_vbase_offset_vtbl_entries): Reimplement.
	(dfs_build_vcall_offset_vtbl_entries): Don't include virtuals that
	were already handled in a primary base class vtable.
	(build_vcall_offset_vtbl_entries): Adjust.
	(build_rtti_vtbl_entries): Adjust.
	* decl2.c (output_vtable_inherit): Use get_vtbl_decl_for_binfo.
	* init.c (expand_virtual_init): Simplify.
	* repo.c (repo_get_id): Use get_vtbl_decl_for_binfo.
	* rtti.c (create_pseudo_type_info): Adjust calculation of vptr.
	* search.c (BINFO_ACCESS): New macro.
	(SET_BINFO_ACCESS): Likewise.
	(dfs_access_in_type): Manipulate access_kinds, not access nodes.
	(access_in_type): Likewise.
	(dfs_accessible_p): Likewise.
	(protected_accessible_p): Likewise.
	(lookup_fnfields_1): Adjust documentation.
	(dfs_mark_primary_bases): Move to class.c
	(mark_primary_bases): Likewise.
	(dfs_vbase_unmark): Remove.
	(virtual_context): Use BINFO_FOR_VBASE.
	(dfs_get_vbase_types): Simplify.
	(dfs_build_inheritance_graph_order): New function.
	(get_vbase_types): Use it.
	* tree.c (debug_binfo): Use get_vtbl_decl_for_binfo.

	* tinfo.cc (get_vbase_offset): New function.
	(__vmi_class_type_info::do_find_public_src): Use it.
	(__vmi_class_type_info::do_dyncast): Likewise.
	(__vmi_class_type_info::do_upcast): Likewise.

From-SVN: r32905
2000-04-04 18:13:22 +00:00
Jan Hubicka
f2d33f1321 calls.c (ECF_MALLOC, [...]): New constants.
* calls.c (ECF_MALLOC, ECF_MAY_BE_ALLOCA, ECF_RETURNS_TWICE,
	 ECF_LONGJMP, ECF_FORK_OR_EXEC):  New constants.
	(ECF_IS_CONST): Rename to ECF_CONST.
	(special_function_p): Make static, change interface.
	(flags_from_decl_or_type, try_to_integrate): Break out from ...
	(expand_call) ... here; convert number of variables to flags.
	(emit_library_call_vlue_1): Likewise.
	(setjmp_call_p): New function.
	(initialize_argument_information): Accepts flags as argument;
	return flags.
	(precompute_arguments): Likewise.
	* tree.h (special_function_p): Remove.
	(setjmp_call_p): Add prototype.

From-SVN: r32904
2000-04-04 17:19:30 +00:00
Kaveh R. Ghazi
be340b974a * gcc.dg/cast-qual-1.c: Check casts through a pointer typedef.
From-SVN: r32903
2000-04-04 15:13:11 +00:00
Hans-Peter Nilsson
05ca7cfd36 * execute/20000403-1.c: New test.
From-SVN: r32902
2000-04-04 12:45:36 +00:00
Jakub Jelinek
a5774a7df1 sparc.md (movdi_insn_sp64_novis): New pattern.
* config/sparc/sparc.md (movdi_insn_sp64_novis): New pattern.
	(movdi_insn_sp64_vis): Renamed from movdi_insn_sp64.
	(movsf): Don't force any constant to memory if target is integer
	hard register.
	Move fp_zero_operand check below the const0_rtx check.
	(movtf): Likewise. Also allow fp_zero_operand for stores into
	memory.
	(movdf): Likewise. Also allow fp_zero_operand for stores into
	memory and into integer hard registers.
	(clear_df, clear_dfp, movdf_const_intreg_sp32,
	movdf_const_intreg_sp64): Remove.
	(movdf_insn_sp32, movdf_no_e_insn_sp32): Redo constraints and
	conditions.
	(movdf_no_e_insn_v9_sp32): New pattern.
	(movdf_insn_v9only): Remove.
	(movdf_insn_v9only_novis, movdf_insn_v9only_vis): New patterns.
	(movdf_insn_sp64): Remove.
	(movdf_insn_sp64_novis, movdf_insn_sp64_vis): New patterns.
	(movdf_no_e_insn_sp64): Allow storing 0.0 into memory.
	(following splits): Rewrite conditions. Add two new splits
	for storing 0.0 into memory and registers.
	(clear_tf, clear_tf+1, clear_tfp, clear_tfp+1): Remove.
	(movtf_insn_sp32): Redo constraints and conditions.
	(movtf_insn_vis_sp32): New pattern.
	(movtf_no_e_insn_sp32): Redo constraints and conditions.
	(movtf_insn_hq_sp64): Likewise.
	(movtf_insn_hq_vis_sp64): New pattern.
	(movtf_insn_sp64): Redo constraints and conditions.
	(movtf_insn_vis_sp64): New pattern.
	(movtf_no_e_insn_sp64): Redo constraints and conditions.
	(movtf_no_e_insn_sp64+1): New split for storing 0.0L into registers
	or memory.
	* config/sparc/sparc.c (sparc_override_options): Assume v9 if either
	-mvis or -m64 to take down the number of various reload patterns.

From-SVN: r32901
2000-04-04 12:13:26 +02:00
Jakub Jelinek
ce3e131171 sparc.h (RTX_OK_FOR_OFFSET_P): Leave minor margin so that addresses are offsetable by up to 16 bytes.
* config/sparc/sparc.h (RTX_OK_FOR_OFFSET_P): Leave minor margin
	so that addresses are offsetable by up to 16 bytes.
	(GO_IF_LEGITIMATE_ADDRESS): Don't allow REG+REG addresses for
	non-optimizing TARGET_ARCH32 in DF or DI modes because it is not
	offsetable.

From-SVN: r32900
2000-04-04 12:09:09 +02:00
Jeff Law
2f761dcbd5 Daily bump.
From-SVN: r32899
2000-04-04 01:45:07 -06:00
Jeffrey A Law
6b940b3910 pa-64.h: New file.
* pa/pa-64.h: New file.
        * pa/pa64-regs.h: New file.
        * pa/pa64-start.h: New file.
        * pa/t-pa64: New file.
        * pa/xm-pa64hpux.h: New file.

From-SVN: r32898
2000-04-04 00:42:40 -06:00
Kaveh R. Ghazi
e77d72cbc0 sparc.c (output_restore_regs): Prototype.
* sparc.c (output_restore_regs): Prototype.
	(sparc_emit_float_lib_cmp): Constification.

	* emit-rtl.c (const_int_htab_hash, const_int_htab_eq): Likewise.

	* reload1.c (reload_cse_delete_noop_set, reload_cse_simplify):
	Prototype.

	* simplify-rtx.c (entry_and_rtx_equal_p): Constification.
	(get_value_hash, hash_rtx): Likewise.

	* ssa.c (compute_conservative_reg_partition): Prototype.

	* tree.c (mark_hash_entry): Prototype.

From-SVN: r32896
2000-04-04 02:24:50 +00:00
Zack Weinberg
bad3c76d53 Update regexps for modified error messages
From-SVN: r32895
2000-04-04 01:44:12 +00:00
Tom Tromey
6719cc92e8 jvm.h (_Jv_GetArrayElementFromElementType): More commentary from Alex.
* include/jvm.h (_Jv_GetArrayElementFromElementType): More
	commentary from Alex.

From-SVN: r32894
2000-04-03 23:36:49 +00:00
Zack Weinberg
a51042110f bb-reorder.c (verify_insn_chain): #ifdef out unless ENABLE_CHECKING.
* bb-reorder.c (verify_insn_chain): #ifdef out unless ENABLE_CHECKING.
	* i386.h (FUNCTION_ARG_REGNO_P): Remove unnecessary test for N >= 0.
	* i386.md (call_value, call_value_pop): Remove unused variable 'addr'.

From-SVN: r32893
2000-04-03 23:25:07 +00:00
Zack Weinberg
f6905025ad Should have been committed with previous batch
From-SVN: r32892
2000-04-03 23:16:10 +00:00
Zack Weinberg
6b32882f85 gcc.c (C specs): Pass -f(no-)show-column to the preprocessor.
* gcc.c (C specs): Pass -f(no-)show-column to the
          preprocessor.
	* ch/lang-specs.h, cp/lang-specs.h, f/lang-specs.h,
	objc/lang-specs.h: Likewise.

	* gcc.dg/cpp-redef-2.c, gcc.dg/cpp-tradwarn1.c,
	gcc.dg/cpp-unc.c: Add -fno-show-column to compiler options.

From-SVN: r32891
2000-04-03 23:03:20 +00:00
Neil Booth
b22ef1311f cppexp.c: wrap long lines.
* cppexp.c: wrap long lines.  New macros CPP_ICE, SYNTAX_ERROR
	and SYNTAX_ERROR2. Replace `' in messages with ''.
	(op_to_str): Make re-entrant.
	(_cpp_parse_expr): Implement new error macros. Use | rather
	than || to logically or 2 boolean integers.  Simply expression
	checking we have a left operand iff needed.

From-SVN: r32890
2000-04-03 22:33:12 +00:00
Geoffrey Keating
d799cfa6e5 * execute/20000402-1.c: New test.
From-SVN: r32889
2000-04-03 21:29:03 +00:00
Don Lindsay
8fa29a9c3d log entry
From-SVN: r32888
2000-04-03 21:11:27 +00:00
Don Lindsay
87e2376db3 More va-arg variations. OKed by Jeff Law.
From-SVN: r32887
2000-04-03 21:05:03 +00:00
Nick Clifton
c7b95850fb Add dependency of 'diagnostic.o' on 'diagnostic.c'
From-SVN: r32886
2000-04-03 19:30:12 +00:00
Tom Tromey
0c2534d98d Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am ($(javao_files)): Depend on libgcj.zip.
	From H.J. Lu.

From-SVN: r32885
2000-04-03 18:07:45 +00:00
Philip Blundell
e869e3db4c Apply Philip Blundell's patch to fix typos in SUBTARGET_EXTRA_LINK_SPEC
From-SVN: r32882
2000-04-03 17:19:15 +00:00
Jeffrey A Law
728ee72a32 * gcc.c-torture/compile/20000403-2.c: New test.
From-SVN: r32881
2000-04-03 03:04:42 -06:00
Jeffrey A Law
98e294810b * gcc.c-torture/compile/20000403-1.c: New test.
From-SVN: r32880
2000-04-03 02:35:44 -06:00
Felix Lee
bebac70175 server.c (find_shell): New function.
* fixinc/server.c (find_shell): New function.  Avoid $SHELL.
        (run_shell): Use it.

From-SVN: r32878
2000-04-03 01:43:51 -06:00
Jonathan Larmour
7bfe3c970f Makefile.in (stmp-int-hdrs): Make include subdir here...
* Makefile.in (stmp-int-hdrs): Make include subdir here...
        (stmp-fixproto): ...rather than here.

From-SVN: r32877
2000-04-03 01:41:25 -06:00
George France
2201601ab6 * basicio.c (PATH_MAX): Always provide a definition.
From-SVN: r32876
2000-04-03 01:21:06 -06:00
Jason Eckhardt
478a4495af pa.c (print_operand): Compute 'base' only inside the code paths that use it.
* pa.c (print_operand): Compute 'base' only inside the code paths
        that use it.

From-SVN: r32875
2000-04-03 00:51:45 -06:00
Geoff Keating
f0fddb1554 stor-layout.c (byte_from_pos): Use TRUNC_DIV_EXPR rather than CEIL_DIV_EXPR.
* stor-layout.c (byte_from_pos): Use TRUNC_DIV_EXPR rather than
        CEIL_DIV_EXPR.

From-SVN: r32874
2000-04-03 00:17:03 -06:00
Philipp Thomas
053f11267a * i386.h (TARGET_SWITCHES): Remove bogus empty strings, fix typo.
From-SVN: r32873
2000-04-03 00:08:44 -06:00
Brad Lucier
037a174061 * Makefile.in: Have alias.o depend on $(TREE_H).
From-SVN: r32872
2000-04-03 00:04:36 -06:00
Zack Weinberg
5729663d29 * configure.in: Indent the # of #include_next one space.
From-SVN: r32871
2000-04-02 22:51:55 +00:00
Zack Weinberg
bfab56e7ab cppinit.c (cpp_start_read): Turn off -Wtraditional if processing C++.
* cppinit.c (cpp_start_read): Turn off -Wtraditional if
	processing C++.
	* cpplib.c (_cpp_handle_directive): Improve warnings for
	traditional C and indented directives.

	* enquire.c, gsyslimits.h, limity.h, config/convex/fixinc.convex,
	fixinc/fixinc.irix, fixinc/fixinc.sco, fixinc/fixinc.wrap,
	fixinc/inclhack.def: Indent the # of #include_next one space.
	* cp/rtti.c: Un-indent #if and #endif.

	* cppexp.c (_cpp_parse_expr): If lex returns '#', it's a
	syntax error, but an error has already been printed.
	* cpplex.c (_cpp_parse_assertion): Give a more specific error
	message when called with nothing remaining on the line.
	(_cpp_lex_token): If _cpp_parse_assertion fails, return an
	OTHER token, not an ASSERTION.
	* cpplib.c (do_assert): When we create a 'base' node, clear
	its aschain pointer.

	* gcc.c-torture/compile/981211-1.c: Move to...
	* gcc.dg/cpp-as1.c: ...here.
	* gcc.dg/cpp-as2.c: New file.

	* gcc.dg/cpp-tradwarn1.c: Change warning regexps to match the
	compiler.

From-SVN: r32870
2000-04-02 22:50:55 +00:00
Neil Booth
7c3bb1deec cppexp.c: New typedef op_t.
* cppexp.c:  New typedef op_t.  struct operation and struct
	token updated to use it.
	(op_to_str): New function.
	(_cpp_parse_expr): Error messages modified to use op_to_str.

From-SVN: r32869
2000-04-02 22:12:14 +00:00
Anthony Green
a7862cf746 Forgot to add this file before...
From-SVN: r32868
2000-04-02 15:41:00 +00:00
Anthony Green
89afab9c44 misc.c (GC_enable): Always define GC_enable and GC_disable.
2000-03-26  Anthony Green  <green@redhat.com>

	* misc.c (GC_enable): Always define GC_enable and GC_disable.

From-SVN: r32867
2000-04-02 15:36:43 +00:00
Anthony Green
54c2f04ba0 JVMPI changes...
Sun Apr  2 08:27:18 2000  Anthony Green  <green@redhat.com>

        * configure: Rebuilt.
	* configure.in: Add --disable-jvmpi.
        * include/config.h.in: Rebuilt.
        * acconfig.h: Add ENABLE_JVMPI.

	* include/jvm.h: Declare _Jv_DisableGC and _Jv_EnableGC.
        (_Jv_JVMPI_Notify_OBJECT_ALLOC): New define.
        (_Jv_JVMPI_Notify_THREAD_END): New define.
        (_Jv_JVMPI_Notify_THREAD_END): New define.
        * prims.cc (_Jv_JVMPI_Notify_OBJECT_ALLOC): Declare.
	(_Jv_JVMPI_Notify_THREAD_END): Declare.
        (_Jv_JVMPI_Notify_THREAD_END): Declare.

	* prims.cc (_Jv_AllocObject): Generate JVMPI object allocation
        events.

        * java/lang/natThread.cc: Include JVMPI headers if necessary.
        (finish_): Generate JVMPI thread end events.
        (run_): Generate JVMPI thread start events.
	* gnu/gcj/runtime/natFirstThread.cc (run): Call JNI_OnLoad for any
        preloaded JNI library.
        Include JVMPI headers if necessary.
        (run): Generate JVMPI thread start events.

        * boehm.cc: Define GC_disable and GC_enable.
	(_Jv_DisableGC): New function.
        (_Jv_EnableGC): New function.
        (disable_gc_mutex): Declare.
        * nogc.cc (_Jv_DisableGC): New function.
	(_Jv_EnableGC): New function.

        * jni.cc (_Jv_JNI_GetEnv): Handle JVMPI interface requests.
        (_Jv_JVMPI_Interface): Define.
        (jvmpiEnableEvent): New function.
        (_Jv_JNI_Init): Initialize _Jv_JVMPI_Interface.

        * include/jvmpi.h: New file.

From-SVN: r32866
2000-04-02 15:34:17 +00:00
Michael Hayes
49d1b87128 c4x.c (c4x_function_arg): Check for void_type_node before checking MUST_PASS_IN_STACK.
* config/c4x/c4x.c (c4x_function_arg): Check for void_type_node
 	before checking MUST_PASS_IN_STACK.

From-SVN: r32865
2000-04-02 09:19:17 +00:00
Jeff Law
7a53764d8a Daily bump.
From-SVN: r32864
2000-04-02 01:45:07 -07:00