Commit Graph

60065 Commits

Author SHA1 Message Date
Nathanael Nerode
f11d297f7a configure.in: Eliminate CANADIAN and NULL_TARGET variables by logic refactoring.
* configure.in: Eliminate CANADIAN and NULL_TARGET variables
	by logic refactoring.  Move default definition of NATIVE closer
	to first alternate definition.
	* configure: Regenerate.

From-SVN: r84834
2004-07-16 21:14:18 +00:00
Richard Henderson
d25cee4d2b tree-def (WITH_SIZE_EXPR): New.
* tree-def (WITH_SIZE_EXPR): New.
        * explow.c (expr_size, int_expr_size): Handle WITH_SIZE_EXPR.
        * expr.c (expand_expr_real_1): Likewise.
        * gimplify.c (maybe_with_size_expr): New.
        (gimplify_arg, gimplify_modify_expr): Use it.
        (gimplify_modify_expr_to_memcpy): Take size parameter.
        (gimplify_modify_expr_to_memset): Likewise.
        (gimplify_expr): Handle WITH_SIZE_EXPR.
        * tree-alias-common.c (find_func_aliases): Likewise.
        * tree-eh.c (tree_could_trap_p): Likewise.
        (tree_could_throw_p): Likewise.
        * tree-gimple.c (is_gimple_lvalue): Likewise.
        (get_call_expr_in): Likewise.
        * tree-inline.c (estimate_num_insns_1): Likewise.
        (expand_calls_inline): Likewise.
        * tree-nested.c (convert_call_expr): Likewise.
        * tree-pretty-print.c (dump_generic_node): Likewise.
        * tree-sra.c (sra_walk_expr): Likewise.
        * tree-ssa-alias.c (add_pointed_to_expr): Likewise.
        * tree-ssa-ccp.c (get_rhs, set_rhs): Likewise.
        * tree-ssa-operands.c (get_expr_operands): Likewise.
        * tree-tailcall.c (find_tail_calls): Likewise.

        * calls.c (expand_call): Reset old_stack_allocated after
        calling emit_stack_restore.

        * gcc.c-torture/compile/20020210-1.c: Remove XFAIL.

From-SVN: r84833
2004-07-16 14:13:08 -07:00
Nathanael Nerode
4c86f32571 Makefile.am: Set ZIP and GCJH directly using autoconf.
* Makefile.am: Set ZIP and GCJH directly using autoconf.
	* Makefile.in, include/Makefile.in, testsuite/Makefile.in,
	gcj/Makefile.in: Regenerate.
	* configure.in: Set ZIP and GCJH.  Remove redundant condition
	in AM_CONDITIONAL(NATIVE,...)
	* configure: Regenerate.

From-SVN: r84832
2004-07-16 21:04:58 +00:00
Richard Henderson
7740f00d54 langhooks-def.h (LANG_HOOKS_TREE_INLINING_COPY_RES_DECL_FOR_INLINING, [...]): Remove.
* langhooks-def.h (LANG_HOOKS_TREE_INLINING_COPY_RES_DECL_FOR_INLINING,
        lhd_tree_inlining_copy_res_decl_for_inlining): Remove.
        * langhooks.c (lhd_tree_inlining_copy_res_decl_for_inlining): Remove.
        * langhooks.h (struct lang_hooks_for_tree_inlining): Remove
        copy_res_decl_for_inlining.

        * tree-inline.c (declare_return_variable): New modify_dest argument.
        Use it as the return value, when possible or manditory.  Handle
        TREE_ADDRESSABLE types.
        (expand_call_inline): Extract MODIFY_EXPR lhs for call.  Simplify
        replacement of CALL_EXPR.

cp/
        * cp-lang.c (LANG_HOOKS_TREE_INLINING_COPY_RES_DECL_FOR_INLINING): Die.
        * cp-tree.h (cp_copy_res_decl_for_inlining): Remove.
        * tree.c (cp_copy_res_decl_for_inlining): Remove.

From-SVN: r84831
2004-07-16 13:51:31 -07:00
Richard Henderson
26e79d1018 tree-flow.h (struct var_ann_d): Remove has_hidden_use.
* tree-flow.h (struct var_ann_d): Remove has_hidden_use.
        * gimple-low.c (expand_var_p): Don't check it.
        * tree-ssa-alias.c (setup_pointers_and_addressables): Likewise.
        * tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
        * tree-ssa-operands.c (add_stmt_operand): Likewise.
        * tree-dfa.c (find_hidden_use_vars, find_hidden_use_vars_r): Kill.
        (find_referenced_vars): Don't call them.
        * tree-flow-inline.h (has_hidden_use, set_has_hidden_use): Kill.

