Commit Graph

20593 Commits

Author SHA1 Message Date
Per Bothner
f2693f2f85 check-init.c (check_bool2_init, [...]): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR.
�
	* check-init.c (check_bool2_init, check_bool_init, check_init):
	Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR.
	* jcf-write.c (generate_bytecode_insns):  Likewise.

From-SVN: r24900
1999-01-28 08:40:56 -08:00
Per Bothner
81f4eddded check-init.c (check_bool2_init, [...]): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR.
�
	* check-init.c (check_bool2_init, check_bool_init, check_init):
	Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR.
	* jcf-write.c (generate_bytecode_insns):  Likewise.

From-SVN: r24899
1999-01-28 08:40:54 -08:00
J"orn Rennecke
f56246bec4 loop.c (strength_reduce): Grow set_in_loop / n_times_set / may_not_optimize to proper size when...
* loop.c (strength_reduce): Grow set_in_loop / n_times_set /
	may_not_optimize to proper size when converting biv increments
	into givs.
	If necessary, reallocate reg_iv_type / reg_iv_info before calling
	recombine_givs.

From-SVN: r24898
1999-01-28 16:19:58 +00:00
Michael Meissner
07b1b0304a add new test
From-SVN: r24897
1999-01-28 16:05:21 +00:00
Joern Rennecke
5e5c976894 Happy new year.
From-SVN: r24896
1999-01-28 15:36:05 +00:00
J"orn Rennecke
53dc05e435 loop.c (recombine_givs): New parameter unroll_p.
* loop.c (recombine_givs): New parameter unroll_p.  If set, don't
	generate complex adds.  Changed caller.
	Don't generate adds that cost more than the original one.
	(strength_reduce): Warning fixes.

From-SVN: r24895
1999-01-28 15:28:14 +00:00
Jason Merrill
c7a932b1cf cp-tree.h (struct tree_binding): Replace scope field with a union.
* cp-tree.h (struct tree_binding): Replace scope field with a union.
	(BINDING_SCOPE): Adjust.
	* decl.c (BINDING_LEVEL): Adjust.

From-SVN: r24894
1999-01-28 04:47:48 -05:00
Jeffrey A Law
661c790959 configure.in (hppa1.0-hp-hpux10*): Use t-pa.
* configure.in (hppa1.0-hp-hpux10*): Use t-pa.
        * configure: Rebuilt.

