Commit Graph

28563 Commits

Author SHA1 Message Date
Richard Kenner
3bdf5ad138 Makefile.in (c-decl.o): Depend on rtl.h and expr.h.
* Makefile.in (c-decl.o): Depend on rtl.h and expr.h.
	* alias.c (struct alias_entry): alias_set is HOST_WIDE_INT.
	(REG_BASE_VALUE): Remove unneeded cast to unsigned.
	(get_alias_set_entry): ALIAS_SET arg is HOST_WIDE_INT.
	(find_base_decl): New function, from c_find_base_decl in c-common.c.
	(new_alias_set): Moved from tree.c; return is HOST_WIDE_INT.
	(get_alias_set): Likewise.
	Major rework to do more things and allow language-specific code
	to just handle special-cases.
	(record_alias_subset): Args are HOST_WIDE_INT.
	(record_component_alias): Local vars are HOST_WIDE_INT.
	Don't handle COMPLEX_EXPR.
	(get_varargs_alias_set): Moved from builtins.c.
	(get_frame_alias_set): New function.
	* builtins.c (expand_builtin_return_address): Use frame alias set.
	(expand_builtin_setjmp, expand_builtin_longjmp): Use alias set
	for setjmp buffer.
	(get_memory_rtx): Rework to use set_mem_attributes.
	(get_varargs_alias_set): Deleted from here.
	* c-common.c (c_apply_type_quals_to_decl): Alias sets now HOST_WIDE_INT.
	(c_find_base_decl): Deleted from here.
	(c_get_alias_set): Remove many cases and rework to just handle
	C-specific cases.
	* c-common.h (c_get_alias_set): Returns HOST_WIDE_INT.
	* c-decl.c (rtl.h, expr.h): Now included.
	(init_decl_processing): Call record_component_aliases on array types.
	(grokdeclarator): Likewise.
	Set TREE_ADDRESSABLE for all fields that are not bitfields.
	* c-typeck.c (common_type): Call record_component_aliases for array.
	* caller-save.c (setup_save_areas): Rework register loop for unsigned.
	Set all save areas to the frame alias set.
	* calls.c (initialie_argument_information): Call set_mem_attributes.
	(compute_argument_addresses, expand_call): Likewise.
	* explow.c (set_mem_attributes): New function.
	(stabilize): Use MEM_COPY_ATTRIBUTES and force_reg.
	* expr.c (struct move_by_pieces): Remove {to,from}_{struct,readonly}.
	LEN and OFFSET now HOST_WIDE_INT.
	(clear_by_pieces): Similar changes.
	(move_by_pieces): LEN now HOST_WIDE_INT; don't set deleted fields.
	(move_by_pieces_ninsns): Now returns unsigned HOST_WIDE_INT.
	(move_by_pieces_1): Don't use deleted fields, use MEM_COPY_ATTRIBUTES.
	(clear_by_pieces_1): Likewise.
	(emit_push_insn): Call set_mem_attributes.
	(expand_expr, case INDIRECT_REF): Likewise.
	(expand_expr, case VAR_DECL): Call change_address.
	* expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE): Use host_integerp and
	tree_low_cst.
	(get_varargs_alias_set, get_frame_alias_set): New decls.
	(record_base_value, record_alias_subset, lang_get_alias_set): Likewise.
	(new_alias_set, set_mem_attributes): Likewse.
	* function.c (struct temp_slot): ALIAS_SET is HOST_WIDE_INT.
	(assign_stack_temp_for_type): Likewise.
	Can split slot even if alias set since can copy.
	Set MEM_ALIAS_SET and MEM_SET_IN_STRUCT_P.
	(assign_temp): Use host_integerp and tree_low_cst.
	(put_var_into_stack): Properly handle SAVE_EXPR.
	(put_addressof_into_stack): Likewise.
	(assign_parms): Call set_mem_attributes.
	Delete #if 0 code.
	(fix_lexical_address): Put reference to chain into frame alias set.
	(expand_function_start): Call set_mem_attributes.
	* integrate.c (expand_inline_function): Likewise.
	* recog.c (adj_offsettable_operand): Use MEM_COPY_ATTRIBUTES.
	* regmove.c (try_apply_stack_adjustment): Likewise.
	* reload.c (push_reload, make_memloc): Likewise.
	* reload1.c (alter_reg): Make alias sets for spilled pseudos.
	* rtl.def (MEM): Update comment.
	* rtl.h (MEM_ALIAS_SET): Now uses XCWINT.
	(move_by_pieces): Change length to HOST_WIDE_INT.
	(record_base_value, record_alias_subset): Delete from here.
	* stmt.c (expand_decl): Call set_mem_attributes.
	* stor-layout.c (finish_record_layout): Call record_component_aliases.i
	* toplev.c (compile_file): Call init_alias_once earlier.
	* tree.c (lang_get_alias_set, get_alias_set, new_alias_set): Deleted
	from here: now in alias.c.
	* tree.h (struct tree_type): alias_set is HOST_WIDE_INT.
	(struct tree_decl): Likewise.
	(get_alias_set, new_alias_set, lang_get_alias_set): Deleted from here.
	* varasm.c (make_function_rtl, make_decl_rtl): Call set_mem_attributes.
	(output_constant_def, force_const_mem): Likewise.
	* cp/Makefile.in (decl.o): Include ../expr.h.
	* cp/decl.c (expr.h): Include.
	(init_decl_processing): Call record_component_aliases for arrays.
	(grokdeclarator): Likewise.
	Set TREE_ADDRESSABLE for fields that aren't bitfields.
	* cp/tree.c (build_cplus_array_type_1): Call record_component_aliases.

