Commit Graph

70985 Commits

Author SHA1 Message Date
Steven Bosscher
dda243de44 tree-ssa-pre.c (try_look_through_load): New function.
* tree-ssa-pre.c (try_look_through_load): New function.
	(compute_avail): Use it to try to look through loads for some
	more useful expressions.

From-SVN: r103956
2005-09-06 18:51:26 +00:00
Saurabh Verma
f5d1572a8a simplify-rtx.c (simplify_binary_operation_1): Correct the condition for detecting cases like (a&a) and (a^a).
* simplify-rtx.c (simplify_binary_operation_1): Correct the
	condition for detecting cases like (a&a) and (a^a).

From-SVN: r103955
2005-09-06 17:51:48 +00:00
Tom Tromey
852993e381 re PR libgcj/23739 (JNI: IsAssignableFrom reverses arguments)
PR libgcj/23739:
	* testsuite/libjava.jni/pr23739.c: New file.
	* testsuite/libjava.jni/pr23739.java: New file.
	* testsuite/libjava.jni/pr23739.out: New file.
	* jni.cc (_Jv_JNI_IsAssignableFrom): Reversed arguments.
	* java/lang/reflect/natMethod.cc (invoke): Updated.
	* java/lang/natClass.cc (isAssignableFrom): Updated.
	(isInstance): Likewise.
	(_Jv_IsAssignableFrom): Reversed arguments.
	(_Jv_IsInstanceOf): Updated.
	(_Jv_CheckCast): Likewise.
	(_Jv_CheckArrayStore): Likewise.
	(_Jv_IsAssignableFromSlow): Reversed arguments.
	(_Jv_InterfaceAssignableFrom): Likewise.
	* link.cc (verify_type_assertions): Updated.
	* prims.cc (_Jv_CheckAccess): Updated.

From-SVN: r103953
2005-09-06 16:01:31 +00:00
Andrew Pinski
3e248b8315 java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's BLOCK_EXPR_BODY before returning the new BIND_EXPR.
2005-09-06  Andrew Pinski  <pinskia@physics.uc.edu>

        * java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's
        BLOCK_EXPR_BODY before returning the new BIND_EXPR.

From-SVN: r103950
2005-09-06 08:22:34 -07:00
Mark Mitchell
5cc53d4ece re PR c++/9782 (constructor not called on higher-dimensional arrays of template types)
* cp-tree.h (rvalue): New function.
	* call.c (build_conditional_expr): Use it.
	* init.c (build_new_1): Likewise.
	* rtti.c (build_dynamic_cast_1): Likewise.
	* tree.c (rvalue): New function.
	* typeck.c (build_unary_op): Use it.
	(build_static_cast_1): Likewise.

	* g++.dg/expr/cast6.C: New test.

	PR c++/9782
	* init.c (build_new_1): Make sure the entire array type is
	complete, not just its element types.

	PR c++/9782
	* g++.dg/init/new15.C: New test.

From-SVN: r103947
2005-09-06 14:55:06 +00:00
Tom Tromey
d102ae00ef re PR boehm-gc/23662 (Binaries generated by arm-linux-gcj segfault on execution on arm target)
PR libgcj/23662:
	* include/private/gcconfig.h (LINUX_STACKBOTTOM): Use instead of
	HEURISTIC1 on ARM.

From-SVN: r103946
2005-09-06 14:22:01 +00:00
Keith Besaw
6e8ed38e7d Os-vect-95.c: New test.
* gcc.dg/vect/Os-vect-95.c: New test.
        * gcc.dg/vect/vect-95.c: Same.

