Commit Graph

27420 Commits

Author SHA1 Message Date
Mark Mitchell
c94c981720 mips-protos.h (mips_legitimate_address_p): New function.
* config/mips/mips-protos.h (mips_legitimate_address_p): New
	function.
	(mips_reg_mode_ok_for_base_p): Likewise.
	* config/mips/mips.h (REG_OK_STRICT_P): Don't define.
	(REG_OK_FOR_INDEX_P): Define unconditionally.
	(REG_MODE_OK_FOR_BASE_P): Use mips_reg_mode_ok_for_base_p.
	(GO_IF_LEGITIMATE_ADDRESS): Use mips_legitimate_address_p.
	* config/mips/mips.c (mips16_simple_memory_operand): Adjust now
	that GET_MODE_SIZE is unsigned.
	(mips_reg_mode_ok_for_base_p): Define.
	(mips_legitimate_address_p): Likewise.  Adjust now
	that GET_MODE_SIZE is unsigned.
	(block_move_loop): Make the number of bytes unsigned.
	(expand_block_move): Likewise.
	(function_arg): Make the loop counter unsigned to match the
	boundary condition.

From-SVN: r33188
2000-04-16 21:47:17 +00:00
Richard Henderson
d636c18c54 rtl.h (enum insn_note): New enumeration.
* rtl.h (enum insn_note): New enumeration.  Subsume
        NOTE_INSN_DELETED and friends.
        (GET_NOTE_INSN_NAME): Adjust index by NOTE_INSN_BIAS.
        * rtl.c (note_insn_name): Tweek string order.

From-SVN: r33187
2000-04-16 13:23:02 -07:00
Mark Mitchell
aa95639ea8 Fix typo
From-SVN: r33186
2000-04-16 20:06:46 +00:00
Mark Mitchell
4e7512c9d1 cp-tree.def (THUNK_DECL): Add to documentation.
* cp-tree.def (THUNK_DECL): Add to documentation.
	* cp-tree.h (flag_huge_objects): Declare.
	* class.c (modify_vtable_entry): Tidy.
	(update_vtable_entry_for_fn): Split out from dfs_modify_vtables.
	Calculate delta appropriately for the new ABI.
	(dfs_modify_vtables): Use it.
	(modify_all_vtables): Fix thinko in code to add overriding copies
	of functions to primary vtables.
	(build_clone): Fix typo in comment.
	(clone_function_decl): Correct order of destructors in vtable.
	(build_vbase_offset_vtbl_entries): Adjust comment.
	(dfs_vcall_offset_queue_p): Remove.
	(dfs_build_vcall_offset_vtbl_entries): Update BV_VCALL_INDEX.
	(build_vcall_offset_vtbl_entries): Juse use dfs_skip_vbases.
	(build_vtable_entry): Correct check for pure virtual functions.
	Don't declare flag_huge_objects.
	* decl.c (flag_huge_objects): Remove declaration.
	* method.c (make_thunk): Tweak mangling for vcall offset thunks.
	Use int_size_in_bytes.
	(emit_thunk): Handle vcall offset thunks.

From-SVN: r33185
2000-04-16 19:45:32 +00:00
Jeff Law
3268dc00a8 Daily bump.
From-SVN: r33184
2000-04-16 01:45:06 -06:00
Zack Weinberg
1b955cbad5 cpplex.c (_cpp_read_and_prescan): Enlarge len by setting it to offset * 2.
* cpplex.c (_cpp_read_and_prescan): Enlarge len by setting it
	to offset * 2.

From-SVN: r33183
2000-04-16 07:35:39 +00:00
Mark Mitchell
5ead1006da New test
From-SVN: r33182
2000-04-16 04:25:18 +00:00
Bryce McKinlay
8bfecb841a re GNATS java.io/202 (File creation doesn't observe umask)
2000-04-16  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/io/natFileDescriptorPosix.cc (open): Use mode 0666. Fix for
	PR libgcj/202.
	(available): Initialize `Where' to prevent bogus compiler warning.

From-SVN: r33181
2000-04-16 04:09:27 +01:00
Zack Weinberg
f6fab919ba cpplex.c (output_line_command): Remove debugging prints.
* cpplex.c (output_line_command): Remove debugging prints.
	(cpp_output_tokens): Don't write out a zero-length buffer or
	try to see if it has a newline in it.
	(_cpp_expand_to_buffer): Copy the source buffer before pushing.
	(_cpp_read_and_prescan): Move shift-down of pushback bytes to
	the end of the loop.  Use memmove.  Don't read past the end of
	the buffer.  Remove trailing newlines from error messages.

From-SVN: r33180
2000-04-16 02:18:52 +00:00
Neil Booth
d481b69b5e cpphash.h (SYNTAX_INCLUDE, [...]): new.
* cpphash.h (SYNTAX_INCLUDE, SYNTAX_ASSERT, directive_handler): new.
        * cpplib.c: Add new syntax flags to directive table, and
        supporting macros.

From-SVN: r33179
2000-04-16 02:10:34 +00:00
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