From-SVN: r34305
2000-05-31 14:37:31 -04:00
Richard Henderson
99923eedd0 * configure.in: Fix typo last change.
From-SVN: r34304
2000-05-31 11:10:28 -07:00
Philipp Thomas
dc6746e723 configure.in (enable-nls): Enable if build == host, i.e.
gcc:
	* configure.in (enable-nls): Enable if build == host, i.e. when
	not building a canadian cross compiler.
	(enable-maintainer-mode): Added for use with i18n.
	* aclocal.m4 (AM_GNU_GETTEXT): Only build catalogs that are a
	cross section of ALL_LINGUAS and LINGUAS.
	* configure: Rebuild.

gcc/po:
	* Makefile.in.in: Create compiled catalogs in objdir, not
	srcdir. Create gcc.pot and cat-tbl-id.c only in maintainer
	mode.
	* gcc.pot: Generated and checked in.
	* cat-tbl-id.c: Generated and checked in.
	* stamp-cat-id: Generated and checked in.

From-SVN: r34303
2000-05-31 17:46:30 +00:00
Mark Mitchell
6bbf1598b6 decl.c (build_cp_library_fn): Set DECL_CONTEXT.
* decl.c (build_cp_library_fn): Set DECL_CONTEXT.

	* method.c (mangle_expression): Adjust test for legal expression
	operators.

	* pt.c (instantiate_decl): Save and restore the local
	specializations list.

From-SVN: r34302
2000-05-31 16:39:19 +00:00
Bruce Korb
1b813bfea4 change invocation of check script for fixinc
From-SVN: r34301
2000-05-31 15:03:41 +00:00
Bruce Korb
5b6b4000b8 modified test results
From-SVN: r34300
2000-05-31 14:44:35 +00:00
Bruce Korb
6bb88b679d rework "make check" for fixincl
From-SVN: r34299
2000-05-31 14:29:55 +00:00
Bruce Korb
5d7d28c265 rework "make check" for fixinc
From-SVN: r34298
2000-05-31 14:26:57 +00:00
Philippe De Muyter
231a2828e1 * except.c (clear_function_eh_region): Do not free NULL.
From-SVN: r34297
2000-05-31 12:37:38 +00:00
Richard Kenner
8c41041620 flow.c (propagate_block): If block has no successors, stores to frame are dead if not used.
* flow.c (propagate_block): If block has no successors, stores to
	frame are dead if not used.

