Commit Graph

21125 Commits

Author SHA1 Message Date
Jim Wilson
bbecc1d6a7 Fix build failure when using SGI Irix6 cc.
* mn10200/mn10200.md (addsi3, subsi3, ashlsi3, lshrsi3, ashrsi3):
	Delete emit_library_call_value declaration.

From-SVN: r25803
1999-03-16 05:50:10 -08:00
Zack Weinberg
3fdc651fed cppfiles.c (read_and_prescan): Map backslash-newline to '\r' (which cannot otherwise appear in the processed...
1999-03-16 16:06 -0500  Zack Weinberg  <zack@rabi.columbia.edu>
	* cppfiles.c (read_and_prescan): Map backslash-newline to '\r'
	(which cannot otherwise appear in the processed buffer) and
	move it out of tokens that it appears in the middle of.
	Improve performance.
	(find_position): New function.
	* cpplib.c: \r (one character) indicates backslash
	newline, not \\\n (two characters).  It cannot appear in the
	middle of a token.  Call CPP_BUMP_LINE (pfile) whenever
	parsing moves past \n or \r.  Increment pfile->lineno whenever
	a \n is placed into token_buffer.  Only one mark can exist at
	a time, and CPP_BUMP_LINE must not be used while it is
	active.  It is automatically cleared by cpp_pop_buffer and
	parse_goto_mark.  \r is not in is_hor_space or is_space.
	(NEWLINE_FIX, NEWLINE_FIX1, adjust_position,
	update_position, count_newlines, parse_move_mark): Removed.
	(parse_string, copy_comment): New functions.
	(parse_name): Returns void.
	(parse_set_mark, parse_clear_mark, parse_goto_mark): Take only
	one argument, a cpp_reader *.  Change for new marking scheme.
	(skip_comment): Handle CHILL line comments too.  Second
	argument is now first character of comment marker; all callers
	changed.  Issue error for unterminated block comment here.
	(cpp_skip_hspace): Recognize CHILL comments.
	(copy_rest_of_line): Likewise.  Call skip_comment and
	parse_string directly, don't go through cpp_get_token.  Emit
	"/**/" for block comments if -traditional (create_definition
	needs this).
	(do_define): Don't play with put_out_comments.
	(cpp_push_buffer): Initialize ->mark to -1.
	(cpp_buf_line_and_col): Just read out the values in the buffer
	structure.
	(output_line_command): Use cpp_buf_line_and_col.  Fix
	formatting.  Remove stale code.
	(cpp_get_token): Break out string parsing code to
	parse_string.  Use skip_comment for CHILL comments too.  Use
	copy_comment for put_out_comments instead of dinking with
	marks.  Remove stale code.  Don't call output_line_command
	unless it's necessary.
	* cpplib.h (parse_marker): Removed.
	(struct cpp_buffer): line_base is now a unsigned char *; add
	`mark' [long], remove `marks' [struct parse_marker *].
	(parse_set_mark, parse_clear_mark, parse_goto_mark): Update
	prototypes.
	(CPP_BUMP_LINE, CPP_BUMP_BUFFER_LINE): New macros.
	* cppinit.c (is_hor_space, is_space): '\r' is not considered
	whitespace.
	* cppexp.c (cpp_parse_expression): Use cpp_skip_hspace, not
	SKIP_WHITE_SPACE.
	* cpphash.c (macarg): Disable line commands while expanding.

From-SVN: r25802
1999-03-16 08:10:15 -05:00
David Edelsohn
d888cbc492 edelsohn@mhpcc.edu -> edelsohn@gnu.org
From-SVN: r25801
1999-03-16 06:08:24 -05:00
Gavin Romig-Koch
0e0fda0dd2 c-lex.c (yylex): Remove warning for integer literals being larger than the largest target int.
* c-lex.c (yylex) : Remove warning for integer literals being
	larger than the largest target int.  Add warning for integer
	literal being larger than than its choosen type.

From-SVN: r25800
1999-03-16 08:33:24 +00:00
Gavin Romig-Koch
3ce1ba83d6 invoke.texi: Add -mlong32 documentation.
* invoke.texi: Add -mlong32 documentation.
	* config/mips/mips.h (mips_explicit_type_size_string): New.
	(TARGET_SWITCHES): Add 'long32'.
	(TARGET_OPTIONS): Add 'explicit-type-size'.
	(CC1_SPECS): Set -mexplicit-type-size.
        (LONG_MAX_SPEC): Change a use of 'no-long64' to 'long32'.
	* config/mips/abi64.h (LONG_MAX_SPEC): Same.  Add 'mabi=32'.
	* config/mips/mips.c (mips_explicit_type_size_string): New.
	(override_options): Use it.
	* config/mips/osfrose.h (CC1_SPECS): Set -mexplicit-type-size.
	* config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC):
	Pointer size now depends on both size longs and size of GP
	registers.

