Commit Graph

70725 Commits

Author SHA1 Message Date
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
Ed Schonberg
ec6078e39b sem_ch4.adb (Transform_Object_Operation): In a context off the form V (Obj.F)...
2005-09-01  Ed Schonberg  <schonberg@adacore.com>
	    Javier Miranda  <miranda@adacore.com>

	* sem_ch4.adb (Transform_Object_Operation): In a context off the form
	V (Obj.F), the rewriting does not involve the indexed component, but
	only the selected component itself.
	Do not apply the transformation if the analyzed node is an actual of a
	call to another subprogram.
	(Complete_Object_Operation): Retain the entity of the
	dispatching operation in the selector of the rewritten node. The
	entity will be used in the expansion of dispatching selects.
	(Analyze_One_Call): Improve location of the error message associated
	with interface.
	(Analyze_Selected_Component): No need to resolve prefix when it is a
	function call, resolution is done when parent node is resolved, as
	usual.
	(Analyze_One_Call): Add a flag to suppress analysis of the first actual,
	when attempting to resolve a call transformed from its object notation.
	(Try_Object_Operation, Transform_Object_Operastion): Avoid makind copies
	of the argument list for each interpretation of the operation.
	(Try_Object_Operation): The designated type of an access parameter may
	be an incomplete type obtained through a limited_with clause, in which
	case the primitive operations of the type are retrieved from its full
	view.
	(Analyze_Call): If this is an indirect call, and the return type of the
	access_to_subprogram is incomplete, use its full view if available.

From-SVN: r103882
2005-09-05 10:01:04 +02:00
Cyrille Comar
9dfd2ff8dc sem_ch3.ads, [...] (Analyze_Object_Declaration): Go to the underlying type to check if a type is Constrained in cases related to...
2005-09-01  Cyrille Comar  <comar@adacore.com>
	    Gary Dismukes  <dismukes@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>
	    Javier Miranda  <miranda@adacore.com>

	* sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Go to the
	underlying type
	to check if a type is Constrained in cases related to code generation
	(rather than semantic checking) since otherwise we do not generate
	similar code for mutable private types depending if their
	discriminants are visible or not.
	(Check_Abstract_Overriding): Do not complain about failure to override
	the primitive operations used in dispatching selects since they will
	always be overriden at the freeze point of the type.
	(Access_Definition): Separate out handling for resetting the scope
	of an anonymous access function result type. Retrieve the scope
	of the associated function rather than using Current_Scope, which
	does not have a consistent value (depends on whether we're in the
	middle of analyzing formal parameters). Add ??? comment about
	finding a cleaner way to handle the special cases of scope setting.
	(Process_Incomplete_Dependents): A protected operation is never a
	dispatching operation (only its wrapper may be).
	(Build_Derived_Record_Type): In case of tagged private types that
	implement interfaces add derivation of predefined primitive
	operations.
	(Derive_Subprograms): Replace the Is_Interface_Derivation parameter
	by two parameters that are used in case of derivation from abstract
	interface types: No_Predefined_Prims is used to avoid the derivation
	of predefined primitives from the interface, and Predefined
	Prims_Only is used to complete the derivation predefined primitives
	in case of private tagged types implementing interfaces.
	Fix typo in comments
	(Find_Interface_In_Descendant): Protect the frontend against
	wrong code with large circularity chains.
	(Is_Private_Overriding): Add support for entities overriding interface
	subprograms. The test failed because Entities associated with overriden
	interface subprograms are always marked as hidden (and used to build
	the secondary dispatch table); in this case the overriden entity is
	available through the field abstract_interface_alias (cf. override_
	dispatching_operation)
	(Access_Definition): Set the scope of the type to Current_Scope for the
	case of a function with an anonymous access result type.
	(Access_Subprogram_Declaration): Handle creation of the type entity for
	an access-to-function type with an anonymous access result.
	(Check_Anonymous_Access_Types): Change Subtype_Mark to Result_Definition
	in handling for N_Access_Function_Definition.
	(Analyze_Subtype_Declaration): Modify the text of error message.
	(Derived_Type_Declaration): Modify the text of error message.
	(Process_Subtype): Modify the text of error message plus cleanup
	of one redundant error message.
	(Analyze_Component_Declaration): Code cleanup.
	(Analyze_Object_Declaration): Code cleanup.
	(Analyze_Subtype_Declaration): Propagate the null-exclusion
	attribute in case of access types. Code cleanup.
	(Array_Type_Declaration): Code cleanup.
	(Process_Discriminants): Create the new null-excluding itype
	if required. Code cleanup.
	(Process_Subtype): Create the new null-excluding itype if
	required. Code cleanup.
	(Build_Derived_Record_Type): Code cleanup to avoid calling
	twice the subprogram derive_subprograms in case of private
	types that implement interfaces. In this particular case the
	subprogram Complete_Subprograms_Derivation already does the
	job associated with the second call.

        * exp_strm.adb (Build_Elementary_Input_Call): Add an explicit
        conversion to the full view when generating an operation for a
        discriminant whose type may currently be private.

From-SVN: r103881
2005-09-05 10:00:11 +02:00
Thomas Quinot
27e6455d37 sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Reject the clause if the array aggregate is surrounded by parentheses.
2005-09-01  Thomas Quinot  <quinot@adacore.com>

	* sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Reject the
	clause if the array aggregate is surrounded by parentheses.