From-SVN: r34296
2000-05-31 07:58:35 -04:00
Richard Kenner
efd5878344 tree.h (TREE_CODE_LENGTH): New macro.
* tree.h (TREE_CODE_LENGTH): New macro.
	* c-common.c (c_find_base_decl): Use it.
	* expr.c (safe_from_p): Likewise.
	* print-tree.c (print_node): Likewise.
	* tree.c (make_node, copy_node, get_identifier): Likewie.
	(first_rtl_op, contains_placeholder_p, substitute_in_expr): Likewise.
	(build, build_nt, build_parse_node, simple_cst_equal): Likewise.
	* fold-const.c (make_range): Likewise.
	(fold): Likewise; also use first_rtl_op.
	* c-iterate.c (collect_iterators): Use first_rtl_op.
	* calls.c (calls_function_1): Likewise; also rename TYPE to CLASS.
	Use IS_EXPR_CODE_CLASS.
	(preexpand_calls): Likewise.
	* ggc-common.c (ggc_mark_trees): Rework to use first_rtl_op
	and TREE_CODE_LENGTH.
	* stmt.c (warn_if_unused_value): If no operands, no unused value.
	* ch/lang.c (deep_const_expr): Use first_rtl_op.
	* ch/satisfy.c (satisfy): Use TREE_CODE_LENGTH.
	* cp/method.c (mangle_expression): Use TREE_CODE_LENGTH.
	* cp/tree.c (break_out_calls, build_min_nt): Use TREE_CODE_LENGTH.
	(built_min, cp_tree_equal): Likewise.

From-SVN: r34295
2000-05-31 07:55:53 -04:00
Richard Kenner
d067e2aae0 Add blank line
From-SVN: r34294
2000-05-31 07:50:44 -04:00
Richard Kenner
f127474185 Fix formatting of comment
From-SVN: r34293
2000-05-31 07:46:10 -04:00
Andrew Cagney
0b72c3df6b Add field ``name'' to floatformat.
From-SVN: r34292
2000-05-31 11:00:54 +00:00
Nathan Sidwell
ecc9dd932a stmt (expand_end_case): Reorder conversion sequence for jump table to avoid extra truncations.
* stmt (expand_end_case): Reorder conversion sequence for jump
	table to avoid extra truncations.

From-SVN: r34291
2000-05-31 10:57:19 +00:00
Jason Merrill
ce7715bdb8 * decl.c (grok_reference_init): Pass LOOKUP_ONLYCONVERTING.
From-SVN: r34290
2000-05-31 04:14:29 -04:00
Jason Merrill
d2474533e1 new
From-SVN: r34289
2000-05-31 04:14:17 -04:00
Jeff Law
6fbc37cc6f Daily bump.
From-SVN: r34288
2000-05-31 01:45:08 -06:00
Jeffrey A Law
2bc631143e ifcvt.c (cond_exec_process_if_block): Do nothing if the last insn in the block is more than just a simple conditional...
* ifcvt.c (cond_exec_process_if_block): Do nothing if the last insn
        in the block is more than just a simple conditional branch.
        (noce_process_if_block): Similarly.

From-SVN: r34287
2000-05-31 01:33:02 -06:00
Mark Mitchell
71a1988124 call.c (add_template_candidate_real): Handle member template constructors for classes with virtual bases.
* call.c (add_template_candidate_real): Handle member template
	constructors for classes with virtual bases.
	(build_user_type_conversion_1): Use in_charge_arg_for_name.
	(build_new_method_call): Use DECL_NONSTATIC_MEMBER_FUNCTION_P.

	* ir.texi: Update thunk documentation.

From-SVN: r34284
2000-05-31 06:53:04 +00:00
Alexandre Oliva
885e80cc8a optabs.c (prepare_float_lib_cmp): Protect *px and *py from queue.
* optabs.c (prepare_float_lib_cmp): Protect *px and *py from
	queue.

From-SVN: r34283
2000-05-30 22:27:56 -06:00
Michael Meissner
ab577d8a3d Allow HIGH/LO_SUM in the prologue
From-SVN: r34281
2000-05-31 01:36:58 +00:00
Richard Henderson
d3bc89386d * combine.c (get_pos_from_mask): Test exact_log2 result as signed.
From-SVN: r34280
2000-05-30 17:44:06 -07:00
Tom Tromey
efc7058478 name-finder.h: Include <sys/wait.h>.
* include/name-finder.h: Include <sys/wait.h>.
	(_Jv_name_finder::pid): Now of type `pid_t'.
	(_Jv_name_finder::~_Jv_name_finder): Call waitpid().
	* java/lang/Throwable.java (CPlusPlusDemangler.close): Call
	`proc.waitFor()'.