From-SVN: r25799
1999-03-16 08:04:00 +00:00
Gavin Romig-Koch
fb1bf66d61 iris.h (CTORS_SECTION_ASM_OP,DTORS_SECTION_ASM_OP, [...]): Use Pmode == DImode rather than TARGET_LONG64.
* config/mips/iris.h (CTORS_SECTION_ASM_OP,DTORS_SECTION_ASM_OP,
	dtors_section): Use Pmode == DImode rather than TARGET_LONG64.
	* config/mips/mips.c (override_options): Allow -mlong64 and
	-mint64 with -mips2 or less.
	* config/mips/mips.h (MASK_LONG64): Fix comment.
	(POINTER_SIZE): Use Pmode == DImode rather than TARGET_LONG64.
	(Pmode): Make Pmode the smaller of longs or gp registers.
	* invoke.texi: Note the new size for pointers.

From-SVN: r25798
1999-03-16 07:25:31 +00:00
Alexandre Petit-Bianco
642f15d187 parse.y (java_stabilize_reference): Use save_expr instead of building a SAVE_EXPR node.
1999-03-16  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* parse.y (java_stabilize_reference): Use save_expr instead of
	building a SAVE_EXPR node.
	(java_complete_lhs): Patch the resulting string of the `+='
	operator (if necessary) and complete the RHS after having built
	the cast.

From-SVN: r25797
1999-03-15 19:38:15 -08:00
Jeff Law
dacbe76fd2 Daily bump.
From-SVN: r25796
1999-03-15 17:45:03 -07:00
David Edelsohn
b525383199 bit-pattern directly.
(ASM_OUTPUT_REG_{PUSH,POP}): Delete.
        * rs6000.c (first_reg_to_save): If profiling and context needed,
        allocate a reg to save static chain for all ABIs.  For AIX
        profiling, calculate parameter registers to save based on need.
        (output_function_profiler): Save and restore static chain around
        profile call for all ABIs.

From-SVN: r25795
1999-03-15 14:47:42 -05:00
Kaveh R. Ghazi
9b2bf201fc lex.c: Don't include setjmp.h.
* lex.c: Don't include setjmp.h.
        (parse_float): New static function.
        (pf_args): New struct.
        (real_yylex): Use them in call to `do_float_handler'.

