Commit Graph

28493 Commits

Author SHA1 Message Date
Richard Henderson
bc11d9b803 * c-decl.c (init_decl_processing): Set lang_get_alias_set first thing.
From-SVN: r34335
2000-06-01 02:44:37 -07:00
Richard Henderson
f3798d124f decl2.c (unsupported_options): Fix typo, make const.
* decl2.c (unsupported_options): Fix typo, make const.
        (lang_decode_option): Fix bsearch argument order.

From-SVN: r34334
2000-06-01 02:40:07 -07:00
Jeff Law
a0179c6b75 Daily bump.
From-SVN: r34333
2000-06-01 01:45:08 -06:00
Alexandre Petit-Bianco
152de06864 class.c (common_enclosing_context_p): New function.
2000-04-24  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* class.c (common_enclosing_context_p): New function.
	* java-tree.h (common_enclosing_context_p): Added prototype.
	* parse.h (INNER_ENCLOSING_SCOPE_CHECK): Relaxed test to allow
	classes sharing an outer context with the current instance.
	* parse.y (build_access_to_thisn): Fixed leading comment.
	(verify_constructor_super): New local `supper_inner'. Skip
	enclosing context argument in the case of inner class constructors.
	(patch_method_invocation): Insert proper context as second
	parameter to pure inner class constructor super invocations.

This fixes the Java PR #177.

From-SVN: r34332
2000-06-01 00:44:58 -07:00
Mark Mitchell
3aac3c2fd4 init.c (resolve_offset_ref): Remove check for TREE_ADDRESSABLE on FIELD_DECLs.
* init.c (resolve_offset_ref): Remove check for TREE_ADDRESSABLE
	on FIELD_DECLs.

From-SVN: r34331
2000-06-01 07:33:19 +00:00
Alexandre Petit-Bianco
cedea51000 re GNATS gcj/71 (failure to compile an interface method invocation on a sub-interface)
2000-04-05  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* jcf-write.c (generate_bytecode_insns): At invokation time,
	always relate an interface method to the type of its selector.

(Fix to the PR #71:
 http://sourceware.cygnus.com/ml/java-prs/1999-q4/msg00040.html)

From-SVN: r34330
2000-05-31 23:41:11 -07:00
Alexandre Petit-Bianco
92d8351549 parse.y (maybe_yank_clinit): New function.
2000-04-17  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * parse.y (maybe_yank_clinit): New function.
        (maybe_generate_pre_expand_clinit): Always link <clinit> at the
        end of the list of methods belonging to a class.
        (java_complete_expand_method): Check whether <clinit> is really
        necessary and expand it accordingly.

From-SVN: r34329
2000-05-31 22:54:26 -07:00
Benjamin Kosnik
64cdd351dd locale_facets.tcc (num_get<char>::_M_extract): Fix signage, exponent, and scientific formatting issues.
2000-05-31  Russell Davidson  <russell@ehess.cnrs-mrs.fr>

	* bits/locale_facets.tcc (num_get<char>::_M_extract): Fix signage,
	exponent, and scientific formatting issues.
	* testsuite/27_io/istream_extractor_arith.cc (test09): Add tests.

From-SVN: r34328
2000-06-01 02:55:30 +00:00
Branko Cibej
b2c62b3c64 limits_generic.h (numeric_limits<wchar_t>): Use WCHAR_MIN and WCHAR_MAX instead of WCHART_MIN and WCHART_MAX.
2000-05-31  Branko Cibej  <branko.cibej@hermes.si>

        * bits/limits_generic.h (numeric_limits<wchar_t>): Use WCHAR_MIN
        and WCHAR_MAX instead of WCHART_MIN and WCHART_MAX.

From-SVN: r34327
2000-06-01 01:36:14 +00:00
Richard Kenner
66dc580a1d cp-tree.h (c_get_alias_set): Deleted.
* cp-tree.h (c_get_alias_set): Deleted.
	* Makefile.in (decl.o): Include ../expr.h.
	* 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.
	* tree.c (build_cplus_array_type_1): Call record_component_aliases.

From-SVN: r34326
2000-05-31 21:16:52 -04:00
Richard Kenner
289c5b4547 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: r34325
2000-05-31 21:12:19 -04:00
Nathan Myers
149a0abf24 thanks.html: edit own credits
2000-05-31  Nathan Myers  <ncm@cantrip.org>

       * docs/thanks.html: edit own credits

From-SVN: r34324
2000-06-01 01:06:56 +00:00
Benjamin Kosnik
83bcda1e41 generic_shadow.h: Remaining _C_Shadow -> _C_shadow fix.
2000-05-31  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* bits/generic_shadow.h: Remaining _C_Shadow -> _C_shadow fix.

	* acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Add strtoull checks...

From-SVN: r34323
2000-06-01 01:01:34 +00:00
Benjamin Kosnik
209fe19b16 acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Add strtoull checks...
2000-05-31  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Add strtoull checks...

From-SVN: r34322
2000-06-01 00:56:37 +00:00
Benjamin Kosnik
30ff6342d4 [multiple changes]
2000-05-31  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Add strtoull checks...

2000-05-31 Steven King <sxking@uswest.net>

        * shadow/time.h: fix typo
        * shadow/wchar.h: ifdef __USE_GNU for wcsdup
        * shadow/bits/std_cwchar.h: ditto
        * shadow/bits/std_cstdlib.h: add overloads of abs and div for long
        and long long.

From-SVN: r34321
2000-06-01 00:52:26 +00:00
Alexandre Petit-Bianco
0f145be85b parse.y (resolve_field_access): Complete the DECL_INITIAL tree before using it as the accessed field.
2000-05-31  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * parse.y (resolve_field_access): Complete the DECL_INITIAL tree
        before using it as the accessed field.

From-SVN: r34320
2000-05-31 17:28:32 -07:00
Richard Henderson
ac9cd70f20 ia64.c (sdata_symbolic_operand): Consider small CONSTANT_POOL_ADDRESS_P addresses for .sdata.
* config/ia64/ia64.c (sdata_symbolic_operand): Consider small
        CONSTANT_POOL_ADDRESS_P addresses for .sdata.
        * config/ia64/sysv4.h (SELECT_RTX_SECTION): New.

From-SVN: r34319
2000-05-31 17:14:13 -07:00
Richard Henderson
85548039c4 ia64-protos.h (ia64_expand_prediction): Remove.
* config/ia64/ia64-protos.h (ia64_expand_prediction): Remove.
        * config/ia64/ia64.c (ia64_expand_prediction): Move code ...
        (ia64_print_operand) [+]: ... here.  Use current_output_insn.
        * config/ia64/ia64.h (PRINT_OPERAND_PUNCT_VALID_P): New.
        * config/ia64/ia64.md (all branch/call patterns): Use %+.

From-SVN: r34318
2000-05-31 17:10:35 -07:00
Richard Henderson
18153f6ceb ifcvt.c (merge_if_block): Be prepared for JOIN to have no remaining edges.
* ifcvt.c (merge_if_block): Be prepared for JOIN to have no
        remaining edges.
        (find_if_block): Allow THEN with no outgoing edges.
        * flow.c (merge_blocks_nomove): Remove a barrier not following
        a jump as well.

From-SVN: r34317
2000-05-31 17:03:36 -07:00
Richard Henderson
e0fa93b3ca * ifcvt.c (cond_exec_process_insns): Don't ever ignore clobbers.
From-SVN: r34316
2000-05-31 16:58:46 -07:00
Richard Henderson
abb9a4c570 flow.c (merge_blocks_nomove): Remove a barrier not following a jump as well.
* flow.c (merge_blocks_nomove): Remove a barrier not following
        a jump as well.

From-SVN: r34315
2000-05-31 16:57:00 -07:00
Tom Tromey
2771fe54e3 java-tree.h (boolean_array_vtable, [...]): Declare.
* java-tree.h (boolean_array_vtable, byte_array_vtable,
	char_array_vtable, short_array_vtable, int_array_vtable,
	long_array_vtable, float_array_vtable, double_array_vtable):
	Declare.
	* expr.c (get_primitive_array_vtable): New function.
	(create_primitive_vtable): New function.
	(java_lang_expand_expr): Enable code to statically generate
	arrays.
	* decl.c (init_decl_processing): Create primitive vtables.
	(boolean_array_vtable, byte_array_vtable, char_array_vtable,
	short_array_vtable, int_array_vtable, long_array_vtable,
	float_array_vtable, double_array_vtable): Define.

From-SVN: r34314
2000-05-31 23:55:54 +00:00
Richard Henderson
9bcfe71d16 Makefile.in (STROBJS): Get memmove.o from configure.
* Makefile.in (STROBJS): Get memmove.o from configure.
        * configure.in (RANLIB): Detect and substitute.
        (memmove): Detect and substitute.
        * memmove.c (memmove): Use size_t.

From-SVN: r34313
2000-05-31 16:54:07 -07:00
Tom Tromey
c74e221410 prims.cc (DECLARE_PRIM_TYPE): Define a vtable as well.
* prims.cc (DECLARE_PRIM_TYPE): Define a vtable as well.
	(_Jv_PrimClass): Set `methods' by calling _Jv_FindArrayClass.
	* include/jvm.h (struct _Jv_ArrayVTable): Declare.
	(NUM_OBJECT_METHODS): New define.
	* java/lang/natClassLoader.cc (_Jv_FindArrayClass): Added
	`array_vtable' parameter.  Added assertion.
	* java/lang/Class.h (_Jv_FindArrayClass): Added `array_vtable'
	parameter.

