Commit Graph

27610 Commits

Author SHA1 Message Date
Ulrich Drepper
422b914d92 Update.
From-SVN: r33175
2000-04-16 00:11:35 +00:00
Ulrich Drepper
b8c752c8d3 (ix86_expand_epilogue): Yes, the x86 can pop 64k at once using ret $N.
From-SVN: r33174
2000-04-16 00:08:56 +00:00
David Edelsohn
409f8483d4 toplev.c (display_help): Prefix "f" to "sched-verbose=".
* toplev.c (display_help): Prefix "f" to "sched-verbose=".
        * haifa-sched.c: Update -fsched-verbose comments to use "=".

From-SVN: r33172
2000-04-15 18:27:59 -04:00
David Edelsohn
14d9580da6 target.h (FFETARGET_32bit_longs): Define for 64-bit PowerPC as well.
* f/target.h (FFETARGET_32bit_longs): Define for 64-bit PowerPC
        as well.

From-SVN: r33171
2000-04-15 18:17:00 -04:00
David Edelsohn
39b48e0238 * Object.m (strlen): 64-bit PowerPC is a 64bit platform as well.
From-SVN: r33170
2000-04-15 18:13:49 -04:00
Richard Kenner
b9bfacf01c Makefile.in (ggc-page.o): Now includes toplev.h.
* Makefile.in (ggc-page.o): Now includes toplev.h.
	* ggc-page.c (toplev.h): Now included.
	(gc_time): Remove declaration.
	(ggc_collect): TIME now long.
	* toplev.c (parse_time, varasm_time, gc_time): Still global; all
	others static.
	* toplev.h (gc_time, parse_time, gc_time): New declarations.
	* cp/decl2.c (parse_time, varconst_time): Delete declarations.
	(finish_file): Delete LINENO declaration.
	START_TIME and THIS_TIME now long.