From-SVN: r25794
1999-03-15 19:07:25 +00:00
Zack Weinberg
0b22d65c9a cppinit.c: Instead of one pending list...
1999-03-15 21:39 -0500  Zack Weinberg  <zack@rabi.columbia.edu>
	* cppinit.c: Instead of one pending list, keep separate lists
	for each category of pending option: -D/-U, -A, -include,
	-imacros.  Move the four partial include-path lists into the
	pending block.  Use head and tail pointers so we don't ever
	have to reverse the lists.
	(cpp_start_read): Break out blocks of code to their own
	functions: install_predefs and initialize_dependency_output.
	Use path_include for C_INCLUDE_PATH and friends as well as
	CPATH.  Remove include_defaults gunk.  Warn about the
	combination of -lang-chill and -trigraphs.  Optimize string
	bashing.  Walk each pending list once, deallocating as we go.
	(append_include_chain): Brought over from cppfiles.c.  Mark
	dirs as system include dirs if and only if appending to
	system include path. If opts->verbose, print a notice when a
	dir is dropped from the include path because it doesn't
	exist.  Fix memory leak: this function is not supposed to copy
	its DIR argument.
	(nreverse_pending, push_pending): Removed.
	(APPEND): New macro for adding to pending lists.
	(path_include): Can now add to any partial include path.
	(base_name): Bring over from cccp.c.
	(cpp_options_init): Allocate the pending block.
	(cpp_handle_option): Add --version.  Exit after --help.  Fix
	formatting.  Order -ifoo options by frequency of usage.
	(install_predefs): New function, simplified version of code
	that was in cpp_start_read.
	(initialize_dependency_output): Likewise.  Understand OBJECT_SUFFIX.
	* cppfiles.c (simplify_pathname): Export.
	(merge_include_chains):  Don't nreverse the lists.  If
	opts->verbose, print a notice when a duplicate dir is detected
	and dropped from the include path.
	(finclude): Fix excessive cleverness in setting
	fp->system_header_p.
	(actual_directory): Set x->sysp from
	CPP_BUFFER (pfile)->system_header_p so that one system header
	may include another with "".
	(deps_output): Fix double adjustment of deps_size which would
	cause all dependencies after the first two lines to be lost.
	* cpplib.c (cpp_unassert): New function.
	* cpplib.h: Lay out struct cpp_pending here.  Adjust
	prototypes.  Add include_prefix_len to struct cpp_options.

From-SVN: r25793
1999-03-15 18:42:46 +00:00
Jim Wilson
56dc4d15c4 mips.h (REGISTER_MOVE_COST): Make the cost of moving from HI/LO/HILO/MD into general registers the same as...
Mon Mar 15 16:01:52 1999  Jim Wilson  <wilson@cygnus.com>
	* config/misp/mips.h (REGISTER_MOVE_COST): Make the cost of moving
 	from HI/LO/HILO/MD into general registers the same as for one
 	of moving general registers to HI/LO/HILO/MD.

From-SVN: r25792
1999-03-15 15:08:51 +00:00
Craig Burley
68d02aa0db Update BUGS, NEWS derived files
From-SVN: r25791
1999-03-15 09:15:50 -05:00
Craig Burley
811cabeeb6 Editorial fixes to g77 docs
From-SVN: r25790
1999-03-15 09:15:16 -05:00
Mark Mitchell
70c532b51d decl.c (xref_basetypes): Set CLASSTYPE_VBASECLASSES here.
* decl.c (xref_basetypes): Set CLASSTYPE_VBASECLASSES here.
	* tree.c (layout_basetypes): Not here.
	* search.c (dfs_search): Remove; no longer used.

From-SVN: r25789
1999-03-15 13:42:56 +00:00
Per Bothner
c52016e41d class.c (make_class): Don't set CLASS_P here (because this function is also called by...
* class.c (make_class):  Don't set CLASS_P here (because
	this function is also called by build_java_array_type).
	(push_class):  Set CLASS_P here instead.
	* parse.h (TYPE_CLASS_P):  Check for TYPE_ARRAY_P is redundant.
	* jcf-dump.c (print_access_flags):  Take extra parameter to indicate
	context.  If the context is class, perfer "super" over "synchronized".
	* jcf-write.c (generate_classfile):  Don't add ACC_SUPER if interface.
	* parse.y (create_class):  Don't call parser_check_super here;
	it is not robust.  Always wait until later.
	* parse.y (method_header):  For interfaces, set ACC_ABSTRACT (to
	match what JDK 1.2 does), but don't set ACC_PUBLIC.