From-SVN: r34312
2000-05-31 23:50:37 +00:00
Bryce McKinlay
f1aa7a521a cni.h: Include <string.h>.
2000-05-31  Bryce McKinlay  <bryce@albatross.co.nz>

	* gcj/cni.h: Include <string.h>.
	* defineclass.cc: Include <alloca.h>.
	* interpret.cc: Ditto.
	* gij.cc: Include <stdlib.h>.

From-SVN: r34311
2000-05-31 23:49:19 +01:00
Richard Henderson
eb7e5da2fc flow.c (propagate_block): Move initialization of mem_set_list ...
* flow.c (propagate_block): Move initialization of mem_set_list ...
        (init_propagate_block_info): ... here.  Also track blocks with
        no successors; don't scan insns if ! PROP_SCAN_DEAD_CODE.

From-SVN: r34310
2000-05-31 15:29:38 -07:00
Richard Kenner
1febe16ba4 Add documentation of TREE_ADDRESSABLE in FIELD_DECL
From-SVN: r34309
2000-05-31 16:53:37 -04:00
Richard Kenner
051c57dafd 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: r34308
2000-05-31 16:01:57 -04:00
Richard Henderson
26a41784e0 * jump.c (jump_optimize_1): Revert 05-18 change.
From-SVN: r34307
2000-05-31 12:34:19 -07:00
Mark Mitchell
2228d450a9 invoke.texi: Remove documentation for -fguiding-decls.
* invoke.texi: Remove documentation for -fguiding-decls.

	Remove guiding declaration support.
	* cp/cp-tree.h (flag_dump_translation_unit): Make it const.
	(flag_guiding_decls): Remove.
	* call.c (build_user_type_conversion_1): Remove support for
	guiding decls.
	(build_new_function_call): Likewise.
	(build_new_op): Likewise.
	(build_new_method_call): Likewise.
	* decl.c (start_function): Likewise.
	* friend.c (is_friend): Likewise.
	(do_friend): Likewise.
	* decl2.c ((flag_dump_translation_unit): Make it const.
	(flag_guiding_decls): Remove.
	(unsupported_options): New variable
	(compare_options): New function.
	(lang_decode_option): Use them.

From-SVN: r34306
2000-05-31 19:27:12 +00:00
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