From-SVN: r103942
2005-09-06 11:09:01 +00:00
Keith Besaw
c12cc93047 common.opt: Add option ftree-vect-loop-version.
* common.opt: Add option ftree-vect-loop-version.
        * params.def: Add --param vect-max-version-checks.
        * doc/invoke.texi: Document ftree-vect-loop-version and
        --param vect-max-version-checks.
        * tree-vectorizer.h (_loop_vec_info): Add ptr_mask and
        may_misalign_stmts and defines for accessors.
        * tree-vectorizer.c : (new_loop_vec_info): VEC_alloc for
        LOOP_VINFO_MAY_MISALIGN_STMTS.
        (destroy_loop_vec_info): VEC_free for
        LOOP_VINFO_MAY_MISALIGN_STMTS.
        * tree-vect-analyze.c (vect_compute_data_ref_alignment):
        Update documentation.
        (vect_update_misalignment_for_peel): New.
        (vect_enhance_data_refs_alignment): Update to choose loop
        peeling or loop versioning if appropriate for the (potentially)
        unaligned data references in the loop.
        (vect_analyze_data_refs_alignment): Remove call to
        vect_enhance_data_refs_alignment so the checks can be done
        earlier.
        (vect_analyze_loop): Add call to vect_enhance_data_refs_alignment
        and move up call to vect_analyze_data_refs_alignment.
        * tree-vect-transform.c (vect_create_cond_for_align_checks): New.
        (vect_transform_loop): Add call to loop_version.

From-SVN: r103941
2005-09-06 10:59:58 +00:00
Volker Reichelt
4fe8db686f * decl.c (check_elaborated_type_specifier): Remove redundant check.
From-SVN: r103939
2005-09-06 10:30:09 +00:00
Jakub Jelinek
452ed0631f dwarf-char1.c: Accept more assembler comment start strings.
* gcc.dg/debug/dwarf2/dwarf-char1.c: Accept more assembler comment
	start strings.
	* gcc.dg/debug/dwarf2/dwarf-char2.c: Likewise.
	* gcc.dg/debug/dwarf2/dwarf-char3.c: Likewise.

From-SVN: r103937
2005-09-06 11:08:07 +02:00
Jakub Jelinek
822971c1ab re PR c++/23056 (ICE in write_template_arg_literal, at cp/mangle.c)
PR c++/23056
	* typeck.c (ignore_overflows): New helper function.
	(build_static_cast_1): Use it.

	* g++.dg/opt/pr23056.C: New test.

From-SVN: r103936
2005-09-06 10:55:37 +02:00
Jakub Jelinek
1c653a41cf re PR rtl-optimization/23098 (store of 0.0 to float)
PR rtl-optimization/23098
	* cse.c (fold_rtx_mem): Call delegitimize_address target hook.
	* simplify-rtx.c (constant_pool_reference_p): New function.
	* rtl.h (constant_pool_reference_p): New prototype.
	* config/i386/i386.md (pushf split, mov[sdx]f split): Use
	constant_pool_reference_p in condition and
	avoid_constant_pool_reference in preparation statements.

	* gcc.target/i386/pr23098.c: New test.

From-SVN: r103935
2005-09-06 10:53:11 +02:00
Andreas Krebbel
70a640af36 gcse.c (try_replace_reg): Disallow REG_EQUAL notes for STRICT_LOW_PART SETs.
2005-09-06  Andreas Krebbel  <krebbel1@de.ibm.com>

	* gcse.c (try_replace_reg): Disallow REG_EQUAL notes for
	STRICT_LOW_PART SETs.

From-SVN: r103934
2005-09-06 08:15:35 +00:00
Alan Modra
fc781ee000 re PR middle-end/21460 (sjlj_emit_function_enter adds rtl to wrong block)
PR middle-end/21460
	* except.c (sjlj_emit_function_enter): Find the function begin
	note even when it's not in first basic block.

From-SVN: r103930
2005-09-06 14:23:53 +09:30
Kelley Cook
67da153420 acinclude.m4: Renamed from aclocal.m4.
2005-09-06  Kelley Cook  <kcook@gcc.gnu.org>

	* acinclude.m4: Renamed from aclocal.m4.  Delete AM_LANGINFO_CODESET,
	AM_PROG_CC_C_O, and AM_AUX_DIR_EXPAND.
	* aclocal.m4: Regenerate.