From-SVN: r25785
1999-03-15 05:09:47 -08:00
Per Bothner
2c3199bc4a class.c (make_class): Don't set CLASS_P here (because this function is also called by...
d
	* class.c (make_class):  Don't set CLASS_P here (because
	this function is also called by build_java_array_type).
	(push_class):  Set CLASS_P here instead.
	* parse.h (TYPE_CLASS_P):  Check for TYPE_ARRAY_P is redundant.
	* jcf-dump.c (print_access_flags):  Take extra parameter to indicate
	context.  If the context is class, perfer "super" over "synchronized".
	* jcf-write.c (generate_classfile):  Don't add ACC_SUPER if interface.
	* parse.y (create_class):  Don't call parser_check_super here;
	it is not robust.  Always wait until later.
	* parse.y (method_header):  For interfaces, set ACC_ABSTRACT (to
	match what JDK 1.2 does), but don't set ACC_PUBLIC.

From-SVN: r25784
1999-03-15 05:09:44 -08:00
Per Bothner
2728f62201 class.c (make_class): Don't set CLASS_P here (because this function is also called by...
a
	* class.c (make_class):  Don't set CLASS_P here (because
	this function is also called by build_java_array_type).
	(push_class):  Set CLASS_P here instead.
	* parse.h (TYPE_CLASS_P):  Check for TYPE_ARRAY_P is redundant.
	* jcf-dump.c (print_access_flags):  Take extra parameter to indicate
	context.  If the context is class, perfer "super" over "synchronized".
	* jcf-write.c (generate_classfile):  Don't add ACC_SUPER if interface.
	* parse.y (create_class):  Don't call parser_check_super here;
	it is not robust.  Always wait until later.
	* parse.y (method_header):  For interfaces, set ACC_ABSTRACT (to
	match what JDK 1.2 does), but don't set ACC_PUBLIC.

From-SVN: r25783
1999-03-15 05:09:36 -08:00
Per Bothner
10919149c3 class.c (make_class): Don't set CLASS_P here (because this function is also called by...
T
	* class.c (make_class):  Don't set CLASS_P here (because
	this function is also called by build_java_array_type).
	(push_class):  Set CLASS_P here instead.
	* parse.h (TYPE_CLASS_P):  Check for TYPE_ARRAY_P is redundant.
	* jcf-dump.c (print_access_flags):  Take extra parameter to indicate
	context.  If the context is class, perfer "super" over "synchronized".
	* jcf-write.c (generate_classfile):  Don't add ACC_SUPER if interface.
	* parse.y (create_class):  Don't call parser_check_super here;
	it is not robust.  Always wait until later.
	* parse.y (method_header):  For interfaces, set ACC_ABSTRACT (to
	match what JDK 1.2 does), but don't set ACC_PUBLIC.

From-SVN: r25782
1999-03-15 05:09:32 -08:00
Mark Mitchell
b5d51daa7e decl2.c (validate_nonmember_using_decl): Issue sensible error-messages on bogus qualifiers.
* decl2.c (validate_nonmember_using_decl): Issue sensible
	error-messages on bogus qualifiers.

From-SVN: r25781
1999-03-15 13:08:26 +00:00
Nick Clifton
dd53514283 Remove leading and trailing double underscores from m32r specific attribute
names in order to match the documentation.

From-SVN: r25780
1999-03-15 12:49:36 +00:00
Mark Mitchell
e54db24f73 reload.c (find_reloads): Add a REG_LABEL note if we substitute a LABEL_REF for something else.
Mon Mar 15 10:20:20 1999  Mark Mitchell  <mark@markmitchell.com>
        * reload.c (find_reloads): Add a REG_LABEL note if we substitute a
        LABEL_REF for something else.

From-SVN: r25777
1999-03-15 02:25:01 -07:00
Kaveh R. Ghazi
a4d3481dce fold-const.c (exact_real_inverse): Move variable `float_error' into the scope where it is used.
* fold-const.c (exact_real_inverse): Move variable `float_error'
        into the scope where it is used.
        (const_binop_1): New static function.
        (cb_args): New struct.
        (const_binop): Use them in call to `do_float_handler'.
        (fold_convert_1): New static function.
        (fc_args): New struct.
        (fold_convert): Use them in call to `do_float_handler'.