From-SVN: r34279
2000-05-30 23:26:02 +00:00
Jeff Law
270cea065e * Makefile.in (objalloc.o): Depend on config.h
From-SVN: r34277
2000-05-30 15:07:43 -06:00
Jeff Law
e483d5cc05 * Makefile.in (objalloc.o): Depend on config.h
From-SVN: r34275
2000-05-30 15:06:31 -06:00
Richard Henderson
48b710ddb7 * bb-reorder.c (emit_jump_to_block_after): Protect use of HAVE_return.
From-SVN: r34274
2000-05-30 14:02:06 -07:00
Bruce Korb
7ae2112bd2 restore old algorighm for char_macro_*_fix routines
From-SVN: r34273
2000-05-30 20:55:50 +00:00
Jeff Law
fc84333959 Split the ChangeLog
From-SVN: r34272
2000-05-30 14:50:33 -06:00
Bruce Korb
22e50c5bb9 restore old algorighm for char_macro_*_fix routines
From-SVN: r34271
2000-05-30 20:24:44 +00:00
Bruce Korb
26e903eefb diff of diff does not work well, so use expected test result files
From-SVN: r34270
2000-05-30 19:41:37 +00:00
Mark Mitchell
54ae96de89 * call.c (joust): Fix handling of overloaded builtin operators.
From-SVN: r34269
2000-05-30 17:39:59 +00:00
Richard Henderson
28ecb7ab47 alpha.md (*setne_internal): Use match_operator instead of working down from insn.
* config/alpha/alpha.md (*setne_internal): Use match_operator
        instead of working down from insn.

From-SVN: r34268
2000-05-30 08:52:03 -07:00
Zack Weinberg
935d1834f1 cp-tree.h (DECL_ANTICIPATED): New macro.
* cp-tree.h (DECL_ANTICIPATED): New macro.
	Document new use of DECL_LANG_FLAG_7.
	* decl.c (builtin_function): Set DECL_ANTICIPATED on builtins
	in the user namespace.
	* lex.c (do_identifier): If the identifier's declaration has
	DECL_ANTICIPATED on, it has not yet been declared.  But do not
	replace it with an ordinary implicit declaration.

	* tinfo2.cc: Include stdlib.h.

From-SVN: r34267
2000-05-30 15:44:20 +00:00
Philipp Thomas
7758b73fae * MAINTAINERS: Add self as i18n maintainer
From-SVN: r34266
2000-05-30 14:46:26 +00:00
Kaveh R. Ghazi
7f094a9477 * invoke.texi (-Wtraditional): Update WRT function macros.
From-SVN: r34265
2000-05-30 14:37:22 +00:00
Jason Merrill
4003d7f9e6 update explicit instantiation docs
From-SVN: r34264
2000-05-30 04:47:25 -04:00
Philippe De Muyter
d3a36404ba * except.c (free_exception_table): Do not free NULL.
From-SVN: r34263
2000-05-30 07:58:30 +00:00
Jeff Law
79368e3fe2 Daily bump.
From-SVN: r34262
2000-05-30 01:45:07 -06:00
Richard Henderson
4cb1433cad Document FUNCTION_OK_FOR_SIBCALL.
From-SVN: r34261
2000-05-29 23:12:37 -07:00
Zack Weinberg
37dbf7aa9c cpplib.c (do_if): Don't save and restore only_seen_white here.
* cpplib.c (do_if): Don't save and restore only_seen_white here.
	* cppexp.c (_cpp_parse_expr): Save and restore only_seen_white
	and skipping here.

From-SVN: r34260
2000-05-30 02:40:48 +00:00
Richard Earnshaw
6a3dbe6543 flow.c (mark_used_reg): If a register is unconditionally live, remove any conditional death information.
* flow.c (mark_used_reg): If a register is unconditionally live,
remove any conditional death information.

From-SVN: r34259
2000-05-29 22:37:37 +00:00
Richard Henderson
b1a9f6a07a final.c (current_output_insn): New.
* final.c (current_output_insn): New.
        (final_scan_insn): Set it.
        * output.h: Declare it.

From-SVN: r34258
2000-05-29 15:02:42 -07:00
Richard Henderson
c5daf9c4e9 * stor-layout.c (finalize_record_size): Fix typo.
From-SVN: r34257
2000-05-29 14:46:43 -07:00
Richard Henderson
5cb7d6b405 jump.c (redirect_jump): Don't emit NOTE_INSN_FUNCTION_END if nlabel is null.
* jump.c (redirect_jump): Don't emit NOTE_INSN_FUNCTION_END
        if nlabel is null.