From-SVN: r103929
2005-09-06 03:23:48 +00:00
DJ Delorie
dc019eb8fe m32c.h (TRAMPOLINE_ALIGNMENT): Correct misspelling of macro.
* config/m32c/m32c.h (TRAMPOLINE_ALIGNMENT): Correct misspelling
of macro.

From-SVN: r103928
2005-09-05 22:32:26 -04:00
Kazu Hirata
cd64dc985a check-init.c, [...]: Fix comment typos.
* check-init.c, decl.c, expr.c, gcj.texi, java-tree.h,
	jcf-parse.c, jcf.h, parse.h, parse.y, typeck.c: Fix comment
	typos.  Follow spelling conventions.

From-SVN: r103927
2005-09-06 02:25:00 +00:00
Kazu Hirata
1634705dd6 cp-tree.h, [...]: Fix comment typos.
* cp-tree.h, decl.c, decl2.c, semantics.c: Fix comment typos.
	Follow spelling conventions.

From-SVN: r103926
2005-09-06 02:12:30 +00:00
Kazu Hirata
57b51d4d63 gimplify.c, [...]: Fix comment typos.
* gimplify.c, ipa-prop.h, varasm.c, config/vxlib.c,
	config/vxworks.h, config/crx/crx.c, config/ms1/ms1.c,
	config/ms1/ms1.md, config/rs6000/rs6000.c: Fix comment typos.
	Follow spelling conventions.
	* doc/invoke.texi: Follow spelling conventions.

From-SVN: r103925
2005-09-06 02:05:07 +00:00
GCC Administrator
7a7d74a971 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r103922.2
2005-09-06 00:16:29 +00:00
Thomas Koenig
a9390eaf27 list_read.c: Adjust size of of value to 32 (to hold kind=16 complex values).
2005-09-05  Thomas Koenig  <Thomas.Koenig@online.de>

	* io/list_read.c:  Adjust size of of value to 32 (to hold
	kind=16 complex values).

From-SVN: r103918
2005-09-05 21:13:39 +00:00
J"orn Rennecke
bf877a7649 rtl.h (gen_frame_mem, [...]): Declare.
* rtl.h (gen_frame_mem, gen_tmp_stack_mem): Declare.
	* emit-rtl.c (gen_frame_mem, gen_tmp_stack_mem): New functions.
	* builtins.c (expand_builtin_return_addr): Use gen_frame_mem.

From-SVN: r103917
2005-09-05 17:45:20 +01:00
Mark Mitchell
8b0a8500fd re PR c++/23667 (tr1/6_containers/unordered/hashtable/23465.cc execution test times out)
PR c++/23667
	* pt.c (tsubst_decl): Clear DECL_TEMPLATE_INSTANTIATED when
	copying a VAR_DECL.

	PR c++/23667
	* g++.dg/template/static15.C: New test.

From-SVN: r103914
2005-09-05 16:12:15 +00:00
Mark Mitchell
85a56c9d36 re PR c++/21440 (ICE with statement-as-expression)
PR c++/21440
	* semantics.c (finish_stmt_expr_expr): Add an explicit
	initialization to the last statement in the statement-expression.
	* (finish_stmt_expr): Adjust accordingly.

	PR c++/21440
	* g++.dg/ext/stmtexpr5.C: New test.
	* g++.dg/ext/stmtexpr6.C: Likewise.

From-SVN: r103911
2005-09-05 15:59:31 +00:00
Ranjit Mathew
3b4fb454b1 Testsuite changes for PR java/23431.
* testsuite/libjava.jacks/jacks.xfail: Remove 8.1.1.1-12 and
 	8.4.6.2-hiding-5.
	* testsuite/libjava.compile/PR23431_1.java: New testcase.
	* testsuite/libjava.compile/PR23431_2.java: Likewise.
	* testsuite/libjava.compile/PR23431_1.xfail: New file.
	* testsuite/libjava.compile/PR23431_2.xfail: Likewise.