From-SVN: r103880
2005-09-05 09:59:42 +02:00
Ed Schonberg
48aa1f1a61 sem_ch12.adb (Instantiate_Subprogram_Body): When creating the defining entity for the instance body...
2005-09-01  Ed Schonberg  <schonberg@adacore.com>
	    Javier Miranda  <miranda@adacore.com>
	    Gary Dismukes  <dismukes@adacore.com>

	* sem_ch12.adb (Instantiate_Subprogram_Body): When creating the
	defining entity for the instance body, make a new defining identifier
	rather than copying the entity of the spec, to prevent accidental
	sharing of the entity list.
	(Check_Private_View): When exchanging views of private types, build the
	list of exchanged views as a stack, to ensure that on exit the exchanges
	are undone in the proper order.
	(Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
	Restore the compilation environment in case of instantiation_error.
	(Analyze_Generic_Subprogram_Declaration): Handle creation of type entity
	for an anonymous access result.
	(Instantiate_Generic_Subprogram): Subtype_Mark => Result_Definition
	(Formal_Entity): Handle properly the case of a formal package that
	denotes a generic package renaming.

From-SVN: r103879
2005-09-05 09:59:10 +02:00
Javier Miranda
f818564703 sem_ch10.adb (In_Chain): Moved from the scope of a subprogram to become local to the whole package.
2005-09-01  Javier Miranda  <miranda@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (In_Chain): Moved from the scope of a subprogram to
	become local to the whole package.
	(Install_Limited_Withed_Unit): Instead of unchaining real entities if
	the package was already analyzed the new algorithm "replaces" the
	real entities by the shadow ones. This is required to ensure that
	the order of these entities in the homonym chains does not change;
	otherwise we can have undefined references at linking time because
	in case of conflicts the external name of the entities will have
	a suffix that depends on the order of the entities in the chain.
	(Remove_Limited_With_Clause): Complementary code that completes the
	new algorithm and replaces the shadow entities by the real ones.
	(Install_Limited_Withed_Unit): When unchaining entities before the
	installation of the shadow entities, only regular entities of the
	public part must be taken into account. This is required to
	keep this routine in synch with the work done by Remove_Limited_
	With_Clause
	(Install_Limited_With_Clause): Introduce implicit limited_with_clause
	even if unit is analyzed, because the analysis of the unit is
	idempotent in any case, and the limited view of the unit may have to
	be installed for proper visibility.
	(Expand_Limited_With_Clause): Even if the unit in the implicit
	with_clause has been analyzed already, a limited view of the package
	must be built for the current context, if it does not exist yet.

From-SVN: r103878
2005-09-05 09:58:52 +02:00
Robert Dewar
0835f1d7fa sem_cat.adb (Check_Categorization_Dependencies): Add more detail to error msgs for most common cases.
2005-09-01  Robert Dewar  <dewar@adacore.com>

	* sem_cat.adb (Check_Categorization_Dependencies): Add more detail to
	error msgs for most common cases.
	Use new errout insertion char < (conditional warning)

From-SVN: r103877
2005-09-05 09:58:38 +02:00
Thomas Quinot
c4e5e10fdd re PR ada/9087 (Component_Size for packed array returns wrong values)
2005-09-01  Thomas Quinot  <quinot@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>
	    Robert Dewar  <dewar@adacore.com>

	* sem_attr.adb (Resolve_Attribute, case 'Address): For an illegal
	'Address attribute reference with an overloaded prefix, use the
	location of the prefix (not the location of the attribute reference) as
	the error location.
	(Analyze_Attribute, case 'Size): The name of an enumeration literal, or
	a function renaming thereof, is a valid prefix for 'Size (where it is
	intepreted as a function call).
	(Statically_Denotes_Entity): New predicate to determine whether the
	prefix of an array attribute can be considered static.

	PR ada/9087
	(Eval_Attr): Fix failure to evaluate Component_Size for
	unconstrained arrays (resulted in wrong value in packed case, since
	back end cannot handle this case)

From-SVN: r103876
2005-09-05 09:58:05 +02:00
Robert Dewar
d52f1094e5 scng.adb (Check_End_Of_Line): Count characters, rather than bytes (makes a difference for wide characters)
2005-09-01  Robert Dewar  <dewar@adacore.com>

	* scng.adb (Check_End_Of_Line): Count characters, rather than bytes
	(makes a difference for wide characters)

	* widechar.adb, widechar.ads:
	Add Wide_Char_Byte_Count feature to count chars vs bytes

From-SVN: r103875
2005-09-05 09:56:34 +02:00
Vincent Celier
09245ac9a7 prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not add the object directories of projects that have no Ada sources.
2005-09-01  Vincent Celier  <celier@adacore.com>

	* prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not add the object
	directories of projects that have no Ada sources.

From-SVN: r103874
2005-09-05 09:56:15 +02:00
Robert Dewar
6e18b0e511 opt.ads, opt.adb: Add new switches Debug_Pragmas_Enabled[_Config]
2005-09-01  Robert Dewar  <dewar@adacore.com>

	* opt.ads, opt.adb: Add new switches Debug_Pragmas_Enabled[_Config]

	* par-prag.adb: Implement new pragma Debug_Policy

	* sem_prag.adb Implement new pragma Debug_Policy
	(Analyze_Pragma, case Pack): do not let pragma Pack override an explicit
	Component_Size attribute specification. Give warning for ignored pragma
	Pack.

	* snames.h, snames.ads, snames.adb: Introduce entries in
	Preset_Names for Name_Disp_Asynchronous_Select,
	Name_Disp_Conditional_Select, Name_Disp_Get_Prim_Op_Kind,
	Name_Disp_Timed_Select.
	New pragma Debug_Policy

	* switch-c.adb (Scan_Front_End_Switches): Set Ada 2005 mode
	explicitly.
	Switch -gnata also sets Debug_Pragmas_Enabled

	* sem.adb, par.adb (Set_Opt_Config_Switch): Add parameter Main_Unit to
	handle an explicit -gnata when compiling predefined files.

From-SVN: r103873
2005-09-05 09:56:02 +02:00