From-SVN: r84830
2004-07-16 13:40:25 -07:00
Richard Henderson
d58247a321 * function.c (pass_by_reference): True for all variable sized types.
From-SVN: r84829
2004-07-16 13:34:12 -07:00
Jeff Law
7eacb691bb * analyze_brprob: Fix comments. More consistent output format.
From-SVN: r84828
2004-07-16 12:58:00 -06:00
Toon Moene
cc440d714f gcc_release: Revert yesterday's change.
2004-07-16  Toon Moene  <toon@moene.indiv.nluug.nl>

	* maintainer-scripts/gcc_release: Revert yesterday's change.

From-SVN: r84827
2004-07-16 18:37:05 +00:00
Sebastian Pop
4619c7017f Makefile.in (tree-pretty-print.o): Depend on tree-chrec.h.
* Makefile.in (tree-pretty-print.o): Depend on tree-chrec.h.
	* tree-pretty-print.c: Include tree-chrec.h.
	(dump_generic_node): Pretty print SCEV_KNOWN, SCEV_NOT_KNOWN
	and POLYNOMIAL_CHREC nodes.

From-SVN: r84826
2004-07-16 17:55:47 +00:00
Steve Ellcey
58ec6ece35 builtins.c (expand_builtin_stpcpy): Do not create temporary reg with VOIDmode.
* builtins.c (expand_builtin_stpcpy): Do not create temporary
	reg with VOIDmode.

From-SVN: r84825
2004-07-16 17:19:20 +00:00
Jason Merrill
27f1984e92 undo reversion
From-SVN: r84822
2004-07-16 13:11:06 -04:00
Andris Pavenis
a23ee064e2 re PR preprocessor/16366 (Preprocessor option -remap causes memory corruption)
2004-07-16  Andris Pavenis  <pavenis@latnet.lv>

	PR preprocessor/16366
	* internal.h (struct cpp_reader): New field dir_hash.
	* files.c (make_cpp_dir): Use dir_hash, not file_hash.
	(_cpp_init_files, _cpp_cleanup_files): Update for new field.

From-SVN: r84821
2004-07-16 17:07:01 +00:00
Jason Merrill
043fdfc83e revert: cp-lang.c (cxx_types_compatible_p): To the middle-end, references and pointers are compatible.
revert:
        * cp-lang.c (cxx_types_compatible_p): To the middle-end,
        references and pointers are compatible.

From-SVN: r84820
2004-07-16 13:06:56 -04:00
Segher Boessenkool
11368579a1 * config/rs6000/eabi.asm (__eabi_convert): Fix typo (cmpi vs. cmpwi).
From-SVN: r84819
2004-07-16 17:13:40 +02:00
Segher Boessenkool
270e140b79 * MAINTAINERS: Add myself to write-after-approval.
From-SVN: r84818
2004-07-16 16:56:10 +02:00
Andreas Krebbel
490ceeb4f3 s390.md: Changed every occurence of BASE_REGISTER to BASE_REGNUM.
2004-07-16  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.md: Changed every occurence of BASE_REGISTER
	to BASE_REGNUM.
	* config/s390/s390.c: Likewise.
	* config/s390/s390.h: Likewise.

From-SVN: r84817
2004-07-16 12:51:21 +00:00
Richard Sandiford
5eb00b77df mips.md (addsi3, adddi3): Remove special handling of $sp adds.
* config/mips/mips.md (addsi3, adddi3): Remove special handling
	of $sp adds.  Remove REGNO checks from mips16 patterns.

From-SVN: r84816
2004-07-16 12:32:19 +00:00
Nathan Sidwell
090ad434b0 class.c (finish_struct_bits): Use for loop.
* class.c (finish_struct_bits): Use for loop.
	(propagate_binfo_offsets): Do primary binfo outside of loop.