From-SVN: r103910
2005-09-05 15:04:40 +00:00
Ranjit Mathew
75d1a48521 re PR java/23431 (gcj allows overriding with more restrictive access)
PR java/23431
	* typeck.c (lookup_do): Look up interfaces for the original class,
	not the base class.
	* parse.y (java_check_regular_methods): Fix diagnostic message for
	more restrictive overriding of a method from an interface.

From-SVN: r103909
2005-09-05 14:57:25 +00:00
Joern Rennecke
7291645b6e dwarf-char1.c]: Allow '!' comment character.
* [gcc.dg/debug/dwarf2/dwarf-char1.c]: Allow '!' comment character.
	* gcc.dg/debug/dwarf2/dwarf-char2.c: Likewise.
	* gcc.dg/debug/dwarf2/dwarf-char3.c: Likewise.

From-SVN: r103908
2005-09-05 15:57:03 +01:00
Joern Rennecke
61b34703eb dwarf-char1.c: Allow '!' comment character.
* gcc.dg/debug/dwarf2/dwarf-char1.c: Allow '!' comment character.
	* gcc.dg/debug/dwarf2/dwarf-char2.c: Likewise.
	* gcc.dg/debug/dwarf2/dwarf-char3.c: Likewise.

From-SVN: r103907
2005-09-05 15:56:37 +01:00
J"orn Rennecke
3b0a4a6be3 * gcc.dg/debug/dwarf2/dwarf-char1.c: Allow '!' comment character.
From-SVN: r103906
2005-09-05 15:49:14 +01:00
J"orn Rennecke
cb9a193208 * gcc.dg/pr21255-1.c: Match different pattern for sh64.
From-SVN: r103905
2005-09-05 15:20:27 +01:00
J"orn Rennecke
57d38024e5 re PR target/23683 (review all uses of gen_rtx_MEM in sh port)
PR target/23683
	* sh.c (sh_reorg, emit_load_ptr): Use gen_const_mem.
	(output_stack_adjust): Use gen_tmp_stack_mem.
	(sh_expand_prologue, sh_expand_epilogue): Use gen_frame_mem.
	(sh_set_return_address, sh_allocate_initial_value): Likewise.
	(sh_get_pr_initial_val): Likewise.
	(sh_builtin_saveregs): Use gen_frame_mem and change_address.
	(sh_initialize_trampoline): Likewise.  Also use adjust_address.
	* sh.md (divsi_inv_m0): Use gen_const_mem.
	(push_fpscr, pop_fpscr, load_ra): Use gen_frame_mem.
	(movdf_i4+1): Use gen_tmp_stack_mem.
	(reload_outdf+3, reload_outdf+4, fpu_switch+1): Use change_address.
	(fpu_switch+2): Likewise.
	(movv4sf_i, movv16sf_i): Use adjust_address.
	(symGOT_load): Set MEM_NOTRAP_P bit.

From-SVN: r103904
2005-09-05 13:45:48 +01:00
Joern Rennecke
efa39e4401 Commit entry left out by previous cvs ci.
From-SVN: r103903
2005-09-05 13:37:33 +01:00
Volker Reichelt
f77c5dc00f Move entry from cp/ChangeLog to testsuite/ChangeLog.
From-SVN: r103902
2005-09-05 10:11:52 +00:00
Arnaud Charlet
98b4095693 Resync.
From-SVN: r103899
2005-09-05 10:57:18 +02:00
Arnaud Charlet
ac8d552768 Removed, no longer used.
From-SVN: r103898
2005-09-05 10:52:50 +02:00
Arnaud Charlet
2400f4e50b Minor reformatting.
Regenerated.

From-SVN: r103897
2005-09-05 10:12:54 +02:00
Arnaud Charlet
1525324e88 Minor reformatting.
(Install_Null_Excluding_Check): Moved to the package specification
to use it from other packages to generate the run-time check
associated with the null-exclusion attribute.