From-SVN: r24892
1999-01-28 01:46:11 -07:00
Jeff Law
e26658272c Daily bump.
From-SVN: r24891
1999-01-27 17:45:02 -07:00
Richard Henderson
39157bcc1d Move `normal_memory_operand' from gcc2 merge into the operand
predicates section of the file.

From-SVN: r24890
1999-01-27 09:54:45 -08:00
J"orn Rennecke
3ec2b59097 rtl.h (insn_first_p): Declare.
* rtl.h (insn_first_p): Declare.
	* rtlanal.c (insn_first_p): New function.
	* loop.h (varray.h): Include.
	(struct induction): Change combined_with to unsigned.
	New members derived, ix and last_use.
	(reg_iv_type, reg_iv_info): Now varray_type.  All references changed.
	(REG_IV_TYPE, REG_IV_INFO): Define.
	(first_increment_giv, last_increment_giv): Declare.
	* loop.c (loop_number_loop_cont): New static variable.
	(loop_number_cont_dominator): Likewise.
	(reg_iv_type, reg_iv_info): Now varray_type.
	(first_increment_giv, last_increment_giv): New variables.
	(compute_luids, verify_dominator, find_life_end): New functions.
	(cmp_recombine_givs_stats, recombine_givs): Likewise.
	(loop_optimize): Allocate loop_number_loop_cont and
	loop_number_cont_dominator.  Use compute_luids.
	(find_and_verify_loops): Initialize loop_number_loop_cont and
	loop_number_cont_dominator.
	(strength_reduce): Try to find bivs that can be expressed as givs
	of another biv, and to convert biv increments into givs.
	Call recombine_givs.  Handle derived givs.
	(record_biv): New argument location.  All callers changed.
	(record_giv): Initialize derived and last_use fields.
	(basic_induction_var): New argument location.  All callers changed.
	(combine_givs): Don't combine a DEST_REG giv with a DEST_ADDR giv.
	Increment combined_with instead of setting to 1.
	* unroll.c (derived_regs): New static variable.
	(unroll_loop): Initialize it.
	Allocate local_regno according to max_reg_num.
	(copy_loop_body): Cope with derived givs.
	(find_splittable_givs): Check for Givs made from biv increments.
	Set derived_regs for givs.
	* Makefile.in (stmt.o, loop.o, unroll.o): Depend on loop.h .

From-SVN: r24889
1999-01-27 15:45:50 +00:00
Michael Meissner
a9c70c2226 Add new test
From-SVN: r24888
1999-01-27 11:49:36 +00:00
J"orn Rennecke
d91dfff4d1 function.c (purge_addressof_1): Handle case when a register has been used in a wider mode.
* function.c (purge_addressof_1): Handle case when a register
	has been used in a wider mode.

From-SVN: r24887
1999-01-27 11:35:30 +00:00
Michael Meissner
a1660badb6 Add new test
From-SVN: r24886
1999-01-27 10:02:24 +00:00
Dave Brolley
d5a06ad917 cpplib.h (cpp_notice): Add prototype.
Wed Jan 27 11:58:18 1999  Dave Brolley  <brolley@cygnus.com>
	* cpplib.h (cpp_notice): Add prototype.

From-SVN: r24884
1999-01-27 04:04:57 -05:00
Zack Weinberg
e45ed4de44 Remove trigraph in comment
From-SVN: r24881
1999-01-27 07:28:14 +00:00
Jeffrey A Law
ab87f8c8d1 Merge in gcc2 snapshot 19980929. See gcc/ChangeLog and gcc/FSFChangeLog for
details.

From-SVN: r24879
1999-01-26 18:43:17 -07:00
Richard Henderson
01b4cf2b7a rs6000.c (input_operand): Don't expect CONST around CONSTANT_P_RTX.
* rs6000.c (input_operand): Don't expect CONST around CONSTANT_P_RTX.
        * rs6000.md (movsi, movdi): Likewise.

From-SVN: r24877
1999-01-26 17:14:29 -08:00
Jeff Law
bdae211ac8 Daily bump.
From-SVN: r24876
1999-01-26 17:45:03 -07:00
Jason Merrill
94c82a77fd pt.c (instantiate_class_template): Set up the DECL_INITIAL of member constants.
* pt.c (instantiate_class_template): Set up the DECL_INITIAL of
	member constants.
g++.ns/template6.C
	* init.c (expand_member_init): Pull out TYPE_MAIN_VARIANT in
	a ctor initializer.
g++.other/typedef6.C

From-SVN: r24875
1999-01-26 15:23:36 -05:00
Jason Merrill
1b528097cd tweak formatting
From-SVN: r24874
1999-01-26 14:34:46 -05:00
Jason Merrill
eb686064ca add comments
From-SVN: r24873
1999-01-26 14:34:06 -05:00
Jim Wilson
ea0f9a859f Fix i960 build failure with unrecognizable insn.
* function.c (expand_function_end): Pass arg_pointer_save_area to
	validize_mem before using it.  Emit code into a sequence.

From-SVN: r24872
1999-01-26 05:34:42 -08:00
David Edelsohn
aa9bc2fc33 rs6000.md (doz + set cr and or + set cr patterns): Add missing '#' to split patterns.
* rs6000.md (doz + set cr and or + set cr patterns): Add missing
	'#' to split patterns.  Correct indentation of some new patterns.

From-SVN: r24871
1999-01-26 05:45:37 -05:00
Zack Weinberg
554fbeef31 cppfiles.c (safe_read): Deleted.
1999-01-26 12:11 -0500  Zack Weinberg  <zack@midnite.ec.rhno.columbia.edu>
	* cppfiles.c (safe_read): Deleted.
	(read_and_prescan): New function, replaces safe_read, converts
	and/or warns about trigraphs, silently converts odd line
	terminators (\r, \n\r, \r\n).  Warns about no newline at EOF.
	(finclude): Use read_and_prescan; turn off nonblocking mode on
	the input descriptor; remove file-size-examination and
	no-newline-at-EOF gunk which is	longer necessary; be more
	careful about checking that we've been handed a legitimate
	file to read (only real files, pipes, and ttys are acceptable).
	* cpplib.h (cpp_options): Rename no_trigraphs flag to
	`trigraphs' and invert its sense.
	(trigraph_table): Declare.
	(cpp_warning_with_line): Prototype.
	* cpplib.c: Remove all references to trigraph_pcp. Define
	trigraph_table; initialize it in initialize_char_syntax.  Open
	files in nonblocking mode.  s/no_trigraphs/trigraphs/
	throughout, and invert sense.  Put cpp_warning_with_line back
	in and export it.