From-SVN: r84815
2004-07-16 09:42:22 +00:00
Richard Sandiford
d811830ea7 * config/mips/mips.md: Delete outdated comment.
From-SVN: r84814
2004-07-16 09:31:39 +00:00
Richard Sandiford
bb5928069e mips.c (get_float_compare_codes): Delete.
* config/mips/mips.c (get_float_compare_codes): Delete.
	(mips_emit_compare): New function, mostly extracted from
	get_float_compare_codes and gen_conditional_branch.
	(gen_conditional_branch, gen_conditional_move): Use it.

From-SVN: r84813
2004-07-16 09:00:09 +00:00
Nathan Sidwell
3758425f53 re PR c++/16583 (G++ segfaults with -fdump-translation-unit)
PR c++/16583
	* dump.c (cp_dump_tree): Don't dump the bases if there's no
	binfo.

From-SVN: r84812
2004-07-16 08:22:12 +00:00
Segher Boessenkool
00ca8311cf genautomata.c (add_vect): Speedup by using integers as bit-vectors for walking through the comb_vect and...
* genautomata.c (add_vect): Speedup by using integers as
        bit-vectors for walking through the comb_vect and finding
        a match.

From-SVN: r84811
2004-07-16 10:12:11 +02:00
Nathan Sidwell
bd7eccc44e * pt.c (tsubst) <TREE_BINFO case>: We should never get here.
From-SVN: r84810
2004-07-16 08:07:08 +00:00
Richard Sandiford
f128625718 mips.c (mips_zero_if_equal): Only use XORs if the second operand is an uns_arith_operand...
* config/mips/mips.c (mips_zero_if_equal): Only use XORs if the second
	operand is an uns_arith_operand; use subtraction otherwise.
	* config/mips/mips.md (cmpsi, cmpdi): Allow any nonmemory_operand,
	not just arith_operands.

From-SVN: r84809
2004-07-16 07:53:47 +00:00
Richard Sandiford
a012718f1d mips-protos.h (gen_int_relational): Delete.
* config/mips/mips-protos.h (gen_int_relational): Delete.
	(mips_emit_scc): Declare.
	* config/mips/mips.c (internal_test): Delete.
	(sle_operand, sleu_operand): New functions.
	(map_test_to_internal_test, gen_int_relational): Delete.
	(mips_emit_binary, mips_relational_operand_ok_p)
	(mips_emit_int_relational, mips_zero_if_equal)
	(mips_emit_scc): New functions.
	(gen_conditional_branch): Rework to use mips_emit_int_relational.
	* config/mips/mips.h (PREDICATE_CODES): Add sle_operand and
	sleu_operand.
	* config/mips/mips.md (seq, sne, sgt, sge, slt, sle, sgtu, sgeu)
	(sltu, sleu): Use mips_emit_scc.
	(*sge_[sd]i, *sgeu_[sd]i): New patterns.
	(*sle_[sd]i, *sle_[sd]i_mips16): Use sle_operand.
	(*sleu_[sd]i, *sleu_[sd]i_mips16): Use sleu_operand.

From-SVN: r84808
2004-07-16 07:51:31 +00:00
Richard Sandiford
c03eb5a305 * config/mips/mips.md (*sgt_di_mips16): Fix destination constraint.
From-SVN: r84807
2004-07-16 07:47:07 +00:00
Richard Sandiford
9cb24602d3 mips.md (*seq_[sd]i): Renamed from seq_[sd]i_zero.
* config/mips/mips.md (*seq_[sd]i): Renamed from seq_[sd]i_zero.
	(*sne_[sd]i): Likewise sne_[sd]i_zero.
	(*sgt_[sd]i): ...and sgt_[sd]i.
	(*slt_[sd]i): ...and slt_[sd]i.
	(*sgtu_[sd]i): ...and sgtu_[sd]i.
	(*sltu_[sd]i): ...and sltu_[sd]i.
	(*sleu_[sd]i): ...and sleu_[sd]i_const.
	Name previously unnamed mips16 patterns.  Formatting fixes.