From-SVN: r103896
2005-09-05 10:12:03 +02:00
Arnaud Charlet
d124a2302d Minor reformatting.
From-SVN: r103895
2005-09-05 10:11:07 +02:00
Robert Dewar
a2cb348ef4 a-dirval-mingw.adb, [...]: Minor reformatting
2005-09-01  Robert Dewar  <dewar@adacore.com>

	* a-dirval-mingw.adb, a-direct.adb, a-coinve.adb,
	g-dynhta.adb, g-dynhta.ads, cstand.adb, exp_smem.adb, g-debuti.ads,
	g-dirope.adb, g-table.adb, lib-sort.adb, sem_maps.adb,
	exp_fixd.adb, exp_aggr.adb, a-intnam-mingw.ads, a-intnam-vxworks.ads,
	g-arrspl.adb, g-arrspl.ads, g-awk.adb, g-awk.ads, g-boubuf.ads,
	g-boubuf.ads, g-boubuf.ads, g-bubsor.ads, g-bubsor.adb, g-busora.adb,
	g-busora.ads, g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
	g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads, g-cgi.adb,
	g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads, g-cgideb.adb, g-cgideb.ads,
	g-comlin.adb, g-comver.ads, g-semaph.ads, g-socthi.ads,
	sem_ch7.adb, a-direio.adb, a-caldel.ads, i-cstrea-vms.adb,
	a-ztedit.adb, a-ztenau.adb, g-socthi-vms.adb, g-socthi-vms.ads,
	g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.ads,
	a-intnam-irix.ads, a-intnam-irix.ads, a-intnam-hpux.ads,
	a-intnam-os2.ads, a-intnam-os2.ads, a-caldel-vms.adb, a-calend-vms.adb,
	a-calend-vms.ads, g-heasor.adb, g-heasor.ads, g-hesora.adb,
	g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb, g-htable.ads,
	g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads, g-locfil.ads,
	g-memdum.adb, g-memdum.ads, g-traceb.adb, g-traceb.ads, i-cobol.adb,
	i-cobol.ads, i-cstrea.ads, i-cstrin.adb, a-wtedit.adb, a-tifiio.adb,
	a-wtenau.adb, a-wtenau.adb, a-teioed.adb: Minor reformatting

From-SVN: r103894
2005-09-05 10:07:00 +02:00
Arnaud Charlet
f67b3771d5 Makefile.in: Adjust the libgnat target pairs for Xscale to ARM.
2005-09-01  Arnaud Charlet  <charlet@adacore.com>

	* Makefile.in: Adjust the libgnat target pairs for Xscale to ARM.
	Note that the platform-specific version of g-soccon.ads for VMS is now
	named g-soccon-vms.ads (it was previously g-soccon-vms.adb, although it
	really is a package spec).
	Replace s-taspri-linux.ads by s-taspri-posix.ads
	Remove references to s-mastop-x86.adb

	* system-vxworks-xscale.ads: Removed, no longer used.
	* s-vxwork-xscale.ads: Removed, no longer used.

From-SVN: r103893
2005-09-05 10:06:37 +02:00
Matthew Heaney
ba355842e8 a-cihase.adb, [...]: Synchronized with latest draft (Draft 13, August 2005) of Ada Amendment 1.
2005-09-01  Matthew Heaney  <heaney@adacore.com>

	* a-cihase.adb, a-coorse.ads, a-coorse.adb, a-cohama.adb,
	a-ciorse.ads, a-ciorse.adb, a-cihama.adb, a-cdlili.adb,
	a-cidlli.adb, a-chtgop.adb, a-cihase.adb, a-cihase.ads,
	a-cohase.adb, a-cohase.adb, a-cohase.ads: Synchronized with latest
	draft (Draft 13, August 2005) of Ada Amendment 1.