From-SVN: r24870
1999-01-26 04:12:47 -05:00
Jason Merrill
0034cf7299 tree.c (equal_functions): Fix name in prototype.
* tree.c (equal_functions): Fix name in prototype.
	* decl.c (push_local_binding): Add FLAGS argument.
	(pushdecl, push_overloaded_decl): Pass it.
	* decl2.c (do_local_using_decl): Likewise.
	* cp-tree.h: Adjust prototype.
	* decl.c (poplevel): Fix logic.

From-SVN: r24869
1999-01-25 21:33:46 -05:00
Michael Hayes
4a6330ac06 c4x.h (COUNTER_REGS): New register class.
Tue Jan 26 23:21:49 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
	* config/c4x/c4x.h (COUNTER_REGS): New register class.
	* config/c4x/c4x.md (*rptb_init): Change constraints.
	(rptb_end): Emit alternate looping instructions if
	RC register not allocated for loop counter.
	(decrement_and_branch_on_count): Allow other registers
	for loop counter.

From-SVN: r24868
1999-01-26 02:33:29 +00:00
Jason Merrill
a06d48ef02 decl.c (push_local_binding): Also wrap used decls in a TREE_LIST.
* decl.c (push_local_binding): Also wrap used decls in a TREE_LIST.
	(poplevel): Handle that.  Fix logic for removing TREE_LISTs.
	(cat_namespace_levels): Don't loop forever.
Fixes 733Y14.
	* typeck.c (build_reinterpret_cast): Fix typo in duplicated test.

From-SVN: r24867
1999-01-25 19:50:29 -05:00
Jeff Law
9602dbfbf4 Daily bump.
From-SVN: r24866
1999-01-25 17:45:02 -07:00
Jason Merrill
a6ecf8b605 class.c (resolve_address_of_overloaded_function): Mark the chosen function used.
* class.c (resolve_address_of_overloaded_function): Mark the
	chosen function used.
	* call.c (build_call): Make sure that a function coming in has
	been marked used already.
	* decl.c (expand_static_init): Call mark_used instead of
	assemble_external.
	* except.c (call_eh_info, do_pop_exception, expand_end_eh_spec,
	alloc_eh_object, expand_throw): Likewise.
	* init.c (build_builtin_delete_call): Likewise.
	* rtti.c (call_void_fn, get_tinfo_fn, build_dynamic_cast_1,
	expand_si_desc, expand_class_desc, expand_ptr_desc, expand_attr_desc,
	expand_generic_desc): Likewise.

From-SVN: r24862
1999-01-25 15:43:21 -05:00
Martin v. Löwis
89ae2c8c42 tree.c (equal_functions): New function.
* tree.c (equal_functions): New function.
	(ovl_member): Call it.

From-SVN: r24861
1999-01-25 16:09:05 +00:00
Gerald Pfeifer
bdf32ae50a egcs_update: Use "if" instead of "&&".
* egcs_update: Use "if" instead of "&&".  Touch generated files
	only after the corresponding *.y files.