From-SVN: r84806
2004-07-16 07:45:54 +00:00
Richard Sandiford
d7ad1e57f7 mips.c (cmp_operands): Renamed from branch_cmp.
* config/mips/mips.c (cmp_operands): Renamed from branch_cmp.
	(branch_type): Delete.
	(gen_conditional_branch, gen_conditional_move)
	(mips_gen_conditional_trap): Update after name change.  Get the
	comparison mode from cmp_operands[0].
	* config/mips/mips.h (cmp_type, branch_type): Delete.
	(cmp_operands): Renamed from branch_cmp.
	* config/mips/mips.md (cmpsi, cmpdi, cmpsf, cmpdf): Update after
	name change.  Don't set branch_type.
	(seq, sne, sgt, sge, slt, sle, sgtu, sgeu, sltu, sleu): Check the
	mode class of cmp_operands[0] rather than branch_type.  Update after
	name change.

From-SVN: r84805
2004-07-16 07:44:24 +00:00
Richard Sandiford
629198e266 mips.c (mips_rtx_costs): In mips16 code, set the cost of 0...255 to 0 when inside a SET.
* config/mips/mips.c (mips_rtx_costs): In mips16 code, set the cost
	of 0...255 to 0 when inside a SET.

From-SVN: r84804
2004-07-16 07:35:58 +00:00
Richard Sandiford
2bff1abfb0 * config/mips/mips.md: Remove mips16 define_peepholes.
From-SVN: r84803
2004-07-16 06:46:48 +00:00
Nathanael Nerode
ed2e3d3395 configure.in: Use target_noncanonical rather than target_alias for forward-compatibility with...
* configure.in: Use target_noncanonical rather than
	target_alias for forward-compatibility with autoconf 2.59.
	* configure: Regenerate.
	* Makefile.am, gcj/Makefile.am, include/Makefile.am,
	testsuite/Makefile.am: Substitute target_noncanonical.
	* Makefile.in, gcj/Makefile.in, include/Makefile.in,
	testsuite/Makefile.in: Regenerate.

From-SVN: r84802
2004-07-16 05:36:35 +00:00
Daniel Berlin
50265400ed tree-ssa-pre.c (init_pre): Connect infinite loops to exit.
2004-07-16  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-pre.c (init_pre): Connect infinite loops to exit.
	(fini_pre): Remove fake edges.

From-SVN: r84800
2004-07-16 04:24:43 +00:00
Richard Henderson
310de7612e tree-ssa-operands.c (get_expr_operands): Use a switch.
* tree-ssa-operands.c (get_expr_operands): Use a switch.  Split out...
        (get_indirect_ref_operands, get_call_expr_operands): ... these.

From-SVN: r84798
2004-07-15 19:26:47 -07:00
Nathanael Nerode
bc03b358a0 configure.in: Move as much as possible below AC_CANONICAL_SYSTEM.
* configure.in: Move as much as possible below AC_CANONICAL_SYSTEM.
	Introduce _GCC_TOPLEV_NONCANONICAL_TARGET.
	* acinclude.m4: Include acx.m4.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

From-SVN: r84797
2004-07-16 02:11:33 +00:00
Mark Mitchell
aaaa46d2b0 vec.h (VEC_address): New function.
* vec.h (VEC_address): New function.

	* cp-tree.h (lang_type_class): Remove has_real_assign_ref and
	has_abstract_assign_ref.  Make methods a VEC(tree) *.
	(TYPE_HAS_CONST_ASSIGN_REF): Add documentation.
	(CLASSTYPE_CONSTRUCTORS): Adjust for changes to CLASSTYPE_METHOD_VEC.
	(CLASSTYPE_DESTRUCTORS): Likewise.
	(TYPE_HAS_REAL_ASSIGN_REF): Remove.
	(TYPE_HAS_ABSTRACT_ASSIGN_REF): Likewise.
	(add_method): Change prototoype.
	* class.c (add_method): Remove error_p parameter.  Adjust for
	changes to CLASSTYPE_METHOD_VEC.
	(handle_using_decl): Adjust call to add_method.
	(maybe_warn_about_overly_private_class): Adjust for
	changes to CLASSTYPE_METHOD_VEC.
	(resort_type_method_vec): Likewise.
	(finish_struct_methods): Likewise.
	(check_for_override): Likewise.
	(warn_hidden): Likewise.
	(add_implicitly_declared_members): Defer creation of assignment
	operators.  Adjust call to add_method.
	(clone_function_decl): Adjust call to add_method.
	(check_bases_and_members): Don't set TYPE_HAS_REAL_ASSIGN_REF.
	(finish_struct_1): Use CLASSTYPE_DESTRUCTORS.
	* decl.c (grok_special_member_properties): Don't set
	TYPE_HAS_ABSTRACT_ASSIGN_REF.
	* decl2.c (check_classfn): Adjust for
	changes to CLASSTYPE_METHOD_VEC.
	* method.c (locate_dtor): Use CLASSTYPE_DESTRUCTORS.
	(locate_ctor): Use CLASSTYPE_CONSTRUCTORS.
	(locate_copy): Adjust for changes to CLASSTYPE_METHOD_VEC.
	(implicitly_declare_fn): Set DECL_SOURCE_LOCATION.  Do not call
	cp_finish_decl.
	* pt.c (check_explicit_specialization): Adjust for
	changes to CLASSTYPE_METHOD_VEC.
	(instantiate_class_template): Do not set
	TYPE_HAS_ABSTRACT_ASSIGN_REF.
	* ptree.c (cxx_print_type): Don't try to print
	CLASSTYPE_METHOD_VEC.
	* rtti.c (emit_support_tinfos): Use CLASSTYPE_DESTRUCTORS.
	* search.c (lookup_field_r): Adjust for
	changes to CLASSTYPE_METHOD_VEC.
	(lookup_fnfields): Likewise.
	(lookup_conversion_operator): Likewise.
	(lookup_fnfields_1): Likewise.  Create assignment operators
	lazily.
	(look_for_overrides_here): Adjust for
	changes to CLASSTYPE_METHOD_VEC.
	(add_conversions): Likewise.
	* semantics.c (finish_member_declaration): Adjust call to add_method.