From-SVN: r103892
2005-09-05 10:05:32 +02:00
Robert Dewar
c1cd0d9675 g-dirope.ads: Minor reformatting Document that bounds of result of Base_Name match the input...
2005-09-01  Robert Dewar  <dewar@adacore.com>
	    Arnaud Charlet  <charlet@adacore.com>

	* g-dirope.ads: Minor reformatting
	Document that bounds of result of Base_Name match the input index
	positions.
	Add documentation on environment variable syntax for Expand_Path

	* gnat_ugn.texi: Update documentation to include mention of -m switches
	Document new treatment of wide characters in max line length
	style check.
	Remove -gnatL/-gnatZ switches, no longer used.
	Add note on pragmas Assertion_Policy and Debug_Policy in discussion
	of -gnata switch.

	* gnat_rm.texi: Add doc for two argument form of pragma
	Float_Representation.
	Add documentation for pragma No_Strict_Aliasing
	Add note that explicit component clause overrides pragma Pack.
	Add documentation of pragma Debug_Policy

From-SVN: r103891
2005-09-05 10:04:55 +02:00
Geert Bosch
bbb9131042 ttypef.ads (VAXDF_Safe_First): Use correct value for constant.
2005-09-01  Geert Bosch  <bosch@adacore.com>
	    Robert Dewar  <dewar@adacore.com>

	* ttypef.ads (VAXDF_Safe_First): Use correct value for constant.
	(VAXGF_Safe_First): Idem.

From-SVN: r103890
2005-09-05 10:04:20 +02:00
Ed Schonberg
8d7559ffd7 sem_warn.adb (Warn_On_Known_Condition): Refine warning when applied to a variable that is statically known to be constant.
2005-09-01  Ed Schonberg  <schonberg@adacore.com>

	* sem_warn.adb (Warn_On_Known_Condition): Refine warning when applied
	to a variable that is statically known to be constant.

From-SVN: r103889
2005-09-05 10:04:04 +02:00
Ed Schonberg
2c867f5a52 sem_util.ads, [...] (Gather_Components): Omit interface tags from the list of required components.
2005-09-01  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.ads, sem_util.adb (Gather_Components): Omit interface tags
	from the list of required components.
	(Is_Controlling_Limited_Procedure): Determine whether an entity is a
	primitive procedure of a limited interface with a controlling first
	parameter.
	(Is_Renamed_Entry): Determine whether an entry is a procedure renaming
	of an entry.
	(Safe_To_Capture_Value): A value (such as non_null) is not safe to
	capture if it is generated in the second operand of a short-circuit
	operation.
	Do not capture values for variables with address clauses.
	(Is_Object_Reference): Treat a function call as an object reference only
	if its type is not Standard_Void_Type.

From-SVN: r103888
2005-09-05 10:03:48 +02:00
Ed Schonberg
63e746db7a sem_type.adb (Add_One_Interp): If a candidate operation is an inherited interface operation that has an...
2005-09-01  Ed Schonberg  <schonberg@adacore.com>
	    Javier Miranda  <miranda@adacore.com>

	* sem_type.adb (Add_One_Interp): If a candidate operation is an
	inherited interface operation that has an implementation, use the
	implementation to avoid spurious ambiguities.
	(Interface_Present_In_Ancestor): In case of concurrent types we can't
	use the Corresponding_Record_Typ attribute to look for the interface
	because it is set by the expander (and hence it is not always
	available). For this reason we traverse the list of interfaces
	(available in the parent of the concurrent type).
	(Interface_Present_In_Ancestor): Handle entities from the limited view

From-SVN: r103887
2005-09-05 10:03:33 +02:00
Javier Miranda
1420b484a8 sem_res.adb (Resolve_Membership_Op): In case of the membership test "Iface_CW_Typ in T'Class" we have nothing else...
2005-09-01  Javier Miranda  <miranda@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>
	    Gary Dismukes  <dismukes@adacore.com>

	* sem_res.adb (Resolve_Membership_Op): In case of the membership test
	"Iface_CW_Typ in T'Class" we have nothing else to do in the frontend;
	the expander will generate the corresponding run-time check to evaluate
	the expression.
	(Resolve_Call): Check for legal type of procedure name or prefix that
	appears as a trigger in a triggering alternative.
	(Valid_Conversion): If expression is ambiguous and the context involves
	an extension of System, remove System.Address interpretations.
	(Resolve_Qualified_Expression): Reject the case of a specific-type
	qualification applied to a class-wide argument. Enhance comment
	to explain checking of Original_Node.
	(Resolve_Type_Conversion): The location of the error message was not
	general enough to handle the general case and hence it has been removed.
	In addition, this patch improves the text of the message.
	(Resolve_Type_Conversion): Add missing support for access to interface
	types.
	(Resolve_Type_Conversion): If the target is a class-wide interface type,
	do not expand if the expression is the actual in a call, because proper
	expansion will take place when the call itself is expanded.
	(Resolve_Allocator): If the context is an unchecked conversion, the
	allocator inherits its storage pool, if any, from the target type of
	the conversion.