From-SVN: r24860
1999-01-25 14:10:10 +00:00
Zack Weinberg
f13eb63a42 cppexp.c: (struct arglist): Removed.
1999-01-25 14:26 -0500  Zack Weinberg  <zack@rabi.columbia.edu>
	* cppexp.c:
	    (struct arglist): Removed.
	    (parse_number): Use HOST_WIDE_INT for the accumulator.
	    Allow two `l' suffixes unless C89.  Clean up.  Make
	    static.
	    (parse_charconst): New function broken out of cpp_lex.
	    Code cleaned up drastically.  Don't use a token_buffer.
	    (token_buffer): Removed.
	    (cpp_lex): Don't call parse_number on a constant string.
	    Use parse_charconst.
	    (cpp_parse_expr): Properly handle an ERROR op returned by
	    cpp_lex.

From-SVN: r24859
1999-01-25 06:28:11 -05:00
Zack Weinberg
20dc736194 cpplib.c: Don't include signal.h, sys/times.h, or sys/resource.h.
1999-01-25 14:10 -0500  Zack Weinberg  <zack@rabi.phys.columbia.edu>
	* cpplib.c: Don't include signal.h, sys/times.h, or
	sys/resource.h. Don't declare localtime.
	(macroexpand): Handle special symbols here.
	(push_macro_expansion): Chop off the trailing '@ ' if possible
	here.
	(cpp_get_token): Don't do either of the above two things here.
	Move `string' label just after case '"' so that wide strings
	don't crash the preprocessor.

From-SVN: r24858
1999-01-25 06:23:01 -05:00
Andrew Haley
1b18747f2e except.c, [...] (expand_resume_after_catch): new function.
Mon Jan 25 17:39:19 1999  Andrew Haley  <aph@cygnus.com>
        * except.c, java-except.h (expand_resume_after_catch): new
        function.
        * expr.c (java_lang_expand_expr): call expand_resume_after_catch
        to branch back to main flow of control after a catch block.

From-SVN: r24857
1999-01-25 10:32:18 +00:00
Martin v. Löwis
3f7547f7c3 New test case.
From-SVN: r24854
1999-01-25 00:48:11 +00:00
Jeff Law
36b01134ff Daily bump.
From-SVN: r24853
1999-01-24 17:45:01 -07:00
Michael Meissner
4e1efdd38b Fixup changelog comment
From-SVN: r24852
1999-01-24 17:29:31 +00:00
David Edelsohn
75d3945933 Fix problems found by David Edelsohn I caused
From-SVN: r24851
1999-01-24 17:20:07 +00:00
Jason Merrill
081cc1f744 * cvt.c (cp_convert_to_pointer): Fix conversion of 0 to pmf.
From-SVN: r24850
1999-01-24 10:56:46 -05:00
Martin v. Löwis
347d73d708 decl.c (decls_match): Return 1 if old and new are identical.
1999-01-25  Martin von Loewis  <loewis@informatik.hu-berlin.de>
	* decl.c (decls_match): Return 1 if old and new are identical.
	(push_overloaded_decl): Set OVL_USED when PUSH_USING.

From-SVN: r24849
1999-01-24 15:38:44 +00:00
Jeffrey A Law
4a050cc23f stmt.c (stmt_loop_nest_empty): New function.
* stmt.c (stmt_loop_nest_empty): New function.
        * tree.h (stmt_loop_nest_empty): Declare it.

From-SVN: r24844
1999-01-24 00:24:00 -07:00
Jeffrey A Law
09554da93e rtl.def (CALL_PLACEHOLDER): New rtx code.
�
        * rtl.def (CALL_PLACEHOLDER): New rtx code.