From-SVN: r84796
2004-07-16 01:15:43 +00:00
Tobias Schlüter
b38b6477f8 re PR fortran/16404 (should reject invalid code with -pedantic -std=f95 ? (x8))
fortran/
* parse.c (gfc_check_do_variable): Fix error locus.

testsuite/
PR fortran/16404
* gfortran.dg/do_iterator.f90: New test.

From-SVN: r84795
2004-07-16 02:57:43 +02:00
Tobias Schlüter
c9583ed23d re PR fortran/16404 (should reject invalid code with -pedantic -std=f95 ? (x8))
PR fortran/16404
(parts ported from g95)
* parse.h (gfc_state_data): New field do_variable.
(gfc_check_do_variable): Add prototype.
* parse.c (push_state): Initialize field 'do_variable'.
(gfc_check_do_variable): New function.
(parse_do_block): Remember do iterator variable.
(parse_file): Initialize field 'do_variable'.
* match.c (gfc_match_assignment, gfc_match_do,
gfc_match_allocate, gfc_match_nullify, gfc_match_deallocate):
Add previously missing checks.
(gfc_match_return): Reformat error message.
* io.c (match_out_tag): New function.
(match_open_element, match_close_element,
match_file_element, match_dt_element): Call match_out_tag
instead of match_vtag where appropriate.
(match_io_iterator, match_io_element): Add missing check.
(match_io): Reformat error message.
(match_inquire_element): Call match_out_tag where appropriate.

From-SVN: r84793
2004-07-16 02:39:40 +02:00
Tobias Schlüter
e94f3b4f2b fortran-torture.exp (fortran-torture): Don't test compile tests with fulllist of options.
* lib/fortran-torture.exp (fortran-torture): Don't test compile
tests with fulllist of options.
* lib/gfortran-dg.exp (gfortran-dg-runtest): Only test with all
of TORTURE_OPTIONS if test contains 'dg-do run'.

From-SVN: r84792
2004-07-16 02:32:26 +02:00
Volker Reichelt
a916927fb5 re PR rtl-optimization/16536 (Incorrect __restrict__ optimization in -O2)
PR rtl-optimization/16536
	* gcc.c-torture/execute/restrict-1.c: New test.

