Commit Graph

56331 Commits

Author SHA1 Message Date
Zack Weinberg a6f78652f3 c-common.c (shadow_warning): Delete.
* c-common.c (shadow_warning): Delete.
	* c-common.h (free_parser_stacks, shadow_warning, sw_kind): Delete.
	* c-decl.c (warn_if_shadowing): Issue shadow warnings directly.
	* c-opts.c (c_common_parse_file): Don't call free_parser_stacks.
	* c-parse.in (free_parser_stacks): Delete.
cp:
	* name-lookup.c (pushdecl): Issue shadow warnings directly.
	* parser.c (free_parser_stacks): Delete.
testsuite:
	* gcc.c-torture/execute/string-opt-15.c: Define memcmp with void *
	arguments.
	* gcc.dg/fwritable-strings-1.c: Expect the deprecation notice.
------
	Bug 13856
	* c-decl.c (diagnose_mismatched_decls): Only give special
	treatment when olddecl is DECL_BUILT_IN, if C_DECL_INVISIBLE
	is also true.
	(merge_decls): Don't clear DECL_BUILT_IN_CLASS and
	DECL_FUNCTION_CODE when defining a built-in function.
	Don't update DECL_ESTIMATED_INSNS.
	* dwarf2out.c (dwarf2out_decl): Don't ignore built-in
	FUNCTION_DECLs.
	* tree.h: Delete DECL_ESTIMATED_INSNS.
	* tree-inline.c (struct inline_data): Delete inlined_insns field.
	(expand_call_inline, optimize_inline_calls): Don't update
	DECL_ESTIMATED_INSNS nor inlined_insns.
	* cgraphunit.c (cgraph_analyze_function): Don't update
	DECL_ESTIMATED_INSNS.
cp:
	* optimize.c (maybe_clone_body): Don't update DECL_ESTIMATED_INSNS.
	* decl.c (duplicate_decls, start_function): Likewise.
testsuite:
	* gcc.dg/visibility-8.c: New testcase.

From-SVN: r77475
2004-02-08 01:59:11 +00:00
GCC Administrator 19755f9808 Daily bump.
From-SVN: r77469
2004-02-08 00:16:12 +00:00
Nathanael Nerode 947c6b00ad Makefile.in, [...]: Use the top level mkinstalldirs, not the one in the gcc subdir.
* Makefile.in, config/t-slibgcc-darwin, config/t-slibgcc-elf-ver,
	config/t-slibgcc-sld, config/mips/t-iris5-6, config/sh/t-linux:
	Use the top level mkinstalldirs, not the one in the gcc subdir.
	* mkinstalldirs: Remove (from the gcc subdir).

From-SVN: r77466
2004-02-07 23:45:23 +00:00
Roger Sayle 088414c122 re PR middle-end/13696 (enum not useable as array index?)
PR middle-end/13696
	* fold-const.c (fold_convert): New function to provide type
	conversion to the middle-end without using convert.
	(negate_expr, associate_trees, size_diffop, omit_one_operand,
	operand_equal_for_comparison_p, pedantic_omit_one_operand,
	invert_truthvalue, optimize_bit_field_compare, range_binop,
	decode_field_reference, make_range, build_range_check, unextend,
	fold_truthop, extract_muldiv_1, fold_mathfn_compare,
	fold_binary_op_with_conditional_arg, fold_inf_compare,
	fold_single_bit_test, fold, multiple_of_p): Replace all calls to
	convert with calls to fold_convert.

	* g++.dg/opt/fold1.C: New test case.

From-SVN: r77464
2004-02-07 18:57:35 +00:00
Jan Hubicka 076963eb57 genrecog.c (find_operand): add extra argument stop.
* genrecog.c (find_operand): add extra argument stop.
	(validate_pattern): Verify that mach_dup is duplicating operand
	defined lexically earlier.