From-SVN: r24843
1999-01-24 00:13:55 -07:00
Michael Hayes
50c3308739 Convert all direct memory references to use LO_SUM and remove machdep hack that used to do this.
Convert all direct memory references to use LO_SUM and remove machdep
hack that used to do this.
Sun Jan 24 21:24:43 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
	* config/c4x/c4x.c (c4x_emit_move_sequence, c4x_encode_section_info):
	New functions.
	(c4x_check_legit_addr): Remove USE and PLUS, allow
	LO_SUM, and disable SYMBOL_REF, LABEL_REF, and CONST cases.
	(c4x_legitimize_address): Penalise SYMBOL_REF, LABEL_REF, and
	CONST cases.  Add LO_SUM.
	(c4x_print_operand): Modified 'C' and 'R' cases for calls.
	Added 'U' case.  Remove dependence on SYMBOL_REF_FLAG.
	(c4x_print_operand_address): Handle LO_SUM.
	(c4x_scan_for_ldp): Delete.  Hooray!
	(c4x_process_after_reload): Remove call to c4x_scan_for_ldp.
	Split all insns.
	(c4x_immed_int_constant): Renamed from c4x_int_constant.  All callers
	changed.
	(c4x_immed_float_constant): Renamed from c4x_float_constant.  All
 	callers	changed.
	(c4x_T_constraint): Allow LO_SUM, disable SYMBOL_REF, LABEL_REF,
	and CONST.
	(c4x_U_constraint, symbolic_operand): New functions.
	(src_operand): Allow 'I' constants in HImode.  Allow LO_SUM,
	disable SYMBOL_REF, LABEL_REF, and CONST.
	(lsrc_operand, tsrc_operand): Call src_operand instead of
	general_operand.
	(c4x_operand_subword): Update comments.
	* config/c4x/c4x.c (TARGET_LOAD_ADDRESS): New macro.
	(LEGITIMATE_CONSTANT_P): Allow SYMBOL_REF, LABEL_REF, CONST,
	plus HIGH and LO_SUM for the C40.
	(ENCODE_SECTION_INFO): Define macro.
	(symbolic_operand, c4x_U_constraint, c4x_emit_move_sequence): New
	prototypes.
	(PREDICATE_CODES): Add symbolic_operand.
	* config/c4x/c4x.md (movqi, movgqf, movhi, movhi): Call
	c4x_emit_move_sequence.
	(floatunsqiqf2, fixuns_truncqfqi2): Rework emitted RTL
	to avoid symbol references.
	(all patterns with g constraint): Replace 'g' constraint with 'rIm'.
	(set_high): Renamed from set_high_use.
	(set_lo_sum): Renamed from set_ior_lo_use.
	(all call patterns): Make MEM explicit in call address operands.
	Modified output templates to use 'U' modifier.

From-SVN: r24842
1999-01-24 01:52:01 +00:00
Jeffrey A Law
4c1d5c872b Bump for snapshot
From-SVN: r24840
1999-01-23 18:15:09 -07:00
Jason Merrill
1f90179302 decl.c (start_function): Make member functions one_only on windows.
* decl.c (start_function): Make member functions one_only on windows.
	* decl2.c (import_export_decl): Likewise.
	* decl.c (grokdeclarator): Don't complain about implicit int in
	a system header.  Change same-name field check to not complain in
	a system header instead of within extern "C".