From-SVN: r84791
2004-07-16 00:25:59 +00:00
GCC Administrator
1373fd361f Daily bump.
From-SVN: r84788
2004-07-16 00:16:13 +00:00
Bryce McKinlay
cbd7a79bc3 re PR libgcj/16574 (java.sql.Timestamp#toString() does not deal with fractional seconds correctly)
2004-07-15  Bryce McKinlay  <mckinlay@redhat.com>

	PR libgcj/16574
	* java/sql/Timestamp.java (dateFormat): Renamed from sdf.
	(decimalFormat): New static variable.
	(sbuf): Likewise.
	(getTime): New. Override Date.getTime().
	(toString): Synchronize. Use decimalFormat to format nanos value
	correctly. Truncate extra zeros.
	(before): Compare getNanos() only if getTime() is equal.
	(after): Likewise.

From-SVN: r84784
2004-07-15 23:14:45 +01:00
Jason Merrill
e4f78bd4af re PR middle-end/15885 (wrong va_start warning (and code))
* cp-lang.c (cxx_types_compatible_p): To the middle-end,
        references and pointers are compatible.

        PR middle-end/15885
        * gimplify.c (gimplify_arg): New fn, split out from...
        (gimplify_call_expr): Here.  Special-case BUILT_IN_VA_START.

From-SVN: r84782
2004-07-15 17:50:51 -04:00
Roman Zippel
bc2f7bb864 m68k.c (output_move_qimode): Abort on an attempt to generate code which is generated by pushqi1 now
2004-07-15  Roman Zippel  <zippel@linux-m68k.org>

        * config/m68k/m68k.c (output_move_qimode): Abort on an attempt to
        generate code which is generated by pushqi1 now
        * config/m68k/m68k.h (MOVE_BY_PIECES_P): Remove.

From-SVN: r84780
2004-07-15 21:18:10 +00:00
Roman Zippel
8abcb0f705 combine.c (simplify_set): match the mode of the constant 0 with the tested operand to match the compare...
2004-07-15  Roman Zippel  <zippel@linux-m68k.org>

        * combine.c (simplify_set): match the mode of the constant 0 with
        the tested operand to match the compare behaviour and the
        simplify_relational_operation() expectation.

From-SVN: r84779
2004-07-15 21:16:21 +00:00
Aldy Hernandez
7a1bf2f971 rs6000.md ("bunordered"): Disable for e500.
* config/rs6000/rs6000.md ("bunordered"): Disable for e500.
        ("bordered"): Same.

From-SVN: r84778
2004-07-15 21:07:49 +00:00
Aldy Hernandez
24fab1d3db rs6000.md ("*cceq_ior_compare"): Allow unconditionally.
* config/rs6000/rs6000.md ("*cceq_ior_compare"): Allow
        unconditionally.
        * config/rs6000/spe.md ("e500_cceq_ior_compare"): Remove.

From-SVN: r84775
2004-07-15 21:02:15 +00:00
Arnaud Charlet
523456dbde [multiple changes]
2004-07-15  Robert Dewar  <dewar@gnat.com>

	* makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
	reformatting

	* gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
	access values as an example of a warning.

	* gnat_rm.texi: Document new attribute Has_Access_Values

	* gnat-style.texi: Document that box comments belong on nested
	subprograms

	* sem_util.ads (Has_Access_Values): Improved documentation

	* s-finimp.ads, s-finimp.adb: Fix spelling error in comment

	* sem_prag.adb (Check_Duplicated_Export_Name): New procedure
	(Process_Interface_Name): Call to this new procedure
	(Set_Extended_Import_Export_External_Name): Call to this new procedure

	* s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment

	* a-direio.ads, a-sequio.ads: Warn if Element_Type has access values

	* einfo.ads: Minor comment typo fixed

2004-07-15  Jose Ruiz  <ruiz@act-europe.fr>

	* snames.adb: Add _atcb.

	* snames.ads: Add Name_uATCB.

	* s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
	(in the expanded code) when using the restricted run time.

	* s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
	a in parameter in order to allow ATCBs to be preallocated (in the
	expanded code).

	* s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
	order to allow ATCBs to be preallocated. In case of error, the ATCB is
	deallocated in System.Tasking.Stages.

	* s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
	order to allow ATCBs to be preallocated.

	* s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
	here. It was previously done in Initialize_ATCB.

	* rtsfind.ads: Make the Ada_Task_Control_Block visible.

	* exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
	Restricted run time.

	* exp_ch3.adb: When using the Restricted run time, pass the
	preallocated Ada_Task_Control_Block when creating a task.

2004-07-15  Ed Schonberg  <schonberg@gnat.com>

	* sem_util.adb (Normalize_Actuals): If there are no actuals on a
	function call that is itself an actual in an enclosing call, diagnose
	problem here rather than assuming that resolution will catch it.

	* sem_ch7.adb (Analyze_Package_Specification): If the specification is
	the local copy of a generic unit for a formal package, and the generic
	is a child unit, install private part of ancestors before compiling
	private part of spec.

	* sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
	use scope entities rather than tree structures, to handle properly
	parent units that are instances rewritten as bodies for inlining
	purposes.

	* sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
	Remove_Parents): Handle properly a parent unit that is an
	instantiation, when the unit has been rewritten as a body for inlining
	purposes.

	* par.adb (Goto_List): Global variable to collect goto statements in a
	given unit, for use in detecting natural loops.

	* par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
	use in detecting natural loops.

	* par-labl.adb (Find_Natural_Loops): Recognize loops create by
	backwards goto's, and rewrite as a infinite loop, to improve locality
	of temporaries.

	* exp_util.adb (Force_Evaluation): Recognize a left-hand side
	subcomponent that includes an indexed reference, to prevent the
	generation of copies that would miscompile the desired assignment
	statement.
	(Build_Task_Image_Decls): Add a numeric suffix to
	generated name for string variable, to avoid spurious conflicts with
	the name of the type of a single protected object.

	* exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
	loop with an explicit exit statement, to avoid generating an
	out-of-range value with 'Succ leading to spurious constraint_errors
	when compiling with -gnatVo.