From-SVN: r34256
2000-05-29 14:39:55 -07:00
Zack Weinberg
4e2c85f6d2 concatstr.c, exh.c: Include stdlib.h and string.h.
* concatstr.c, exh.c: Include stdlib.h and string.h.
	* delaycase.c, eqstr.c, memmove.c, printbuffer.c,
	printevent.c, sendbuffer.c, waitbuffer.c: Include string.h.

From-SVN: r34255
2000-05-29 19:34:51 +00:00
Zack Weinberg
d11ec6f0d9 hashtab.c, [...]: Include string.h if HAVE_STRING_H.
* hashtab.c, partition.c, sort.c, xmemdup.c: Include string.h
	if HAVE_STRING_H.
	* pexecute.c, xexit.c: Include stdlib.h if HAVE_STDLIB_H.
	* objalloc.c: Include config.h.  Include stdlib.h and don't
	declare malloc or free if HAVE_STDLIB_H.
	* strerror.c, strsignal.c: Include stdlib.h if HAVE_STDLIB_H,
	else declare malloc without prototype.  Include string.h if
	HAVE_STRING_H, else declare memset without prototype.  Don't
	include stddef.h.

From-SVN: r34254
2000-05-29 19:33:52 +00:00
Zack Weinberg
ea4a453b89 cpplib.h (cpp_reader): Remove if_stack.
* cpplib.h (cpp_reader): Remove if_stack.  Change
	potential_control_macro to a cpp_hashnode *.  Add skipping flag.
	* cpphash.h (struct ihash): Change control_macro to a
	cpp_hashnode * and shorten name to cmacro.
	Add NEVER_REINCLUDE constant.

	* cppfiles.c (redundant_include_p): Drop cpp_reader argument.
	Examine the cmacro node directly, no need to call cpp_defined.
	(_cpp_execute_include, read_include_file): Set cmacro to
	NEVER_REINCLUDE, not U"".
	* cpplex.c (cpp_push_buffer): Don't set new->if_stack.
	(cpp_get_token): If pfile->skipping is true, discard text and
	keep scanning until we hit a directive; don't expand macros.

	* cpplib.c (struct if_stack): Remove if_succeeded, add
	was_skipping. Change control_macro to a cpp_hashnode * and
	shorten name to cmacro.  Remove typedef IF_STACK.
	(parse_ifdef), detect_if_not_defined): Return a cpp_hashnode *.
	(conditional_skip, skip_if_group,
	consider_directive_while_skipping): Delete.
	(push_conditional): New.
	(_cpp_handle_directive): Don't process directives other than
	conditionals if we are skipping.

	(do_ifdef, do_ifndef, do_if, do_else, do_elif, do_endif):
	Update to new scheme.
	(validate_else): Skip rest of line here, unconditionally.
	(_cpp_unwind_if_stack): The stack is per-buffer.  Force
	pfile->skipping off.

	(all): Remove `scare quotes' from error messages.

	* gcc.dg/cpp-mi.c: Add another case, cpp-mix.h, where the
	guard macro is already defined when the header is first
	included.
	* gcc.dg/cpp-mix.h: New file.
	* gcc.dg/endif-label.c: Update patterns to match compiler.

	* g++.brendan/complex1.C: Declare abort.
	* g++.law/refs4.C: Remove XFAIL.
	* g++.oliva/expr2.C: Declare abort and exit.

From-SVN: r34253
2000-05-29 16:19:32 +00:00
Mark Mitchell
1b50716d21 cp-tree.h (CLASSTYPE_ALIGN_UNIT): New macro.
* cp-tree.h (CLASSTYPE_ALIGN_UNIT): New macro.
	* class.c (layout_empty_base): Use CLASSTYPE_ALIGN_UNIT, not
	CLASSTYPE_ALIGN.

From-SVN: r34252
2000-05-29 15:35:06 +00:00
Richard Henderson
86c8265412 function.c (emit_return_into_block): New line_note arg; emit it.
* function.c (emit_return_into_block): New line_note arg; emit it.
        (thread_prologue_and_epilogue_insns): Attempt to locate a line note
        for the close brace to accompany HAVE_return.  Move all line notes
        following the epilogue to before the NOTE_INSN_EPILOGUE_BEG.

From-SVN: r34251
2000-05-29 01:18:30 -07:00