From-SVN: r24839
1999-01-23 19:59:21 -05:00
Jeff Law
c0e228490d Daily bump.
From-SVN: r24838
1999-01-23 17:45:03 -07:00
Kaveh Ghazi
9b318a74d7 Update copyrights for the last patch
From-SVN: r24837
1999-01-23 21:49:56 +00:00
Kaveh Ghazi
f573e6fc7f Update copyrights
From-SVN: r24836
1999-01-23 21:24:02 +00:00
Kaveh R. Ghazi
d4476be259 Warning fixes:
* Makefile.in (parse.o): Depend on $(CONFIG_H) and
        $(srcdir)/../system.h.
        (class.o): Depend on $(PARSE_H) and $(srcdir)/../output.h.
        (jcf-parse.o): Depend on $(srcdir)/../toplev.h.
        (jcf-write.o): Likewise.
        (jv-scan.o): Depend on $(CONFIG_H) and $(srcdir)/../system.h.
        (mangle.o): Depend on $(srcdir)/../toplev.h.
        (parse-scan.o): Depend on $(CONFIG_H) and $(srcdir)/../system.h.
        (zextract.o): Depend on $(CONFIG_H) and $(srcdir)/../system.h.
        * class.c: Include output.h and parse.h.
        (mangled_classname): Add the `const' keyword to a char*.
        (find_named_method): Hide unused function definition.
        (build_utf8_ref): Change type of variable `c' to unsigned char.
        Use ISALPHA/ISDIGIT instead of isalpha/isdigit.
        (build_class_ref): Add the `const' keyword to a char*.
        (layout_class_method): Remove unused variable `buf'.
        * decl.c (find_local_variable): Remove unused variable `rtl'.
        (pushdecl): Likewise for variables `different_binding_level' and
        `oldglobal'.
        (pushlevel): Mark parameter `unused' with ATTRIBUTE_UNUSED.
        (maybe_build_cleanup): Likewise for parameter `decl'.
        * except.c (expand_start_java_handler): Mark parameter `range'
        with ATTRIBUTE_UNUSED.
        * expr.c: Include except.h.
        (pop_type): Remove unused variable `i'.
        (pop_value): Likewise for variables `n_words' and `i'.
        (expand_java_arrayload): Likewise for variable `convert'.
        (java_lang_expand_expr): Likewise for variables `op0', `type',
        `mode', `unsignedp', `node' and `elements'.
        (expand_byte_code): Likewise for variables `prev_eh_ranges' and
        `eh_ranges'.
        (process_jvm_instruction): Add a `const' qualifier to a char*.
        * gjavah.c (output_directory): Add the `const' keyword to a char*.
        (temp_directory): Likewise.
        (print_c_decl): Likewise.
        (print_method_info): Likewise.
        (decode_signature_piece): Likewise.
        (print_mangled_classname): Likewise.
        * java-except.h: Provide prototypes for maybe_start_try,
        maybe_end_try and add_handler.
        * java-tree.h (mangled_classname): Add the `const' keyword to a char*.
        (parse_error_context): Likewise.  Also add ATTRIBUTE_PRINTF_2.
        (pushdecl_top_level, alloc_class_constant, unicode_mangling_length,
        init_expr_processing, push_super_field, init_class_processing,
        can_widen_reference_to, class_depth, verify_jvm_instructions,
        maybe_pushlevels, maybe_poplevels, process_jvm_instruction,
        set_local_type, merge_type_state, push_type, load_type_state,
        add_interface, find_in_current_zip, append_gpp_mangled_classtype,
        emit_unicode_mangled_name): Add prototypes.
        * jcf-dump.c (print_constant): Add the `const' keyword to a char*.
        (print_signature_type): Use ISDIGIT, not isdigit.
        (print_signature): Remove unused variable `j'.
        * jcf-io.c (jcf_filbuf_from_stdio): Cast the result of `fread' to
        int when comparing against one.
        * jcf-parse.c: Include toplev.h.
        * jcf-write.c: Likewise.  Don't include <string.h> or <sys/stat.h>.
        (localvar_free): Remove unused variable `i'.
        (generate_bytecode_conditional): Likewise for variable `kind'.
        * jv-scan.c: Include config.h and system.h.  Remove redundant
        OS header and gansidecl.h includes.
        (warning): Add the `const' keyword to a char*.  Also add
        ATTRIBUTE_PRINTF_1 to the prototype.  Check ANSI_PROTOTYPES, not
        __STDC__, when determining whether to use ANSI-isms.
        (fatal): Likewise.  Also add ATTRIBUTE_UNUSED.
        (xmalloc): Don't redundantly prototype here.
        (main): Remove unused parameter `envp'.  Also fix the arguments
        passed to function `fatal' to match the format specifier.
        * lang.c (java_tree_code_name): Add the `const' keyword to a char*.
        * mangle.c: Include toplev.h.
        (emit_unicode_mangled_name): Declare parameter `len'.
        * parse.y (parse_warning_context): Add the `const' keyword to a
        char*.  Also add ATTRIBUTE_PRINTF_2 to the prototype.  Check
        `ANSI_PROTOTYPES' not `__STDC__' for whether to use ANSI-isms.
        (issue_warning_error_from_context): Add the `const' keyword to
        a char*.
        (parse_error_context): Likewise.  Also check `ANSI_PROTOTYPES'
        not `__STDC__' for whether to use ANSI-isms.
        * typeck.c (incomplete_type_error): Mark parameters `value' and
        `type' with ATTRIBUTE_UNUSED.
        (parse_signature_type): Use ISDIGIT, not isdigit.
        * verify.c (check_pending_block): Add the `const' keyword to a char*.
        (verify_jvm_instructions): Likewise.  Remove unused variables
        `field_name' and `default_val'.
        * zextract.c: Include config.h and system.h.  Remove redundant
        OS header includes.
        * zipfile.h: Prototype `read_zip_archive'.

From-SVN: r24835
1999-01-23 20:47:03 +00:00