From-SVN: r77461
2004-02-07 17:53:44 +00:00
Kazu Hirata 1197924d2b config.gcc: Don't mention MAX_LONG_TYPE_SIZE.
* config.gcc: Don't mention MAX_LONG_TYPE_SIZE.
	* system.h (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
	MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Poison.
	* config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
	config/ia64/ia64.h, config/ip2k/ip2k.h,
	config/iq2000/iq2000.h, config/mips/iris5.h,
	config/mips/mips.h, config/pa/pa-64.h, config/pa/pa.h,
	config/rs6000/aix51.h, config/rs6000/aix52.h,
	config/rs6000/darwin.h, config/rs6000/rs6000.h,
	config/s390/s390.h, config/sh/sh.h, config/sparc/freebsd.h,
	config/sparc/linux.h, config/sparc/linux64.h,
	config/sparc/netbsd-elf.h, config/sparc/sparc.h,
	config/xtensa/xtensa.h: Remove the definitions of
	MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, and/or
	MAX_WCHAR_TYPE_SIZE.
	* doc/tm.texi (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
	MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Remove.

From-SVN: r77460
2004-02-07 17:06:25 +00:00
Stephane Carrez 883899eef1 re PR bootstrap/13990 (build fails because of wrong use of gen_rtx_NE)
PR bootstrap/13990
	* config/m68hc11/m68hc11.md ("doloop_end"): Pass dummy arguments to
	gen_rtx_NE.

From-SVN: r77459
2004-02-07 17:45:11 +01:00
Josef Zlomek f6e215ccb7 var-tracking.c (vt_add_function_parameters): Surround checkings by #ifdef ENABLE_CHECKING and #endif.
* var-tracking.c (vt_add_function_parameters): Surround checkings by
	#ifdef ENABLE_CHECKING and #endif.

From-SVN: r77458
2004-02-07 15:56:53 +00:00
Roger Sayle dfb36f9be2 fold-const.c (negate_expr_p, [...]): Optimize -(A+B) into either (-A)-B or (-B)-A...
* fold-const.c (negate_expr_p, negate_expr): Optimize -(A+B) into
	either (-A)-B or (-B)-A, if A or B is easily negated respectively.
	(fold) <MINUS_EXPR>: Optimize (A*C) - (B*C) -> (A-B)*C for both
	integer types and floating point with unsafe_math_optimizations.
	Add similar optimization for (A*C1) - (A*C2) -> A*(C1-C2).
	Optimize A - B as A + (-B), if B is easily negated.

From-SVN: r77453
2004-02-07 15:35:40 +00:00
Kazu Hirata 0ea5865c17 c-ppoutput.c, [...]: Update copyright.
gcc/
	* c-ppoutput.c, cfganal.c, diagnostic.h, print-rtl.c,
	config/darwin.c, config/darwin.h, config/ia64/ia64-c.c,
	config/m32r/linux.h, config/rs6000/ppc64-fp.c,
	config/sparc/openbsd.h, doc/makefile.texi, doc/passes.texi:
	Update copyright.

	cp/
	* rtti.c: Update copyright.

From-SVN: r77449
2004-02-07 14:14:54 +00:00
Kazu Hirata fb0840fc1e * c-ppoutput.c, var-tracking.c: Fix comment typos.
From-SVN: r77448
2004-02-07 13:55:07 +00:00
James E Wilson 468c45a3e6 Fix compile error with old glibc verisons.
* config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Only define for
glibc 2.3 or better.

From-SVN: r77443
2004-02-06 23:30:48 -08:00
Kazu Hirata 9c9176699a tm.texi (TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL): Change to FLOAT_LIB_COMPARE_RETURNS_BOOL.
* doc/tm.texi (TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL): Change
	to FLOAT_LIB_COMPARE_RETURNS_BOOL.

From-SVN: r77442
2004-02-07 03:53:42 +00:00
Alan Modra dd5f9ea23b * src/types.c: Use 16 byte long double for POWERPC64.
From-SVN: r77441
2004-02-07 13:41:59 +10:30
Alan Modra fb7e4164c0 t-linux64 (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
* config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
	(SHLIB_MAPFILES): Add libgcc-ppc64.ver.
	(SHLIB_MKMAP_OPTS): Delete.
	(TARGET_LIBGCC2_CFLAGS): Add -specs.
	(bispecs): Add rule.
	* config/rs6000/libgcc-ppc64.ver: New file.
	* config/rs6000/ppc64-fp.c (__fixtfdi, __floatditf): New functions.
	(__floatdidf, __floatdisf): Optimize multiply.
	(__fixunstfdi): New function.
	* config/rs6000/rs6000.c (rs6000_complex_function_value): Allow for
	real and imag parts larger than one register.
	(function_arg): Correct type of reg used when fp arg split partially
	to stack.
	* config/rs6000/darwin-ldouble.c: Protect with #if !_SOFT_FLOAT
	and __MACH__ or __powerpc64__.

From-SVN: r77440
2004-02-07 13:36:46 +10:30
Roger Sayle 254878eadd builtins.c (expand_builtin_signbit): Use extract_bit_field instead of gen_highpart or gen_lowpart when...
* builtins.c (expand_builtin_signbit): Use extract_bit_field instead
	of gen_highpart or gen_lowpart when the floating point format is
	wider than the result mode.

Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>

From-SVN: r77439
2004-02-07 03:00:16 +00:00
Andrew Pinski b105316055 dwarf2out.c (loclabel_num): Move into #ifdef DWARF2_DEBUGGING_INFO.
2004-02-06  Andrew Pinski  <pinskia@physics.uc.edu>

        * dwarf2out.c (loclabel_num): Move into #ifdef
        DWARF2_DEBUGGING_INFO.

From-SVN: r77438
2004-02-06 18:41:37 -08:00
Giovanni Bajo f970e7c9c9 re PR c++/14033 (tree check: expected class 't', have 'x' (error_mark) in initialize_inlined_parameters, at tree-inline.c:829)
PR c++/14033
	* g++.dg/other/crash-2.C: New test.

From-SVN: r77437
2004-02-07 02:11:10 +00:00
Giovanni Bajo 2500bbb69d re PR c++/14033 (tree check: expected class 't', have 'x' (error_mark) in initialize_inlined_parameters, at tree-inline.c:829)
PR c++/14033
	* decl.c (require_complete_types_for_parms): Do not insert
	error_mark_node in the parameter list.

From-SVN: r77436
2004-02-07 02:08:36 +00:00
GCC Administrator 7a174c8b8c Daily bump.
From-SVN: r77433
2004-02-07 00:16:42 +00:00
Ziemowit Laski 25fe8680db [gcc/ChangeLog]
2004-02-06  Ziemowit Laski  <zlaski@apple.com>

        * objc/objc-act.c (build_super_template) the 'class' field of
        'struct _objc_super' shall be named 'super_class' #ifdef OBJCPLUS.
        (get_super_receiver): Likewise.

[gcc/libobjc/ChangeLog]
2004-02-06  Ziemowit Laski  <zlaski@apple.com>

        * objc/objc-api.h (objc_super): The 'class' field shall
        be named 'super_class' #ifdef __cplusplus.

From-SVN: r77430
2004-02-06 23:54:30 +00:00
Paolo Carlini eee54836b1 basic_string.h: Fix comment.
2004-02-06  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h: Fix comment.

From-SVN: r77428
2004-02-06 23:02:45 +00:00
Kazu Hirata 761fa0f7a2 reload1.c (check_eliminable_occurrences): Optimize the reset of can_eliminate.
* reload1.c (check_eliminable_occurrences): Optimize the reset
	of can_eliminate.
	(eliminate_regs_in_insn): Likewise.

From-SVN: r77427
2004-02-06 22:10:22 +00:00
Paolo Carlini 15d7206087 stl_construct.h: Wrap overlong lines, reformat according to the coding standards.
2004-02-06  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_construct.h: Wrap overlong lines, reformat
	according to the coding standards.
	* include/bits/stl_pair.h: Likewise.
	* include/bits/stl_raw_storage_iter.h: Likewise.
	* include/bits/stl_stack.h: Likewise.
	* include/bits/stl_uninitialized.h: Likewise.
	* include/bits/stream_iterator.h: Likewise.
	* include/bits/streambuf_iterator.h: Likewise.
	* include/bits/type_traits.h: Likewise.

From-SVN: r77425
2004-02-06 21:32:48 +00:00
Daniel Berlin 0a2d3d6919 dwarf2out.c (struct gcc_debug_hooks): Call dwarf2out_begin_function at the beginning of function...
* dwarf2out.c (struct gcc_debug_hooks): Call dwarf2out_begin_function
	at the beginning of function, call dwarf2out_var_location for
	NOTE_INSN_VAR_LOCATION note.
	(struct var_loc_node, struct var_loc_list_def, loclabel_num,
	decl_loc_table): New.
	(lookup_decl_loc): New function.
	(add_var_loc_to_decl): New function.
	(based_loc_descr): Added parameter can_use_fbreg, DW_OP_fbreg is used
	only if can_use_fbreg.
	(mem_loc_descriptor): Added parameter can_use_fbreg, pass it to other
	functions.
	(loc_descriptor): Likewise. Process VAR_LOCATION.
	(concat_loc_descriptor): Call loc_descriptor with can_use_fbreg == true.
	(loc_descriptor_from_tree): Call mem_loc_descriptor with
	can_use_fbreg == true.
	(add_location_or_const_value_attribute): Added parameter enum
	dwarf_attribute attr, generate attribute ATTR.  Create the location list.
	(add_bound_info): Call loc_descriptor with can_use_fbreg == true.
	(gen_formal_parameter_die): Call add_location_or_const_value_attribute
	with attr == DW_AT_location.
	(gen_subprogram_die): Generate the location list for DW_AT_frame_base
	if frame_base_decl is defined and has a location list.
	(gen_variable_die): Call add_location_or_const_value_attribute with
	attr == DW_AT_location.
	(dwarf2out_var_location): New function.
	(dwarf2out_begin_function): New function.
	(dwarf2out_init): Create decl_loc_table.

Co-Authored-By: Josef Zlomek <zlomekj@suse.cz>

From-SVN: r77421
2004-02-06 20:17:00 +00:00
Ulrich Weigand 1f0db3dfca loop.c (force_movables): Transitively increase the priorities of all insns forces by an insn...
* loop.c (force_movables): Transitively increase the priorities of
	all insns forces by an insn, not just the first one.

From-SVN: r77419
2004-02-06 20:10:35 +00:00
Josef Zlomek 014a1138d6 Josef Zlomek <zlomekj@suse.cz>
Josef Zlomek  <zlomekj@suse.cz>
	* Makefile.in (var-tracking.o): New.
	* common.opt (fvar-tracking): New.
	* flags.h (flag_var_tracking): New.
	* gengtype.c (adjust_field_rtx_def): NOTE_INSN_VAR_LOCATION was added.
	* opts.c (common_handle_option): Add OPT_fvar_tracking.
	* print-rtl.c (print_rtx): NOTE_INSN_VAR_LOCATION was added.
        * rtl.c (note_insn_name): Likewise.
        * rtl.def (VAR_LOCATION): New.
        * rtl.h (NOTE_VAR_LOCATION): New.
        (NOTE_VAR_LOCATION_DECL): New.
        (NOTE_VAR_LOCATION_LOC): New.
        (enum insn_note): NOTE_INSN_VAR_LOCATION was added.
        (variable_tracking_main): New exported function.
        * timevar.def (TV_VAR_TRACKING): New.
        * toplev.c (enum dump_file_index): Added DFI_vartrack.
        (dump_file): "vartrack" was added (-dV).
        (flag_var_tracking): New.
        (f_options): "var-tracking" was added.
	(rest_of_handle_variable_tracking): New function.
        (rest_of_compilation): Run variable tracking.
	(process_options): If user has not specified flag_var_tracking set it
	according to optimize, debug_info_level and debug_hooks.
	* tree.h (frame_base_decl): New.
        * var-tracking.c: New file.
	* config/ia64/ia64.c (ia64_flag_var_tracking): New variable.
	(ia64_override_options): Set flags to run variable tracking in machine
	dependent reorg instead of toplev.c.
	(ia64_reorg): Run variable tracking if wanted.
        * doc/invoke.texi: Mention variable tracking in -dV,
	add and -fvar-tracking.
        * doc/passes.texi: Added variable tracking pass.

	Daniel Berlin <dberlin@dberlin.org>
	* debug.h (struct gcc_debug_hooks): Added var_location debug hook.
	* dbxout.c (dbx_debug_hooks): Likewise.
	(xcoff_debug): Likewise.
	* debug.c (do_nothing_debug_hooks): Likewise.
	* dwarf2out.c (dwarf2_debug_hooks): Likewise.
	* dwarfout.c (dwarf_debug_hooks): Likewise.
	* sdbout.c (sdb_debug_hooks): Likewise.
	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
	* final.c (final_scan_insn): Call var_location debug hook for each
	NOTE_INSN_VAR_LOCATION.

Co-Authored-By: Daniel Berlin <dberlin@dberlin.org>

From-SVN: r77418
2004-02-06 20:03:45 +00:00
Jan Hubicka 298c28a8f4 flow.c (update_life_info): Allocate reg_deaths when called from scheudler.
* flow.c (update_life_info): Allocate reg_deaths when called from
	scheudler.
	(attempt_auto_inc):  Update life ranges accordingly.

From-SVN: r77415
2004-02-06 19:29:56 +00:00
Loren J. Rittle fbdf188d78 Add commit message included with files.
From-SVN: r77413
2004-02-06 19:20:30 +00:00
Ulrich Weigand 3199cb41b8 re PR debug/11816 (Incorrect debugging information for anonymous structures)
PR debug/11816
	* dwarf2out.c (gen_decl_die): Handle anonymous struct members.

From-SVN: r77411
2004-02-06 18:37:25 +00:00
Ulrich Weigand 1a6dd8a2b8 * cfganal.c (flow_call_edges_add): Never split a libcall block.
From-SVN: r77410
2004-02-06 18:31:33 +00:00
Daniel Berlin 1711adc261 dwarf2out.c (output_loc_list): Don't use deltas if we have a separate line info table in use.
* dwarf2out.c (output_loc_list): Don't use deltas if we have
	a separate line info table in use.
	Use the correct size for terminators.
	(output_die): Use offset, not delta.

From-SVN: r77409
2004-02-06 18:25:16 +00:00
H.J. Lu b1e5a971c5 invoke.texi: Remove the pni option from -mfpmath=.
2004-02-06  H.J. Lu  <hongjiu.lu@intel.com>

	* doc/invoke.texi: Remove the pni option from -mfpmath=.

From-SVN: r77404
2004-02-06 09:51:42 -08:00
Giovanni Bajo 37bd808d63 re PR c++/14028 (Parser accepts invalid unbalanced triangular bracketing.)
PR c++/14028
	* g++.dg/parse/angle-bracket2.C: New test.

From-SVN: r77403
2004-02-06 17:27:18 +00:00
Giovanni Bajo 6c0cc713d2 re PR c++/14028 (Parser accepts invalid unbalanced triangular bracketing.)
PR c++/14028
	* parser.c (cp_parser_enclosed_template_argument_list): Emit straight
	error when terminator can not be found.

From-SVN: r77402
2004-02-06 17:24:31 +00:00
Michael Koch 3298fd35f7 2004-02-06 Michael Koch <konqueror@gmx.de>
* java/io/ObjectInputStream.java
	(currentClassLoader): Reverted to old version of this method.

From-SVN: r77397
2004-02-06 14:05:37 +00:00
Jan Hubicka 736b64ddb4 recog.c (split_all_insns): Do not update reg info.
* recog.c (split_all_insns): Do not update reg info.
	* regrename.c (regrename_optimize): Likewise.
	* toplev.c (rest_of_handle_reorder_blocks): Likewise.
	* flow.c (struct propagate_block_info): Add insn_num field.
	(reg_deaths): New array.
	(life_analysis): Free reg_deaths info.
	(allocate_reg_life_data): Allocate reg_deaths array.
	(propagate_one_insn): Use new array.
	(init_propagate_block): Initialize it.
	(free_propagate_block_info): Finish compuation of
	REG_LIVE_LENGTH
	(attempt_auto_inc): Sanity check that REG_INFO is not
	computed at same time.
	(mark_used_regs): Update new array.

	* reg-stack.c (subst_stack_regs): Unshare clobbers before
	substitution.

From-SVN: r77396
2004-02-06 13:57:15 +00:00
Jeroen Frijters 2941cc061a ObjectInputStream.java: Made all calls to dumpElement[ln] conditional on dump flag.
2004-02-06  Jeroen Frijters  <jeroen@frijters.net>

	* java/io/ObjectInputStream.java: Made all calls
	to dumpElement[ln] conditional on dump flag. (readObject): Changed to
	use cached info from ObjectStreamClass. (readClassDescriptor):
	Cache more information in ObjectStreamClass. (processResolution,
	readFields): Use cached info from ObjectStreamClass.
	(newObject): Throw exception instead of returning null for failure.
	(getField, getMethod, callReadMethod, setBooleanField, setByteField,
	setCharField, setDoubleField, setFloatField, setIntField,
	setLongField, setShortField, setObjectField, readObjectParams):
	Removed. (dumpElement, dumpElementln): Removed dump flag condition
	check.
	* java/io/ObjectStreamField.java (hasReadMethod): Removed.
	(setClass): Added call to cacheMethods() (findMethod): New method.
	(cacheMethods): New method. (ObjectStreamClass): Added call to
	cacheMethods(). (setFields): Cache fields. (getClassUID): Use
	AccessController.doPrivileged to invoke setAccessible.
	(readObjectMethod, readResolveMethod, realClassIsSerializable,
	realClassIsExternalizable, fieldMapping, firstNonSerializableParent):
	New fields.
	* java/io/ObjectStreamField.java (ObjectStreamField): New constructor.
	(ObjectStreamField): Removed FIXME workaround. (getTypeString,
	isPrimitive): Made safe for cases where type == null.
	(setBooleanField, setByteField, setCharField, setShortField,
	setIntField, setLongField, setFloatField, setDoubleField,
	setObjectField): New methods.

From-SVN: r77395
2004-02-06 13:27:36 +00:00
Kazu Hirata eb457a7a07 s390.md (*extendsiqi2_short_displ): Change to *extendqisi2_short_displ.
* config/s390/s390.md (*extendsiqi2_short_displ): Change to
	*extendqisi2_short_displ.

From-SVN: r77394
2004-02-06 13:25:46 +00:00
Paolo Carlini c5dd98f3ec 9507.cc: Adjust timings.
2004-02-06  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_filebuf/open/char/9507.cc:
	Adjust timings.

From-SVN: r77392
2004-02-06 11:45:23 +00:00
Alan Modra 725c60f83f * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
From-SVN: r77391
2004-02-06 21:31:20 +10:30
Loren J. Rittle 093b46f04f check_performance (CXX): Add -DNOTHREAD.
* scripts/check_performance (CXX): Add -DNOTHREAD.
	* testsuite/performance/20_util/allocator/insert.cc: Integrate
	threaded tests from insert_insert.cc.  Tweak iterations,
	remove special cases.
	* testsuite/performance/20_util/allocator/insert_insert.cc:
	Make all tests single-threaded. Tweak iterations.
	* testsuite/performance/20_util/allocator/map_thread.cc:
	Tweak iterations.
	* testsuite/performance/20_util/allocator/producer_consumer.cc:
	Likewise.

From-SVN: r77388
2004-02-06 08:12:38 +00:00
Alan Modra 07711f53ae oops, missed a file in the last commit
From-SVN: r77381
2004-02-06 16:52:26 +10:30
Alan Modra 0f6937feff tm.texi (INIT_CUMULATIVE_ARGS): Update doco.
* doc/tm.texi (INIT_CUMULATIVE_ARGS): Update doco.
	* calls.c (expand_call): Pass n_named_args to INIT_CUMULATIVE_ARGS.
	(emit_library_call_value_1): Likewise pass nargs.
	* expr.c (block_move_libcall_safe_for_call_parm): Pass 3 here.
	* function.c (assign_parms): Pass -1 to INIT_CUMULATIVE_ARGS.
	* config/rs6000/rs6000.c (init_cumulative_args): Use n_named_args
	parameter instead of scanning TYPE_ARGS_TYPES to count args.
	* config/rs6000/rs6000-protos.h (init_cumulative_args): Update
	prototype.
	* config/rs6000/rs6000.h (INIT_CUMULATIVE_ARGS): Pass extra arg.
	(INIT_CUMULATIVE_INCOMING_ARGS): Set extra arg to 1000.
	(INIT_CUMULATIVE_LIBCALL_ARGS): Set extra arg to 0.
	* config/sh/sh.c (sh_output_mi_thunk): Pass 1 as n_named_args to
	INIT_CUMULATIVE_ARGS.
	* config/alpha/alpha.h (INIT_CUMULATIVE_ARGS): Update.
	* config/alpha/unicosmk.h, config/alpha/vms.h, config/arc/arc.h,
	config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
	config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.h,
	config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
	config/ia64/ia64.h, config/ip2k/ip2k.h, config/iq2000/iq2000.h,
	config/iq2000/iq2000.c, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
	config/m68k/m68k.h, config/mcore/mcore.h, config/mips/mips.h,
	config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h,
	config/pa/pa.h, config/pdp11/pdp11.h config/s390/s390.h,
	config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
	config/v850/v850.h, config/vax/vax.h, config/xtensa/xtensa.h: Likewise.

From-SVN: r77380
2004-02-06 16:48:36 +10:30
Kazu Hirata 11b635fe00 genemit.c (gen_exp): Use const_int_rtx whenever possible.
* genemit.c (gen_exp) [CONST_INT]: Use const_int_rtx whenever
	possible.

From-SVN: r77379
2004-02-06 05:59:15 +00:00
Kazu Hirata ace3ffcd31 reload1.c (eliminate_regs_in_insn): If a set has a REG_EQUAL note containing (plus (reg) (const_int))...
* reload1.c (eliminate_regs_in_insn): If a set has a REG_EQUAL
	note containing (plus (reg) (const_int)), where reg is an
	eliminable reg, then perform the register elimination without
	depending on eliminate_regs().

From-SVN: r77378
2004-02-06 05:58:11 +00:00
Kazu Hirata 78bc94a2a8 arc.c (arc_return_in_memory): Check the return value of int_size_in_bytes against -1.
* config/arc/arc.c (arc_return_in_memory): Check the return
	value of int_size_in_bytes against -1.  Don't check
	TREE_ADDRESSABLE.
	* config/avr/avr.c (avr_return_in_memory): Check the return
	value of int_size_in_bytes against -1.
	* config/ip2k/ip2k.c (ip2k_return_in_memory): Likewise.
	* config/m68hc11/m68hc11.c (m68hc11_return_in_memory):
	Likewise.
	* config/mcore/mcore.c (mcore_return_in_memory): Likewise.
	* config/stormy16/stormy16.c (xstormy16_return_in_memory):
	Likewise.

From-SVN: r77377
2004-02-06 05:55:07 +00:00
Kazu Hirata d8c2bed3d8 frv-protos.h: Remove the prototype for frv_setup_incoming_varargs.
* config/frv/frv-protos.h: Remove the prototype for
	frv_setup_incoming_varargs.
	* config/frv/frv.c (TARGET_SETUP_INCOMING_VARARGS): New.
	(frv_setup_incoming_varargs): Make it static.
	* config/frv/frv.h (SETUP_INCOMING_VARARGS): Remove.

From-SVN: r77376
2004-02-06 05:52:02 +00:00
Kazu Hirata 3e29e2aa4d fr30-protos.h: Remove the prototype for fr30_setup_incoming_varargs.
* config/fr30/fr30-protos.h: Remove the prototype for
	fr30_setup_incoming_varargs.
	Update the prototypes for fr30_num_arg_regs and
	fr30_function_arg_partial_nregs.
	* config/fr30/fr30.c (TARGET_STRUCT_VALUE_RTX): New.
	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
	(fr30_setup_incoming_varargs): Make it static.
	Add argument second_time.  Don't do anything when second_time
	is nonzero.
	(fr30_num_arg_regs): Change the type of the first argument to
	enum machine_mode.
	(fr30_function_arg_partial_nregs): Change the type of the
	second argument to enum machine_mode.
	* config/fr30/fr30.h (STRUCT_VALUE): Remove.
	(SETUP_INCOMING_VARARGS): Remove.

From-SVN: r77375
2004-02-06 05:48:34 +00:00
Kazu Hirata 07ba2efb2e arc-protos.h: Remove the prototype for arc_setup_incoming_varargs.
* config/arc/arc-protos.h: Remove the prototype for
	arc_setup_incoming_varargs.
	* config/arc/arc.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
	(arc_setup_incoming_varargs): Make it static.
	(arc_external_libcall): Likewise.
	* config/arc/arc.h (SETUP_INCOMING_VARARGS): Remove.
	Remove the commented-out definition of
	ASM_OUTPUT_EXTERNAL_LIBCALL.

From-SVN: r77374
2004-02-06 05:41:12 +00:00