From-SVN: r25776
1999-03-15 05:30:02 +00:00
Jason Merrill
c83857f92f * call.c (add_function_candidate): Fix uninitialized variable.
From-SVN: r25775
1999-03-14 23:17:26 -05:00
Michael Hayes
2dfa9a87f6 rtlanal.c (auto_inc_p): New function.
* rtlanal.c (auto_inc_p): New function.
        * rtl.h (auto_inc_p): Prototype it.
	* reload1.c (add_auto_inc_notes): New function.
	(reload): Strip REG_INC notes and call add_auto_inc_notes
	for each insn to restore them correctly.

From-SVN: r25774
1999-03-15 01:52:49 +00:00
Manfred Hollstein
7ae575286e Makefile.in (procopen.o): List the actual dependencies.
8
	* fixinc/Makefile.in (procopen.o): List the actual
	dependencies.

From-SVN: r25773
1999-03-15 01:34:02 +00:00
Manfred Hollstein
66d3ddbcb0 Makefile.in (procopen.o): List the actual dependencies.
�
	* fixinc/Makefile.in (procopen.o): List the actual
	dependencies.

From-SVN: r25772
1999-03-15 01:33:59 +00:00
Jeff Law
29489a7cec Daily bump.
From-SVN: r25771
1999-03-14 17:45:02 -07:00
Zack Weinberg
47035bb8d2 More tests for uninitialized variable warnings
From-SVN: r25770
1999-03-14 20:19:03 +00:00
Jason Merrill
43f856efc5 * Makefile.in (search.o): Add dependency on varray.h.
From-SVN: r25769
1999-03-14 12:43:56 -05:00
Kaveh R. Ghazi
1a87eea220 cse.c (check_fold_consts): New static function.
* cse.c (check_fold_consts): New static function.
        (cfc_args): New struct.
        (simplify_relational_operation): Use them in call to
        `do_float_handler'.
        * toplev.c (do_float_handler): New function to wrap calls to
        setjmp/set_float_handler.
        * toplev.h (do_float_handler): Add extern prototype.
        * tree.c (build_real_from_int_cst_1): New static function.
        (brfic_args): New struct.
        (build_real_from_int_cst): Use them in call to
        `do_float_handler'.

From-SVN: r25768
1999-03-14 14:02:10 +00:00
Zack Weinberg
c2b2e00004 New test, for spurious "variable may be clobbered by longjmp' or vfork'"
warnings.

From-SVN: r25765
1999-03-14 09:18:03 +00:00
Jason Merrill
407f03b8d7 decl.c (duplicate_decls): Use same_type_p.
* decl.c (duplicate_decls): Use same_type_p.
	* method.c (try_old_backref): Renamed from flush_repeats.  Use
	same_type_p.  Don't try to handle repeats.  Return success.
	(is_back_referenceable_type): Return 0 if TYPE_FOR_JAVA.  Support
	calls from old-style code, too.
	(check_ktype): Use same_type_p.
	(check_btype): Use same_type_p.  Don't pull out TYPE_MAIN_VARIANT.
	(build_qualified_name): Simplify logic.
	(build_mangled_name_for_type_with_Gcode): Remove call to
	type_canonical_variant.
	(process_overload_item): Strip typedefs and quals at the top.
	(build_mangled_name): Likewise.  Remove support for old-style
	repeats, which have been disabled since 2.7.2.  Don't mess with
	TREE_USED.
	(build_decl_overload_real): Don't mess with TREE_USED.

From-SVN: r25758
1999-03-13 20:29:36 -05:00
Jeffrey A Law
54206178b9 Bump for snapshot
From-SVN: r25756
1999-03-13 18:15:11 -07:00
Jeff Law
0b09181cf1 Daily bump.
From-SVN: r25755
1999-03-13 17:46:04 -07:00
Per Bothner
b911df1226 lex.c (java_read_char): UNGET invalid non-initial utf8 character.
�
	* lex.c (java_read_char):  UNGET invalid non-initial utf8 character.
	* lex.h (UNGETC):  Change misleading macro.