From-SVN: r103886
2005-09-05 10:03:17 +02:00
Javier Miranda
9cca32af39 sem_disp.adb (Check_Controlling_Formals): Anonymous access types used in controlling parameters exclude null because it...
2005-09-01  Javier Miranda  <miranda@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>

	* sem_disp.adb (Check_Controlling_Formals): Anonymous access types
	used in controlling parameters exclude null because it is necessary to
	read the tag to dispatch, and null has no tag.
	(Override_Dispatching_Operation): If the previous operation is inherited
	from an interface, it becomes hidden  and does not participate in later
	name resolution.

From-SVN: r103885
2005-09-05 10:03:00 +02:00
Ed Schonberg
725393ea91 sem_ch8.adb (Analyze_Renamed_Entry): For a renaming_as_declaration...
2005-09-01  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Analyze_Renamed_Entry): For a renaming_as_declaration,
	verify that the procedure and the entry are mode conformant.
	(Analyze_Subprogram_Renaming): Emit a warning if an operator is renamed
	as a different operator, which is often a cut-and-paste error.

From-SVN: r103884
2005-09-05 10:02:37 +02:00
Javier Miranda
41251c605f sem_ch6.ads, [...] (Check_Conformance): In case of anonymous access types the null-exclusion and access-to-constant...
2005-09-01  Javier Miranda  <miranda@adacore.com>
	    Gary Dismukes  <dismukes@adacore.com>

	* sem_ch6.ads, sem_ch6.adb (Check_Conformance): In case of anonymous
	access types the null-exclusion and access-to-constant attributes must
	also match.
	(Analyze_Return_Statement): When the result type is an anonymous access
	type, apply a conversion of the return expression to the access type
	to ensure that appropriate accessibility checks are performed.
	(Analyze_Return_Type): For the case of an anonymous access result type,
	generate the Itype and set Is_Local_Anonymous_Access on the type.
	Add ??? placeholder for check to disallow returning a limited object
	in Ada 2005 unless it's an aggregate or a result of a function call.
	Change calls from Subtype_Mark to Result_Definition.
	(Analyze_Subprogram_Body): Change formal Subtype_Mark to
	Result_Definition in call to Make_Function_Specification.
	(Build_Body_To_Inline): Change Set_Subtype_Mark to
	Set_Result_Definition.
	(Make_Inequality_Operator): Change formal Subtype_Mark to
	Result_Definition in call to Make_Function_Specification.
	(Process_Formals): Create the new null-excluding itype if required.
	(New_Overloaded_Entity): For an entity overriding an interface primitive
	check if the entity also covers other abstract subprograms in the same
	scope. This is required to handle the general case, that is, overriding
	other interface primitives and overriding abstract subprograms inherited
	from some abstract ancestor type.
	(New_Overloaded_Entity): For an overriding entity that comes from
	source, note the operation that it overrides.
	(Check_Conformance, Type_Conformant): Addition of one new formal
	to skip controlling formals in the analysis. This is used to
	handle overloading of abstract interfaces.
	(Base_Types_Match): Add missing case for types imported from
	limited-with clauses
	(New_Overloaded_Entity): Add barrier to protect the use of
	the "alias" attribute.

From-SVN: r103883
2005-09-05 10:02:21 +02:00