From-SVN: r33169
2000-04-15 15:54:26 -04:00
Richard Kenner
77a02dba35 toplev.c: Make *_time variable long to reduce chance of overflow.
* toplev.c: Make *_time variable long to reduce chance of overflow.
	(TIMEVAR): Likewise for `otime'.
	(print_time): Arg is now long; compute percentage in FP and round.
	* toplev.h (print_time): Arg is long.

	* tree.c: Minor whitespace changes.

From-SVN: r33168
2000-04-15 12:59:10 -04:00
Richard Kenner
b1a88540d4 configure.in (alpha*-*-*): Aad config/alpha/t-alpha.
* configure.in (alpha*-*-*): Aad config/alpha/t-alpha.
	* configure: Rebuilt.
	* libgcc2.c (__fixunstfDI): Renamed from __fixunstfdi.
	(__fixunsxfDI): Renamed from __fixunsxfdi.
	(__fixunsdfDI): Renamed from __fixunsdfdi.
	(__fixunssfDI): Renamed from __fixunssfdi.
	(__floatdisf): Use proper type in REP_BIT macro.
	(__fixunsxfSI): Renamed from __fixunsxfsi.
	(__fixunsdfSI): Renamed from __fixunsdfsi.
	(__fixunssfSI): Renamed from __fixunssfsi.
	* libgcc2.h: Add cases for MIN_UNITS_PER_WORD > 4.
	Change location of macros and upper-case some names as above.
	* longlong.h ([alpha]): Use PARAMS, not __P in decl of __udiv__qrnnd.
	* config/alpha/t-alpha, config/alpha/qrnnd.asm: New files.

From-SVN: r33167
2000-04-15 12:53:46 -04:00
Richard Kenner
6da9c622a6 configure.in (alpha*-*-*): Aad config/alpha/t-alpha.
* configure.in (alpha*-*-*): Aad config/alpha/t-alpha.
	* configure: Rebuilt.
	* libgcc2.c (__fixunstfDI): Renamed from __fixunstfdi.
	(__fixunsxfDI): Renamed from __fixunsxfdi.
	(__fixunsdfDI): Renamed from __fixunsdfdi.
	(__fixunssfDI): Renamed from __fixunssfdi.
	(__floatdisf): Use proper type in REP_BIT macro.
	(__fixunsxfSI): Renamed from __fixunsxfsi.
	(__fixunsdfSI): Renamed from __fixunsdfsi.
	(__fixunssfSI): Renamed from __fixunssfsi.
	* libgcc2.h: Add cases for MIN_UNITS_PER_WORD > 4.
	Change location of macros and upper-case some names as above.
	* longlong.h ([alpha]): Use PARAMS, not __P in decl of __udiv__qrnnd.
	* config/alpha/t-alpha, config/alpha/qrnnd.asm: New files.

From-SVN: r33166
2000-04-15 12:34:38 -04:00
Richard Kenner
4cf7705a1e varasm.c (assemble_variable): Add cast to remove warning.
* varasm.c (assemble_variable): Add cast to remove warning.
	(immed_real_const_1): Only use CONST[01]_RTX if not in nested function.

From-SVN: r33165
2000-04-15 11:44:19 -04:00
Richard Kenner
c29ea88a1d flow.c (count_basic_blocks, [...]): Remove last change.
* flow.c (count_basic_blocks, find_basic_blocks_1): Remove last change.
	* optabs.c (emit_libcall_block): If have REG_EHG_REGION, update
	region number to -1.

From-SVN: r33164
2000-04-15 11:20:58 -04:00
Richard Earnshaw
a46c7e85d8 * arm.md (movhi): REGNO_POINTER_ALIGN is now bits.
From-SVN: r33163
2000-04-15 15:00:19 +00:00
Richard Earnshaw
624c87aac9 emit-rtl.c (unshare_all_rtl_again): Unmark everything, then call unshare_all_rtl.
* emit-rtl.c (unshare_all_rtl_again): Unmark everything, then
call unshare_all_rtl.

From-SVN: r33162
2000-04-15 11:16:56 +00:00
Jeff Law
098fdd8e9f Daily bump.
From-SVN: r33161
2000-04-15 01:45:07 -06:00
Jim Wilson
660a0ebdf6 Fix glibc math testsuite failures.
* config/ia64/lib1funcs.asm (__divdi3, __moddi3, __udivdi3, __umoddi3):
	Use .s1 not .s0 for all FP instructions.

From-SVN: r33160
2000-04-14 17:00:02 -07:00
Zack Weinberg
f2d5f0cca2 cpplex.c (cpp_output_tokens, [...]): New public interfaces.
* cpplex.c (cpp_output_tokens, cpp_scan_buffer_nooutput): New public
	interfaces.
	(safe_fwrite, output_line_command): New static functions.
	(cpp_expand_to_buffer): Now private to cpplib.
	(cpp_scan_buffer): Take a printer.

	* cpphash.h: Update prototypes.
	* cpplib.h: Update prototypes.
	(cpp_printer): New.
	(cpp_buffer): Remove last_nominal_fname.
	(cpp_reader): Remove lineno.

	* cppmain.c: Use a cpp_printer.
	* fix-header.c: No need to inhibit line commands.  Call
	cpp_start_read with no printer.

	* cpperror.c (cpp_notice_from_errno): Provide default name.
	* cppfiles.c (make_IHASH, _cpp_fake_ihash): New functions.
	(find_include_file, cpp_read_file): Use make_IHASH.
	(file_cleanup): Set control_macro and clear
	input_stack_listing_current here.
	(_cpp_execute_include): Don't output entering-file marker.
	* cpphash.c (special_symbol): Look for the line number in the
	buffer, not the reader.
	(_cpp_macroexpand): No need to disable line commands.
	(_cpp_dump_definition): No need to generate line commands.
	(dump_hash_helper): Remove excess newline from output.
	* cppinit.c (dump_special_to_buffer): No need to generate line
	commands.
	(cpp_printer_init): New.
	(cpp_start_read): Take a printer, and start it up if it's not
	NULL.  No need to generate line commands.
	(cpp_finish): Expect no buffers stacked at all.  Take a
	printer argument, and flush the output buffer if it's not
	NULL.
	* cpplex.c (_cpp_lex_token): Return EOF if there's no buffer.
	Don't put two hashes at the beginning of an assertion.
	(cpp_get_token): Don't increment pfile->lineno or emit line
	commands here.  Return EOF if there's no buffer when we get
	EOF.
	* cpplib.c (do_define, skip_if_group):
	No need to disable line commands.
	(_cpp_output_line_command): Delete function.
	(do_line): Don't emit line commands here, but set things up so
	they will be emitted if necessary.  Use _cpp_fake_ihash to
	make unique nominal_fnames if necessary.
	(do_elif, do_else, _cpp_handle_eof): Call cpp_error_with_line
	with 0 for column, not -1.
	(_cpp_handle_eof): Don't set the control macro here.  Don't
	clear input_stack_listing_current here.  Don't emit line
	commands.

From-SVN: r33159
2000-04-14 23:29:45 +00:00
Geoff Keating
362c63a5e8 In gcc/:
* config/rs6000/sysv4.h (LINK_START_SOLARIS_SPEC): Define to empty
	always, use the default SVR4 start address.

	* config/rs6000/linux.h (LINK_SPEC): Don't define.
	(LINK_SHLIB_SPEC): Define.
	(LINK_START_DEFAULT_SPEC): Define.
	(LINK_OS_DEFAULT_SPEC): Define.

	* config/rs6000/sysv4.h (ENDFILE_SPEC): Use the %(endfile_*) macros.

	* config/rs6000/eabi.asm (__eabi): Call __init rather than
	__do_global_ctors to handle constructors.
	* config/rs6000/sysv4.h (STARTFILE_ADS_SPEC): Use crtbegin.
	(STARTFILE_YELLOWKNIFE_SPEC): Likewise.
	(STARTFILE_MVME_SPEC): Likewise.
	(STARTFILE_SIM_SPEC): Likewise.
	(ENDFILE_ADS_SPEC): Use crtend.
	(ENDFILE_YELLOWKNIFE_SPEC): Likewise.
	(ENDFILE_MVME_SPEC): Likewise.
	(ENDFILE_SIM_SPEC): Likewise.
	(STARTFILE_SOLARIS_SPEC): Use crtbegin/crtbeginS.
	(ENDFILE_SOLARIS_SPEC): Use crtend/crtendS.
	(STARTFILE_LINUX_SPEC): Use crtbeginS for shared objects.
	(ENDFILE_LINUX_SPEC): Use crtendS for shared objects.
	* config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Don't build eabi-ctors.o.
	(EXTRA_MULTILIB_PARTS): Build crtbeginS/crtendS.
	(CRTSTUFF_T_CFLAGS_S): Define.
	* config/rs6000/eabi-ctors.c: Delete.

	* config/rs6000/eabi-ci.asm (__init): Align stack to 16-byte
	boundary.
	(__fini): Likewise.
	* config/rs6000/eabi-cn.asm (__init): Allow for 16-byte stack frame.
	boundary.
	(__fini): Likewise.

In gcc/po:
	* POTFILES.in: Remove config/rs6000/eabi-ctors.c, which was
	previously commented out anyway.

From-SVN: r33158
2000-04-14 23:16:25 +00:00
Jim Wilson
cfff35c1e5 Fix ia64 gdb miscompilation reported by Kevin Buettner.
* combine.c (force_to_mode, case LSHIFTRT): Check that shift shift
	plus mask size is smaller or equal to the mode size.

From-SVN: r33157
2000-04-14 16:11:01 -07:00
Richard Kenner
4c1545e441 print-rtl.c (print_rtx, case NOTE): Don't blow up if NOTE_BASIC_BLOCK not yet set.
* print-rtl.c (print_rtx, case NOTE): Don't blow up if NOTE_BASIC_BLOCK
	not yet set.

From-SVN: r33156
2000-04-14 18:20:38 -04:00
Richard Kenner
3ef1eef42a expr.c (reload.h): Now included.
* expr.c (reload.h): Now included.
	(emit_block_move): Set volatile_ok when checking for movstr.
	(emit_move_1): Check for replacements in addresses in multi-word case.
	* Makefile.in (expr.o): Now includes reload.h.

From-SVN: r33155
2000-04-14 18:13:59 -04:00
Richard Kenner
314883b80a flow.c (count_basic_blocks): Remove unused var PREV_CALL.
* flow.c (count_basic_blocks): Remove unused var PREV_CALL.
	Never have a LIBCALL end a basic block.
	(find_basic_blocks_1): Likewise.
	Reorganize CALL_INSN cases.

From-SVN: r33154
2000-04-14 18:04:58 -04:00
Richard Kenner
e0bf4f7b16 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Revert last change.
From-SVN: r33153
2000-04-14 17:59:52 -04:00
Jim Wilson
85b2a0917a Match recent assembler change.
* config/ia64/lib1funcs.asm (__ia64_nonlocal_goto): Drop obsolete
	completers from mov.ret instruction.

From-SVN: r33152
2000-04-14 10:58:30 -07:00
Richard Henderson
23cdce68cf fold-const.c (extract_muldiv): Don't distribute and widen multiply across plus for non-sizetype unsigned types.
* fold-const.c (extract_muldiv): Don't distribute and widen
        multiply across plus for non-sizetype unsigned types.

From-SVN: r33151
2000-04-14 10:45:17 -07:00
Richard Henderson
6e62809688 flow.c (find_auto_inc): Don't autoinc eliminable registers.
* flow.c (find_auto_inc): Don't autoinc eliminable registers.
	If the original source is dead in the incr insn, it's dead now.

From-SVN: r33150
2000-04-14 10:38:35 -07:00
Richard Kenner
b1ba4cc3a8 stor-layout.c (layout_decl): Properly compare KNOWN_ALIGN to see if DECL_BIT_FIELD needs to still be set.
* stor-layout.c (layout_decl): Properly compare KNOWN_ALIGN to
	see if DECL_BIT_FIELD needs to still be set.

From-SVN: r33149
2000-04-14 07:51:36 -04:00
Richard Kenner
b3ddc3ab4b * tree.h (struct tree_type): Make PRECISION 9 bits and MODE 7.
From-SVN: r33148
2000-04-14 07:44:18 -04:00
Richard Kenner
af1747efe2 dbxout.c (dbxout_type, [...]): Don't call print_int_cst_octal with something that's not an INTEGER_CST.
* dbxout.c (dbxout_type, case INTEGER_TYPE): Don't call
	print_int_cst_octal with something that's not an INTEGER_CST.

From-SVN: r33147
2000-04-14 07:37:24 -04:00
Richard Kenner
57014cb94a alpha.c (alpha_emit_floatuns): Ensure we pass a REG and not a SUBREG to a FLOAT rtl.
* config/alpha/alpha.c (alpha_emit_floatuns): Ensure we pass a REG
	and not a SUBREG to a FLOAT rtl.

From-SVN: r33146
2000-04-14 07:33:02 -04:00
Jeff Law
5919ed0503 Daily bump.
From-SVN: r33145
2000-04-14 01:45:07 -06:00
Bryce McKinlay
73e902b572 Additional test for PR gcj/148:
2000-04-14  Bryce McKinlay  <bryce@albatross.co.nz>

        Additional test for PR gcj/148:
        * libjava.compile/assignment_2.java: New file.

From-SVN: r33144
2000-04-14 01:47:35 +01:00
Clinton Popetz
4b5e8abe18 emit-rtl.c (try_split): Avoid infinite loop if the split results in a sequence that contains the...
* emit-rtl.c (try_split): Avoid infinite loop if the split
	results in a sequence that contains the original insn.

From-SVN: r33143
2000-04-13 20:41:31 -04:00
Andreas Jaeger
460f6b7194 mips.c (expand_block_move): Pass alignment argument to move_by_pieces in bits, not bytes.
2000-04-13  Andreas Jaeger  <aj@suse.de>

	* config/mips/mips.c (expand_block_move): Pass alignment
        argument to move_by_pieces in bits, not bytes.

From-SVN: r33142
2000-04-13 23:44:48 +02:00
Andreas Jaeger
eb24a9dc02 linux.h (CPP_PREDEFINES): Also define __PIC__ and __pic__ for little endian.
2000-04-13  Andreas Jaeger  <aj@suse.de>

	* config/mips/linux.h (CPP_PREDEFINES): Also define __PIC__ and
	__pic__ for little endian.

From-SVN: r33141
2000-04-13 22:00:31 +02:00
Andreas Jaeger
8a44317cbb i386-protos.h: Add prototype for uno_comparison_operator.
2000-04-13  Andreas Jaeger  <aj@suse.de>

	* config/i386/i386-protos.h: Add prototype for
	uno_comparison_operator.

From-SVN: r33140
2000-04-13 19:05:54 +02:00
Andreas Jaeger
eaabe54131 Added myself as requested by Jeff Law.
From-SVN: r33139
2000-04-13 19:03:15 +02:00
Jan Hubicka
2a8f6b90c1 alias.c (nonlocal_reference_p): Take a care for CALL_INSNS's fusage field.
* alias.c (nonlocal_reference_p): Take a care for
	CALL_INSNS's fusage field.
	* calls.c (ECF_PURE): New flag.
	(emit_call_1): Handle ECF_PURE calls.
	(initialize_argument_information): Unset ECF_PURE flag too.
	(precompute_arguments): Precompute for ECF_PURE too.
	(expand_call): Handle ECF_PURE calls too.
	(emit_library_call_value_1): Rename no_queue argument to
	fn_type, accept value of 2 as pure function.
	(emit_library_call_value, emit_library_call): Rename no_queue argument
	to fn_type.
	* optabs.c (prepare_cmp_insn): Pass fn_type 2 to memcmp call.

	* tree.h (DECL_IS_PURE): New macro.
	(struct tree_decl): Add pure_flag.
	* c-common.c (enum attrs): Add attribute "pure".
	(init_attributes): Initialize attribute "pure"
	(decl_attributes): Handle attribute "pure".
	* extend.texi (Attribute "pure"): Document.
	* calls.c (expand_call): Add (mem:BLK (scratch)) to "equal from"
	in pure function.
	(flags_from_decl_or_type): Support attribute "pure".

From-SVN: r33138
2000-04-13 13:59:00 +00:00
Nathan Sidwell
c966901c24 class.c (build_base_field): Reformat comment.
* class.c (build_base_field): Reformat comment.

	* inc/cxxabi.h (stddef.h): Comment inclusion.
	(__base_class_info::__offset): Comment shift.

From-SVN: r33137
2000-04-13 11:14:29 +00:00
Jason Merrill
5eec0563bb cpplex.c (_cpp_lex_token): Handle digraphs.
* cpplex.c (_cpp_lex_token): Handle digraphs.  Don't null-terminate
        the token except for numbers and identifiers.

From-SVN: r33136
2000-04-13 04:26:36 -04:00
Jeff Law
d28ff99006 Daily bump.
From-SVN: r33135
2000-04-13 01:45:08 -06:00
John Wehle
fe577e58d4 i386.c (ix86_expand_binary_operator, [...]): Check no_new_pseudos instead of reload_in_progress and reload_completed.
* i386.c (ix86_expand_binary_operator,
	ix86_expand_unary_operator): Check no_new_pseudos
	instead of reload_in_progress and reload_completed.
	(ix86_split_ashldi, ix86_split_ashrdi,
	ix86_split_lshrdi): Check no_new_pseudos instead
	of reload_completed.

From-SVN: r33134
2000-04-13 04:11:52 +00:00
Jeffrey A Law
4fa48eaefa Jeffrey A Law (law@cygnus.com)
* function.c (purge_addressof): Unshare any shared rtl created by
        purge_addressof and its children.

From-SVN: r33133
2000-04-12 16:47:06 -07:00
Mark Mitchell
aea0083a2d com.h (FFECOM_f2cINTEGER): Avoid using LONG_TYPE_SIZE as a preprocessor constant.
* com.h (FFECOM_f2cINTEGER): Avoid using LONG_TYPE_SIZE as a
	preprocessor constant.
	(FFECOM_f2cLOGICAL): Likewise.
	(FFECOM_f2cLONGINT): Likewise.

From-SVN: r33130
2000-04-12 22:08:32 +00:00
Mark Mitchell
d7bf8ada06 function.c (aggregate_value_p): VOID_TYPE nodes are never aggregates.
* function.c (aggregate_value_p): VOID_TYPE nodes are never
	aggregates.

From-SVN: r33129
2000-04-12 22:07:38 +00:00
Andreas Jaeger
90314e8242 linux.h (SUBTARGET_ASM_SPEC): Use proper flags if not compiling PIC code, add flags for mabi=64.
2000-04-05  Andreas Jaeger  <aj@suse.de>

	* config/mips/linux.h (SUBTARGET_ASM_SPEC): Use proper flags if
	not compiling PIC code, add flags for mabi=64.
	(SUBTARGET_CPP_SIZE_SPEC): New.
	(SUBTARGET_CPP_SPEC): New.
	(CPP_PREDEFINES): Define __PIC__ and __pic__.  PIC code is default
	for MIPS/Linux and lots of code needs these defines.

From-SVN: r33128
2000-04-12 21:38:23 +00:00
Tom Tromey
cc309dd512 natString.cc (intern): Temporarily disable finalizer registration.
* java/lang/natString.cc (intern): Temporarily disable finalizer
	registration.

From-SVN: r33127
2000-04-12 21:17:00 +00:00
Hans-Peter Nilsson
045a1f9d31 * execute/20000412-6.c: New test.
From-SVN: r33126
2000-04-12 20:54:03 +00:00
Hans-Peter Nilsson
12d7e99cdc reorg.c (fill_slots_from_thread): Check side_effects_p when trying the "opposite arithmetic" approach.
* reorg.c (fill_slots_from_thread): Check side_effects_p when
	trying the "opposite arithmetic" approach.

From-SVN: r33125
2000-04-12 20:46:22 +00:00
Tom Tromey
50b99cc8fe natString.cc (unintern): Added `obj' argument.
* java/lang/natString.cc (unintern): Added `obj' argument.
	(intern): Register finalizer for string.
	* java/lang/String.java (unintern): Now static; added obj
	argument.

From-SVN: r33124
2000-04-12 20:45:59 +00:00
J"orn Rennecke
07385c4994 sh.h (STRUCT_VALUE): Just 0 for TARGET_HITACHI.
* sh.h (STRUCT_VALUE): Just 0 for TARGET_HITACHI.
	(struct sh_args): Add new field force_mem.
	(INIT_CUMULATIVE_ARGS): Initialize it.
	(FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Act on it.

From-SVN: r33123
2000-04-12 21:10:19 +01:00