From-SVN: r25754
1999-03-13 11:21:39 -08:00
Per Bothner
45ec036eed lex.c (java_read_char): UNGET invalid non-initial utf8 character.
h
	* lex.c (java_read_char):  UNGET invalid non-initial utf8 character.
	* lex.h (UNGETC):  Change misleading macro.

From-SVN: r25753
1999-03-13 11:21:38 -08:00
Richard Henderson
b452ec852d * haifa-sched.c (sched_analyze_1): Only clear reg_last_uses on a SET.
From-SVN: r25752
1999-03-13 09:38:17 -08:00
Craig Burley
98941e0190 More g77 tests
From-SVN: r25751
1999-03-13 10:33:56 -05:00
Craig Burley
bf1fc7622a Update NEWS derived file
From-SVN: r25747
1999-03-13 10:15:07 -05:00
Craig Burley
f8e1d0a169 Fix INTEGER*8 conversion bugs
From-SVN: r25746
1999-03-13 10:14:29 -05:00
Craig Burley
fe3ab6bd3f New g77 tests
From-SVN: r25745
1999-03-13 09:45:03 -05:00
Craig Burley
57544c29d5 Update BUGS, INSTALL, NEWS derived files
From-SVN: r25744
1999-03-13 07:17:46 -05:00
Craig Burley
51efa892bf Improve g77 doc infrastructure
From-SVN: r25743
1999-03-13 07:04:03 -05:00
Richard Earnshaw
4b632bf12c arm.c (arm_split_constant): Don't try to force a constant to memory after arm_reorg has run.
* arm.c (arm_split_constant): Don't try to force a constant to
memory after arm_reorg has run.
(after_arm_reorg): New static variable.
(arm_reorg): Set it.
(output_func_epilogue): Clear it.

From-SVN: r25742
1999-03-13 11:40:25 +00:00
Nathan Sidwell
4995028c82 error.c (cp_printers): Add 'F' escape character.
* error.c (cp_printers): Add 'F' escape character.
	(dump_type_real): Remove TREE_LIST (fnargs) printing.
	Functionality moved to dump_parameters.
	(dump_type_suffix): Use dump_parameters and dump_exception_spec.
	(dump_function_decl): Extend meaning of V parameter. Use
	dump_parameters and dump_exception_spec.
	(dump_parameters): New static function.
	(dump_exception_spec): New static function.
	(fndecl_as_string): Change argument semantics. Use
	dump_function_decl directly.
	* sig.c (build_signature_table_constructor): Use cp_error.

From-SVN: r25741
1999-03-12 20:49:14 -05:00
Martin v. Löwis
0db982bee5 semantics.c (finish_switch_cond): Handle error cases gracefully.
* semantics.c (finish_switch_cond): Handle error cases gracefully.
        Detected by g++.law/enum5.C
        * typeck.c (build_modify_expr): Check for errors after resolving
        offsets. Detected by g++.brendan/static1.C
        * decl.c (complete_array_type): Ignore initial_value if it is an
        error. Detected by g++.benjamin/17930.C
        * typeck2.c (process_init_constructor): Return error if one argument
        is in error. Detected by g++.benjamin/13478.C

From-SVN: r25740
1999-03-13 01:16:36 +00:00
Jeff Law
db7695ef3e Daily bump.
From-SVN: r25739
1999-03-12 17:45:03 -07:00
Martin v. Löwis
55991d4f52 New test case.
From-SVN: r25738
1999-03-12 23:18:32 +00:00
Martin v. Löwis
c592d5d258 decl.c (select_decl): Allow class templates when we need types.
* decl.c (select_decl): Allow class templates when we need types.
        * decl2.c (ambiguous_decl): Likewise.

From-SVN: r25737
1999-03-12 23:17:05 +00:00