2004-07-15  Thomas Quinot  <quinot@act-europe.fr>

	* sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
	might not be analyzed yet, even if its Etype is already set (case of an
	unchecked conversion built using Unchecked_Convert_To, for example).
	If the prefix has already been analyzed, this will be a nop anyway.

	* exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
	controller type, or an assignment of a record type with controlled
	components, copy only user data, and leave the finalization chain
	pointers untouched.

2004-07-15  Vincent Celier  <celier@gnat.com>

	* make.adb (Collect_Arguments): Improve error message when attempting
	to compile a source not part of any project, when -x is not used.

	* prj.ads: (Defined_Variable_Kind): New subtype

	* prj-attr.adb (Register_New_Package): Two new procedures to register
	a package with or without its attributes.
	(Register_New_Attribute): Mew procedure to register a new attribute in a
	package.
	New attribute oriented subprograms: Attribute_Node_Id_Of,
	Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
	Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
	Next_Attribute.
	New package oriented subprograms: Package_Node_Id_Of,
	Add_Unknown_Package, First_Attribute_Of, Add_Attribute.

	* prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
	type.
	(Package_Node_Id): Now a private, self initialized type
	(Register_New_Package): New procedure to register a package with its
	attributes.
	New attribute oriented subprograms: Attribute_Node_Id_Of,
	Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
	Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
	Next_Attribute.
	New package oriented subprograms: Package_Node_Id_Of,
	Add_Unknown_Package, First_Attribute_Of, Add_Attribute.

	* prj-dect.adb (Parse_Attribute_Declaration,
	Parse_Package_Declaration): Adapt to new spec of Prj.Attr.

	* prj-makr.adb (Make): Parse existing project file before creating
	other files. Fail if there was an error during parsing.

	* prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
	new spec of Prj.Attr.

	* prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
	to new spec of Prj.Attr.

2004-07-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* utils2.c: Fix typo in comment.

From-SVN: r84774
2004-07-15 22:34:43 +02:00
Tobias Schlüter
0c0df4b3f0 re PR fortran/13792 (lbound/ubound generates internal compiler error)
fortran/
PR fortran/13792
* simplify.c (gfc_simplify_bound): Copy the bound expression.

testsuite/
PR fortran/13792
* gfortran.fortran-torture/execute/bounds.f90: Add check for
compile-time simplification.

From-SVN: r84773
2004-07-15 21:55:05 +02:00
Richard Sandiford
4c467d4113 mips.c (mips_adjust_insn_length): Fix handling of calls in mips16 code.
* config/mips/mips.c (mips_adjust_insn_length): Fix handling of
	calls in mips16 code.

From-SVN: r84772
2004-07-15 19:28:22 +00:00
Tobias Schlüter
c5a419530e re PR fortran/15140 (assertion failed: (TREE_CODE (sym->backend_decl) == PARM_DECL)
fortran/
PR fortran/15140
* trans-decl.c (gfc_trans_deferred_vars): Remove bogus assertion.

testsuite/
PR fortran/15140
* gfortran.dg/pr15140.f90: New test.

From-SVN: r84770
2004-07-15 20:50:17 +02:00