Commit Graph

70809 Commits

Author SHA1 Message Date
Robert Dewar
18605ccc2b binde.adb: Minor reformatting
2005-09-01  Robert Dewar  <dewar@adacore.com>

	* binde.adb: Minor reformatting
	(Find_Elab_Order): Output warning if -p used with static elab order

From-SVN: r103856
2005-09-05 09:52:12 +02:00
Arnaud Charlet
009186e083 s-stoele.ads, [...]: Minor reformatting...
* s-stoele.ads, s-stopoo.ads, s-stratt.ads, s-strops.ads, s-unstyp.ads,
	s-valboo.ads, s-valcha.ads, s-valdec.ads, s-valenu.ads, s-valint.ads,
	s-vallld.ads, s-vallli.ads, s-valllu.ads, s-valrea.ads, s-valuns.ads,
	s-valuti.ads, s-valwch.ads, s-veboop.ads, s-vector.ads, s-vercon.ads,
	s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-wchstw.ads, s-wchwts.ads,
	s-widboo.ads, s-widcha.ads, s-widenu.ads, s-widlli.ads, s-widllu.ads,
	s-widwch.ads, s-wwdcha.ads, s-wwdenu.ads, s-wwdwch.ads, system.ads,
	table.ads, types.ads, system-vms_64.ads, s-crtl-vms64.ads,
	s-addope.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
	s-vxwork-x86.ads, system-linux-ppc.ads, i-vxwork-x86.ads,
	a-numaux-darwin.ads, a-crbtgo.ads, a-crbtgk.ads, a-crbltr.ads,
	a-coprnu.ads, a-convec.ads, a-contai.ads, a-coinve.ads, a-cohata.ads,
	a-cohama.ads, a-cihama.ads, a-cidlli.ads, a-cdlili.ads,
	a-numaux-libc-x86.ads, a-numaux-vxworks.ads, system-linux-ia64.ads,
	system-freebsd-x86.ads, system-unixware.ads, system-lynxos-ppc.ads,
	system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
	s-vxwork-alpha.ads, system-aix.ads, system-vxworks-sparcv9.ads,
	system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
	s-parame-hpux.ads, system-hpux.ads, system-vxworks-m68k.ads,
	s-vxwork-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
	s-vxwork-mips.ads, system-os2.ads, system-interix.ads,
	s-vxwork-ppc.ads, system-solaris-sparc.ads, s-vxwork-sparcv9.ads,
	system-solaris-sparcv9.ads, s-parame-vms.ads, system-vms.ads,
	s-osinte-mingw.ads, system-mingw.ads, s-parame-vms-restrict.ads,
	system-vms-zcx.ads, s-parame-ae653.ads, system-vxworks-ppc.ads,
	s-parame-vxworks.ads, system-vxworks-alpha.ads, interfac-vms.ads,
	a-numaux-x86.ads, a-astaco.ads, a-chahan.ads, a-charac.ads,
	a-chlat1.ads, a-chlat9.ads, a-colire.adb, a-colire.ads, a-comlin.ads,
	a-cwila1.ads, a-cwila9.ads, ada.ads, a-decima.ads, a-exextr.adb,
	a-filico.ads, a-finali.ads, a-interr.ads, a-ioexce.ads, a-dynpri.ads,
	a-ngcefu.ads, a-ngcefu.adb, a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.ads,
	a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-numaux.ads, a-numeri.ads,
	a-reatim.adb, a-stmaco.ads, a-storio.ads, a-strbou.ads, a-stream.ads,
	a-strfix.ads, a-string.ads, a-strmap.ads, a-strsea.ads, a-strsup.ads,
	a-strunb.ads, a-stunau.ads, a-stwibo.ads, a-stwifi.ads, a-stwima.ads,
	a-stwise.ads, a-stwisu.ads, a-stwiun.ads, a-swmwco.ads, a-textio.ads,
	csets.ads, debug.ads, dec.ads, g-curexc.ads, get_targ.ads,
	g-except.ads, system-linux-hppa.ads, a-chacon.ads, a-widcha.ads,
	a-zchara.ads, system-hpux-ia64.ads, a-ciorma.ads, a-coorma.ads,
	a-ciormu.ads, a-coormu.ads, a-rbtgso.ads, a-chzla1.ads, a-chzla9.ads,
	a-stzbou.ads, a-stzfix.ads, a-stzmap.ads, a-stzsea.ads, a-stzsup.ads,
	a-stzunb.ads, a-swunau.ads, a-szunau.ads, gnat.ads, g-regpat.ads,
	g-speche.ads, g-spitbo.ads, g-table.ads, g-tasloc.ads, g-trasym.ads,
	i-c.ads, i-cpoint.ads, i-cpp.ads, i-cstrin.ads, i-fortra.ads,
	interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads, i-os2thr.ads,
	i-vxwork.ads, output.ads, s-arit64.ads, s-atacco.ads, s-boarop.ads,
	s-casuti.ads, s-crtl.ads, s-exctab.ads, s-exnint.ads, s-exnllf.ads,
	s-exnlli.ads, s-expint.ads, s-explli.ads, s-expllu.ads, s-expmod.ads,
	s-expuns.ads, s-fatflt.ads, s-fatgen.ads, s-fatlfl.ads, s-fatllf.ads,
	s-fatsfl.ads, s-finimp.ads, s-finroo.ads, s-fore.ads, s-geveop.ads,
	s-htable.ads, s-imgbiu.ads, s-imgboo.ads, s-imgcha.ads, s-imgdec.ads,
	s-imgenu.ads, s-imgint.ads, s-imgllb.ads, s-imglld.ads, s-imglli.ads,
	s-imgllu.ads, s-imgllw.ads, s-imgrea.ads, s-imguns.ads, s-imgwch.ads,
	s-imgwiu.ads, s-io.ads, s-maccod.ads, s-mantis.ads, s-memcop.ads,
	s-pack03.ads, s-pack05.ads, s-pack06.ads, s-pack07.ads, s-pack09.ads,
	s-pack10.ads, s-pack11.ads, s-pack12.ads, s-pack13.ads, s-pack14.ads,
	s-pack15.ads, s-pack17.ads, s-pack18.ads, s-pack19.ads, s-pack20.ads,
	s-pack21.ads, s-pack22.ads, s-pack23.ads, s-pack24.ads, s-pack25.ads,
	s-pack26.ads, s-pack27.ads, s-pack28.ads, s-pack29.ads, s-pack30.ads,
	s-pack31.ads, s-pack33.ads, s-pack34.ads, s-pack35.ads, s-pack36.ads,
	s-pack37.ads, s-pack38.ads, s-pack39.ads, s-pack40.ads, s-pack41.ads,
	s-pack42.ads, s-pack43.ads, s-pack44.ads, s-pack45.ads, s-pack46.ads,
	s-pack47.ads, s-pack48.ads, s-pack49.ads, s-pack50.ads, s-pack51.ads,
	s-pack52.ads, s-pack53.ads, s-pack54.ads, s-pack55.ads, s-pack56.ads,
	s-pack57.ads, s-pack58.ads, s-pack59.ads, s-pack60.ads, s-pack61.ads,
	s-pack62.ads, s-pack63.ads, s-parame.ads, s-pooglo.ads, s-pooloc.ads,
	s-poosiz.ads, s-powtab.ads, s-purexc.ads, s-sopco3.ads, s-sopco4.ads,
	s-sopco5.ads: Minor reformatting: reindent pragma Pure/Preelaborate
	and always use the no parameter form for consistency.

	* gnat-style.texi: Document rules about Preelaborate/Pure pragmas.

From-SVN: r103855
2005-09-05 09:51:25 +02:00
Ed Schonberg
dfbe160a82 fname-sf.adb, [...]: Remove redundant use_clauses.
2005-09-01  Ed Schonberg  <schonberg@adacore.com>
	    Thomas Quinot  <quinot@adacore.com>

	* fname-sf.adb, mlib-tgt.ads,
	back_end.adb, casing.adb, g-debpoo.adb, g-excact.adb, g-spipat.adb,
	g-spipat.ads, g-thread.adb, lib-list.adb, makeutl.adb, mlib.adb,
	osint.adb, par-ch10.adb, par-load.adb, prep.adb, prj.adb, prj-attr.ads,
	prj-env.ads, prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads,
	prj-makr.adb, prj-makr.ads, prj-pars.ads, prj-part.adb, prj-strt.adb,
	prj-tree.ads, prj-util.ads, sem_dist.adb, sinput-c.ads, sinput-l.ads,
	sinput-p.ads, styleg-c.ads, xr_tabls.adb, prj-attr-pm.ads,
	makegpr.adb: Remove redundant use_clauses.

From-SVN: r103854
2005-09-05 09:50:46 +02:00
Thomas Quinot
8267575511 g-soccon-vms.adb: Renamed to g-soccon-vms.ads
2005-09-01  Thomas Quinot  <quinot@adacore.com>

	* g-soccon-vms.adb: Renamed to g-soccon-vms.ads

	* g-soccon-vms.ads: Renamed from g-soccon-vms.adb

	* g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
	g-soccon-darwin.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
	g-soccon-solaris.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
	g-soccon-freebsd.ads: Add new constants:
	 IP_MULTICAST_IF
	 SO_RCVTIMEO/SO_SNDTIMEO
	 IOV_MAX

	* gen-soccon.c:
	Move all target-specific file inclusions and macro definitions to
	gsocket.h, in order to ensure that any C code in socket.c will see a
	set of constants that is consistent with the contents of g-soccon.ads.

	* gsocket.h: Code imported from gen-soccon.c:
	Move all target-specific file inclusions and macro definitions to
	gsocket.h, in order to ensure that any C code in socket.c will see a set
	of constants that is consistent with the contents of g-soccon.ads.
	This change also makes gen-soccon self-contained (removing dependencies
	upon GCC internal headers).

	* g-socket.adb (Send_Vector): Make calls to Writev at most IOV_MAX
	iovecs at a time.
	(To_Inet_Addr): Now a procedure instead of a function, more efficient.

	* socket.c: Minor reformatting.

From-SVN: r103853
2005-09-05 09:50:26 +02:00
Arnaud Charlet
b9260c3d60 s-taprop-vxworks.adb: Move with clauses outside Warnings Off now that dependent units are Preelaborate.
2005-09-01  Arnaud Charlet  <charlet@adacore.com>
	    Jose Ruiz  <ruiz@adacore.com>

	* s-taprop-vxworks.adb:
	Move with clauses outside Warnings Off now that dependent units are
	Preelaborate.
	(Initialize): Call Interrupt_Managemeent.Initialize to ensure proper
	initialization of this unit.
	(Specific): Add new procedures Initialize and Delete so that this
	package can be used for VxWorks 5.x and 6.x
	(ATCB_Key, ATCB_Key_Address): Moved to Specific package body to hide
	differences between VxWorks 5.x and 6.x
	Minor reformatting.
	(Timed_Delay): Remove calls to Defer/Undefer_Abort, now performed by
	caller.
	Use only Preelaborate-compatible constructs.

	* s-tpopsp-vxworks.adb (ATBC_Key, ATCB_Key_Addr): Moved from
	Primitives.Operations.
	(Delete, Initialize): New procedures.

	* s-osinte-vxworks.adb: Body used to handle differences between
	VxWorks 5.x and 6.x
	(kill, Set_Time_Slice, VX_FP_TASK): New functions.

	* s-osinte-vxworks.ads: Minor reformatting.
	Add VxWworks 6.x specific functions (only called from VxWorks 6 files).
	(VX_FP_TASK): Now a function, to handle differences between VxWorks 5
	and 6.
	(Set_Time_Slice): New function, replacing kerneltimeSlice to share code
	between Vxworks 5 and 6.
	(taskLock, taskUnlock): Removeed, no longer used.

	* adaint.c: The wait.h header is not located in the sys directory on
	VxWorks when using RTPs.
	(__gnat_set_env_value): Use setenv instead of putenv on VxWorks when
	using RTPs.
	(__gnat_dup): dup is available on Vxworks when using RTPs.
	(__gnat_dup2): dup2 is available on Vxworks when using RTPs.

	* cal.c: Use the header time.h for Vxworks 6.0 when using RTPs.

	* expect.c: The wait.h header is not located in the sys directory on
	VxWorks when using RTPs.

From-SVN: r103852
2005-09-05 09:49:24 +02:00
Arnaud Charlet
920c9376df s-tataat.adb, [...]: Replace calls to Defer/Undefer_Abortion by Defer/Undefer_Abort.
* s-tataat.adb, a-tasatt.adb:
	Replace calls to Defer/Undefer_Abortion by Defer/Undefer_Abort.

	* s-tasini.ads, s-tasini.adb (Defer_Abortion, Undefer_Abortion): Moved
	these procedures to body, and renamed Abort_Defer, Abort_Undefer.
	(Get_Exc_Stack_Addr, Set_Exc_Stack_Addr): Removed, no
	longer used.

From-SVN: r103851
2005-09-05 09:48:10 +02:00
Hristian Kirtchev
10b93b2ef0 a-tags.adb (IW_Membership): Give support to "Iface_CW_Typ in T'Class".
2005-09-01  Hristian Kirtchev  <kirtchev@adacore.com>
	    Javier Miranda  <miranda@adacore.com>
	    Gary Dismukes  <dismukes@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>

	* a-tags.adb (IW_Membership): Give support to
	"Iface_CW_Typ in T'Class". For this purpose the functionality of this
	subprogram has been extended to look for the tag in the ancestors tag
	table.
	Update the structure of the GNAT Dispatch Table to reflect the
	additional two tables used in dispatching selects.
	Introduce appropriate array types and record components in
	Type_Specific_Data to reflect the two tables.
	(Get_Entry_Index, Set_Entry_Index): Retrieve and set the entry index in
	the TSD of a tag, indexed by position.
	(Get_Prim_Op_Kind, Set_Prim_Op_Kind): Retrieve and set the primitive
	operation kind in the TSD of a tag, indexed by position.

	* a-tags.ads: Introduce an enumeration type to capture different
	primitive operation kinds. Define a constant reflecting the number of
	predefined primitive operations.
	(Get_Entry_Index, Set_Entry_Index): Set and retrieve the entry index
	of an entry wrapper.
	(Get_Prim_Op_Kind, Set_Prim_Op_Kind): Set and retrieve the kind of
	callable entity of a primitive operation.

	* exp_ch3.adb (Freeze_Record_Type): Generate the declarations of the
	primitive operations used in dispatching selects for limited
	interfaces, limited tagged, task and protected types what implement a
	limited interface.
	(Freeze_Type): Generate the bodies of the primitive operations used in
	dispatching selects for limited tagged, task and protected types that
	implement a limited interface. Generate statements to populate the two
	auxiliary tables used for dispatching in select statements.
	(Freeze_Record_Type): Add call to initialize the dispatch table entries
	associated with predefined interface primitive operations.
	(Build_Dcheck_Function): Change Set_Subtype_Mark to
	Set_Result_Definition.
	(Build_Variant_Record_Equality): Change Subtype_Mark to
	Result_Definition.
	(Freeze_Enumeration_Type): Change Subtype_Mark to Result_Definition.
	(Predef_Spec_Or_Body): Change Subtype_Mark to Result_Definition.
	(Build_Assignment): Simplify the code that adds the run-time-check.
	(Expand_N_Object_Declaration): Code cleanup.

	* exp_ch7.adb (Make_Clean): Select the appropriate type for locking
	entries when there is a protected type that implements a limited
	interface.

	* exp_ch9.adb: Add package Select_Expansion_Utilities that contains
	common routines used in expansion of dispatching selects.
	(Add_Private_Declarations): Select the appropriate protection type when
	there is a protected type that implements a limited interface.
	(Build_Parameter_Block): Generate a wrapped parameter block.
	(Build_Protected_Subprogram_Body): Select the appropriate type for
	locking entries when there is a protected type that implements a
	limited interface.
	(Build_Wrapper_Spec): Set the flag and wrapped entity for procedures
	classified as entry wrappers.
	(Expand_N_Asynchronous_Select): Add support for expansion of dispatching
	asynchronous selects.
	(Expand_N_Conditional_Entry_Call): Add support for expansion of
	dispatching conditional selects.
	(Expand_N_Protected_Type_Declaration): Select the appropriate type for
	protection when there is a protected type that implements limited
	interfaces.
	(Expand_N_Timed_Entry_Call): Add support for expansion of dispatching
	timed selects.
	(Extract_Dispatching_Call): Extract the entity of the name of a
	dispatching call, the object parameter, actual parameters and
	corresponding formals.
	(Make_Initialize_Protection): Correct logic of protection initialization
	when there is a protected type that implements a limited interface.
	(Parameter_Block_Pack): Populate a wrapped parameter block with the
	values of actual parameters.
	(Parameter_Block_Unpack): Retrieve the values from a wrapped parameter
	block and assign them to the original actual parameters.

	* exp_ch9.ads (Subprogram_Protection_Mode): New type.
	(Build_Protected_Sub_Specification): Change the type and name of the
	last formal to account for the increased variety of protection modes.

	* einfo.ads, einfo.adb (Was_Hidden): New attribute. Present in all
	entities. Used to save the value of the Is_Hidden attribute when the
	limited-view is installed.
	(Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Retrieve and change
	the attribute of procedures classified as entry wrappers.
	(Wrapped_Entity, Set_Wrapped_Entity): Retrieve and change the wrapped
	entity of a primitive wrapper.
	(Write_Entity_Flags): Output the name and value of the
	Is_Primitive_Wrapper attribute.
	(Write_Field27_Name): Output the name and entity of the field Wrapped_
	Entity.
	(Underlying_Type): If we have an incomplete entity that comes from
	the limited view then we return the Underlying_Type of its non-limited
	view if it is already available.
	(Abstract_Interface_Alias): Flag applies to all subrogram kinds,
	including operators.
	(Write_Field26_Name): Add entry for Overridden_Operation
	(Overridden_Operation): New attribute of functions and procedures.

	* exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Return a
	predefined position in the dispatch table for the primitive operations
	used in dispatching selects.
	(Init_Predefined_Interface_Primitives): Remove the hardcoded number of
	predefined primitive operations and replace it with
	Default_Prim_Op_Count.
	(Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
	Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Update
	the names of the generated primitive operations used in dispatching
	selects.
	(Init_Predefined_Interface_Primitives): No need to inherit primitives in
	case of abstract interface types. They will be inherit by the objects
	implementing the interface.
	(Make_DT): There is no need to inherit the dispatch table of the
	ancestor interface for the elaboration of abstract interface types.
	The dispatch table will be inherited by the object implementing the
	interface.
	(Copy_Secondary_DTs): Add documentation.
	(Validate_Position): Improve this static check in case of
	aliased subprograms because aliased subprograms must have
	the same position.
	(Init_Predefined_Interface_Primitives): New subprogram that initializes
	the entries associated with predefined primitives of all the secondary
	dispatch tables.
	(Build_Anonymous_Access_Type): Removed.
	(Expand_Interface_Actuals): With the previous cleanup there is no need
	to build an anonymous access type. This allows further cleanup in the
	code generated by the expander.
	(Expand_Interface_Conversion): If the actual is an access type then
	build an internal function to handle the displacement. If the actual
	is null this function returns null because no displacement is
	required; otherwise performs a type conversion that will be
	expanded in the code that returns the value of the displaced actual.
	(Expand_Interface_Actuals): Avoid the generation of unnecessary type
	conversions that have no effect in the generated code because no
	displacement is required. Code cleanup; use local variables to
	avoid repeated calls to the subprogram directly_designated_type().

	* exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
	Classify the primitive operations used in dispatching selects as
	predefined.
	(Implements_Limited_Interface): Determine whether some type either
	directly implements a limited interface or extends a type that
	implements a limited interface.
	(Build_Task_Image_Function): Change Subtype_Mark to Result_Definition.
	(Expand_Subtype_From_Expr): Do not build actual subtype if the
	expression is limited.
	(Find_Interface_Tag): Add code to handle class-wide types and
	entities from the limited-view.

	* rtsfind.ads: Add entries in RE_Id and RE_Unit_Table for
	Get_Entry_Index, Get_Prim_Op_Kind, POK_Function, POK_Procedure,
	POK_Protected_Entry, POK_Protected_Function, POK_Protected_Procedure,
	POK_Task_Entry, POK_Task_Procedure, Prim_Op_Kind, Set_Entry_Index,
	Set_Prim_Op_Kind.

	* sem_ch9.adb (Analyze_Triggering_Alternative): Check for legal type
	of procedure name or prefix that appears as a trigger in a triggering
	alternative.

	* uintp.ads: Introduce constants Uint_11 and Uint_13.

From-SVN: r103850
2005-09-05 09:47:56 +02:00
Robert Dewar
630d30e96d exp_ch4.adb (Expand_N_In): Replace test of expression in its own type by valid test and generate warning.
2005-09-01  Robert Dewar  <dewar@adacore.com>
	    Gary Dismukes  <dismukes@adacore.com>
	    Javier Miranda  <miranda@adacore.com>

	* exp_ch4.adb (Expand_N_In): Replace test of expression in its own
	type by valid test and generate warning.
	(Tagged_Membership): Generate call to the run-time
	subprogram IW_Membership in case of "Iface_CW_Typ in Typ'Class"
	Change formal name Subtype_Mark to Result_Definition in several calls to
	Make_Function_Specification.
	(Expand_Allocator_Expression): Add tests for suppression of the AI-344
	check for proper accessibility of the operand of a class-wide allocator.
	The check can be left out if checks are suppressed or if the expression
	has a specific tagged type whose level is known to be safe.

	* exp_ch5.adb (Expand_N_Assignment_Statement): Simplify the code that
	generates the run-time check associated with null-excluding entities.
	(Expand_N_Return_Statement): Add tests to determine if the accessibility
	check on the level of the return expression of a class-wide function
	can be elided. The check usually isn't needed if the expression has a
	specific type (unless it's a conversion or a formal parameter). Also
	add a test for whether accessibility checks are suppressed. Augment
	the comments to describe the conditions for performing the check.

From-SVN: r103849
2005-09-05 09:47:26 +02:00
Arnaud Charlet
1a2c495da9 re PR ada/23646 (Ada testsuite hangs -- many new failures)
PR ada/23646

	* s-mastop-tru64.adb, s-mastop-irix.adb, s-mastop-vms.adb
	(Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
	Remove reference to System.Exceptions.

	* s-mastop-x86.adb: Removed, no longer used.

	* s-traceb-mastop.adb: Adjust calls to Pop_Frame.

	* a-excach.adb: Minor reformatting.

	* a-except.ads, a-except.adb: Remove global Warnings (Off) pragma, and
	instead fix new warnings that were hidden by this change.
	(AAA, ZZZ): Removed, replaced by...
	(Code_Address_For_AAA, Code_Address_For_ZZZ): ... these functions, who
	are used instead of constants, to help make Ada.Exception truly
	preelaborate.
	(Rcheck_*, Raise_Constraint_Error, Raise_Program_Error,
	Raise_Storage_Error): File is now a System.Address, to simplify code.
	(Elab code): Removed, no longer used.
	(Null_Occurrence): Remove Warnings Off and make this construct
	preelaborate.
	Remove code related to front-end zero cost exception handling, since
	it is no longer used.
	Remove -gnatL/-gnatZ switches.

	* a-exexda.adb (Append_Info_Exception_Name, Set_Exception_C_Msg):
	Update use of Except.Msg.

	* gnat1drv.adb, inline.adb, bindgen.adb, debug.adb, exp_ch11.ads,
	freeze.adb, frontend.adb, lib.adb, exp_ch11.adb: Remove code related
	to front-end zero cost exception handling, since it is no longer used.
	Remove -gnatL/-gnatZ switches.

	* lib-writ.ads: Minor reformatting
	Remove doc of UX

	* Makefile.rtl: Remove references to s-except*, s-mastop-x86*

	* Make-lang.in: Remove references to s-except.ads

	* s-except.ads: Removed, no longer used.

	* s-mastop.ads, s-mastop.adb:
	(Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
	Remove reference to System.Exceptions.

	* raise.h, usage.adb, targparm.adb, targparm.ads, switch-m.adb,
	switch-b.adb: Remove code related to front-end zero cost exception
	handling, since it is no longer used.
	Remove -gnatL/-gnatZ switches.

From-SVN: r103848
2005-09-05 09:46:59 +02:00
Arnaud Charlet
3b91d88ea1 a-calend-mingw.adb: Add call to OS_Primitives.Initialize;
* a-calend-mingw.adb: Add call to OS_Primitives.Initialize;

	* s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
	s-taprop-os2.adb, s-taprop-irix-athread.adb, s-taprop-linux.adb,
	s-taprop-hpux-dce.adb, s-taprop-irix.adb, s-taprop-tru64.adb,
	s-taprop-lynxos.adb: Move with clauses outside Warnings Off now that
	dependent units are Preelaborate.
	(Initialize): Call Interrupt_Managemeent.Initialize and
	OS_Primitives.Initialize to ensure proper initialization of this unit.
	Remove use of System.Soft_Links
	Make this unit Preelaborate.

	* s-stache.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
	s-taspri-vms.ads, s-tasinf-solaris.ads, s-taspri-os2.ads,
	s-taspri-lynxos.ads, s-taspri-hpux-dce.ads, s-taspri-tru64.ads,
	s-tasinf-tru64.ads, s-tasinf-irix.ads, s-tasinf-irix-athread.ads,
	s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
	s-tratas.ads, s-tasinf.ads: Minor reformatting.
	Add pragma Preelaborate, since these packages are suitable for this
	categorization.
	Update comments.

	* s-traent-vms.ads, s-intman-dummy.adb,
	s-taprop-dummy.adb: Make this unit Preelaborate.

	* s-osprim-vxworks.adb, s-osprim-vms.adb, s-osprim-vms.ads,
	s-osprim-mingw.adb, s-intman-vxworks.ads, s-intman-vxworks.adb,
	s-intman-vms.adb, s-intman-mingw.adb, s-intman-vms.ads,
	s-osprim-unix.adb, s-osprim-os2.adb, s-osprim-solaris.adb,
	s-intman-solaris.adb, s-intman-irix-athread.adb,
	s-intman-irix.adb: Mark this unit Preelaborate.
	(Initialize): New procedure.
	Update comments.

	* s-taspri-linux.ads: Removed.

	* s-tpopsp-solaris.adb (Initialize): Create the key in this procedure,
	as done by other implementations (e.g. posix).

	* s-taprop.ads (Timed_Delay): Update spec since the caller now is
	responsible for deferring abort.
	Mark this unit Preelaborate.

	* s-taprob.adb, s-tarest.adb: Call System.Tasking.Initialize to ensure
	proper initialization of the tasking run-time.

	* s-tasdeb.ads: Mark this unit Preelaborate.
	(Known_Tasks): Add explicit default value to avoid elaboration code.

	* s-inmaop-vms.adb (Elaboration code): Add call to
	Interrupt_Management.Initialize since the elaboration code depends on
	proper initialization of this package.

	* s-intman.ads, s-inmaop-posix.adb, s-intman-posix.adb,
	s-osprim.ads, s-taprop-posix.adb, s-taspri-posix.ads,
	s-osprim-posix.adb: Make this unit Preelaborate.

	* a-calend.adb: Add call to OS_Primitives.Initialize

	* a-elchha.adb: Update use of Except.Id.Full_Name.
	Minor reformatting.
	Remove use of Ada.Exceptions.Traceback when possible, cleaner.

	* a-dynpri.adb, a-sytaco.adb, a-sytaco.ads:
	Move with clauses outside Warnings Off now that dependent units are
	Preelaborate.
	Use raise xxx with "..."; Ada 2005 form.

	* a-taside.ads, a-taside.adb:
	Remove some dependencies, to make it easier to make this unit truly
	Preelaborate.
	Rewrite some code to be conformant with Preelaborate rules.

	* g-os_lib.adb: Remove non-preelaborate code so that this unit can be
	marked Preelaborate in the future.

	* s-proinf.ads, g-string.ads, s-auxdec.ads, s-auxdec-vms_64.ads: Make
	these units Preelaborate.

	* s-exctab.adb: Update use of Except.Id.Full_Name.

	* s-soflin.ads, s-soflin.adb: Mark this unit Preelaborate_05.
	(Set_Exc_Stack_Addr_Soft, Get_Exc_Stack_Addr_NT, Set_Exc_Stack_Addr_NT,
	Set_Exc_Stack_Addr): Removed, no longer used.
	Remove reference to *Machine_State_Addr*, no longer needed.

	* s-stalib.ads: Mark this unit as Preelaborate[_05].
	(Exception_Data): Full_Name is now a System.Address so that this unit
	can be made Preelaborate.
	Clean up/simplify code thanks to Full_Name being a System.Address.
	Remove obsolete pragma Suppress (All_Checks), no longer needed.

	* s-taskin.ads, s-taskin.adb:
	Move with clauses outside Warnings Off now that dependent units are
	Preelaborate.
	Make this unit Preelaborate.
	(Initialize): New proceduure, replace elaboration code and makes the
	set up of the tasking run-time cleaner.
	(Detect_Blocking): Now a function instead of a deferred boolean, to
	obey Preelaborate rules.

	* s-tassta.adb (Finalize_Global_Tasks): Remove Get/Set_Exc_Stack_Addr
	soft links, no longer used.

	* s-traces.ads, s-traent.ads: Add pragma Preelaborate, since these
	packages are suitable for this categorization.

	* s-solita.adb: Replace use of Ada.Exception by raise xxx with "..."
	since we compile run-time sources in Ada 2005 mode.
	(Timed_Delay_T): Call Abort_Defer/Undefer around Timed_Delay, to
	avoid having s-taprop*.adb depend on s-soflin and to avoid code
	duplication.
	Remove reference to *Machine_State_Addr*, no longer needed.

From-SVN: r103847
2005-09-05 09:46:06 +02:00
GCC Administrator
ca88769356 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r103841.2
2005-09-05 00:16:15 +00:00
Thomas Koenig
0ef6349514 re PR libfortran/23321 (Direct unformatted read beyond EOF cores)
2005-09-04  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/23321
	* io/transfer.c(data_transfer_init):  Check for a too-large
	record number.  Return if sseek failed.

2005-09-04  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/23321
	* gfortran.dg/direct_io_4.f90:  New test case.

From-SVN: r103835
2005-09-04 20:36:52 +00:00
Andrew Pinski
ca59f04b87 re PR libobjc/23108 (alignment bug in libobjc/archive.c)
2005-09-04  Andrew Pinski  <pinskia@physics.uc.edu>
            Rasmus Hahn  <rassahah@neofonie.de>

        PR libobjc/23108
        * objc.dg/type-stream-1.m: New test.

2005-09-04  Andrew Pinski  <pinskia@physics.uc.edu>
            Rasmus Hahn  <rassahah@neofonie.de>

        PR libobjc/23108
        * archive.c (objc_write_type): Correct the element offset.
        (objc_read_type): Likewise.

Co-Authored-By: Rasmus Hahn <rassahah@neofonie.de>

From-SVN: r103832
2005-09-04 10:05:39 -07:00
John David Anglin
1c9ef36d01 re PR target/23721 (pt.c:9462: ICE: in change_address_1, at emit-rtl.c:1791)
PR target/23721
	* pa.c (emit_move_sequence): Fix typo in last change.

From-SVN: r103831
2005-09-04 14:51:58 +00:00
Joseph Myers
01cd3b3a19 be.po, [...]: Update.
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
	rw.po, sv.po, tr.po, vi.po: Update.

From-SVN: r103829
2005-09-04 13:28:33 +01:00
Joseph Myers
c9d25cc742 be.po, [...]: Update.
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
	rw.po, sv.po, tr.po, zh_CN.po: Update.

From-SVN: r103825
2005-09-04 13:15:19 +01:00
Tobias Schlüter
08e1fe9e0f re PR fortran/23661 ('print fmt' is unclassifiable statement in gfortran)
fortran/
	PR fortran/23661
	* io.c (match_io): Correctly backup if PRINT followed by
	symbol which is not a namelist.  Force blank between PRINT
	and namelist in free form.
testsuite/
	PR fortran/23661
	* gfortran.dg/print_fmt_1.f90, gfortran.dg/print_fmt_2.f90
	gfortran.dg/print_fmt_3.f90: New test.

From-SVN: r103824
2005-09-04 14:08:53 +02:00
GCC Administrator
b3e7378af3 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r103821.2
2005-09-04 00:16:13 +00:00
Jakub Jelinek
36dd4221c5 read.c (read_x): Take int argument instead of fnode * and digging the N from F->u.n.
* io/read.c (read_x): Take int argument instead of fnode * and
	digging the N from F->u.n.
	* io/io.h (read_x): Adjust prototype.
	* io/transfer.c (formatted_transfer): Adjust callers.  Don't clobber
	f->u.n for FMT_T.

	* gfortran.dg/fmt_t_1.f90: New test.

From-SVN: r103811
2005-09-03 20:54:55 +02:00
Jakub Jelinek
7a6b752853 re PR rtl-optimization/23454 (ICE in invert_exp_1, at jump.c:1719)
PR rtl-optimization/23454
	* reorg.c (relax_delay_slots): Only call invert_jump if any_condjump_p
	is true.

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

From-SVN: r103810
2005-09-03 20:49:51 +02:00
Mark Mitchell
f7e4e4847c re PR c++/23699 (rejects static int as non constant after "extern template")
PR c++/23699
	* decl2.c (mark_used): Always instantiate static data members
	initialized by constant expressions.
	* pt.c (instantiate_decl): Instantiate the initializers for static
	data members initialized by constant expressions.

From-SVN: r103807
2005-09-03 18:27:39 +00:00
Mark Mitchell
2725073463 re PR c++/23699 (rejects static int as non constant after "extern template")
PR c++/23699
	* decl2.c (mark_used): Always instantiate static data members
	initialized by constant expressions.
	* pt.c (instantiate_decl): Instantiate the initializers for static
	data members initialized by constant expressions.

	PR c++/21687
	* semantics.c (expand_or_defer_fn): Do not call ggc_collect when
	finishing processing for a template function in a local class.
	Revert:
	2005-09-02  Mark Mitchell  <mark@codesourcery.com>
	* parser.c (cp_parser_class_specifier): Push/pop GC contexts
	around functions in local classes.

	PR c++/23699
	* g++.dg/ext/static1.C: New test.

From-SVN: r103806
2005-09-03 18:18:48 +00:00
Richard Henderson
7c95bbfbdd re PR target/23671 (ICE in fixup_eh_region_note, at reload1.c:3808)
PR middle-end/23671
	pa.c (emit_move_sequence): Use replace_equiv_address instead of
	gen_rtx_MEM.

Co-Authored-By: John David Anglin <dave.anglin@nrc-cnrc.gc.ca>

From-SVN: r103803
2005-09-03 14:33:06 +00:00
GCC Administrator
8244630ead Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r103799.2
2005-09-03 00:16:15 +00:00
Richard Henderson
0f149d5215 frame-address.c (check_fa_mid): Avoid tail call to check_fa_work.
* gcc.c-torture/execute/frame-address.c (check_fa_mid): Avoid
        tail call to check_fa_work.

From-SVN: r103797
2005-09-02 15:26:59 -07:00
Andreas Schwab
810d4c7ba0 Move from root of repository to intented place.
From-SVN: r103796
2005-09-02 20:45:43 +00:00
Francois-Xavier Coudert
8845001b6c unix.c (stream_ttyname): Protect use of ttyname by HAVE_TTYNAME macro.
* io/unix.c (stream_ttyname): Protect use of ttyname by
	HAVE_TTYNAME macro.
	* configure.ac: Add check for ttyname.
	* config.h.in: Regenerate.
	* configure: Regenerate.

From-SVN: r103794
2005-09-02 20:24:49 +00:00
Nicolas Pitre
b107d7437b arm.c (arm_legitimize_address): Limit the value passed to bit_count to 32 bits.
* config/arm/arm.c (arm_legitimize_address): Limit the value passed
to bit_count to 32 bits.

From-SVN: r103792
2005-09-02 19:09:33 +00:00
Mark Mitchell
da6110588f re PR c++/21687 (ICE in GC with local class inside a template function)
PR c++/21687
	* parser.c (cp_parser_class_specifier): Push/pop GC contexts
	around functions in local classes.

	PR c++/21687
	* g++.dg/other/gc3.C: New test.

From-SVN: r103791
2005-09-02 18:29:28 +00:00
Andrew Pinski
01be28d829 20030711-1.c: Include stddef.h and stdio.h.
2005-08-31  Andrew Pinski  <pinskia@physics.uc.edu>

        * gcc.dg/20030711-1.c: Include stddef.h and stdio.h.
        * gcc.dg/20050826-1.c: Likewise.

From-SVN: r103789
2005-09-02 11:13:47 -07:00
Paolo Carlini
ab7654d98b 23465.cc: Reduce maximum size and lf.
2005-09-02  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/tr1/6_containers/unordered/hashtable/23465.cc:
	Reduce maximum size and lf.

From-SVN: r103783
2005-09-02 16:23:39 +00:00
Mark Mitchell
a38578e1bb re PR c++/23167 (internal compiler error: in create_tmp_var)
PR c++/23167
	* gimplify.c (gimplify_expr): Handle TREE_ADDRESSABLE types when
	generating synthetic loads from volatile lvalues.

	PR c++/23167
	* g++.dg/expr/volatile1.C: New test.

From-SVN: r103782
2005-09-02 15:39:04 +00:00
Nick Clifton
ebf178cd33 stormy16-lib2.c (__popcounthi2, [...]): New functions.
* config/stormy16/stormy16-lib2.c (__popcounthi2, __parityhi2, __ctzhi2,
__clzhi2): New functions.

From-SVN: r103779
2005-09-02 14:17:36 +00:00
Andreas Jaeger
e55a7487ca libgfortran.h: Add prototype for init_compile_options.
* libgfortran.h: Add prototype for init_compile_options.

	* io/io.h: Add prototype for notify_std.

From-SVN: r103778
2005-09-02 15:29:53 +02:00
Andrew Pinski
9bf777eedf re PR middle-end/23547 ([non-unit-at-a-time] ICE with recursive call to nested function)
2005-09-02  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/23547
        * tree-nested.c (struct var_map_elt): Mark with GTY.
        (struct nesting_info): Mark with GTY.  Mark var_map's param is struct
        var_map_elt.
        (lookup_field_for_decl): Allocate new element in GC memory.
        (lookup_tramp_for_decl): Likewise.
        (convert_nl_goto_reference): Likewise
        (create_nesting_tree): Allocate info in GC memory. Likewise for        info->var_map.
        (free_nesting_tree): Free with ggc_free instead of free.
        (root): New static variable.
        (lower_nested_functions): Remove root as local variable.  And zero out        root at the end of the function.

2005-09-02  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/23547
        * gcc.dg/pr23547.c: New test.

From-SVN: r103777
2005-09-02 05:41:08 -07:00
Richard Sandiford
b8d7f9febc re PR c/22061 (internal compiler error: in find_function_data, at function.c:317)
PR c/22061
	* gcc.c-torture/execute/pr22061-1.c,
	* gcc.c-torture/execute/pr22061-2.c,
	* gcc.c-torture/execute/pr22061-3.c,
	* gcc.c-torture/execute/pr22061-4.c: New tests.

From-SVN: r103772
2005-09-02 12:24:21 +00:00
J"orn Rennecke
f805670fc3 re PR rtl-optimization/20365 (simplify_plus_minus results are erratic)
PR rtl-optimization/20365
	* simplify-rtx.c (simplify_plus_minus_op_data): Change type of neg
	to short.  New member ix.
	(simplify_plus_minus_op_data_cmp): Break ties using ix member.
	(simplify_plus_minus): Initialize ix members before calling qsort.

From-SVN: r103771
2005-09-02 13:04:22 +01:00
Zdenek Dvorak
b8c4f9a4ce re PR tree-optimization/23626 (ICE after cunrolling)
PR tree-optimization/23626
	* tree-cfg.c (replace_uses_by): Clean up eh info.

From-SVN: r103766
2005-09-02 09:04:45 +00:00
DJ Delorie
73eb8cb642 m32c.c (m32c_valid_pointer_mode): Remove stray debug fprintf.
* config/m32c/m32c.c (m32c_valid_pointer_mode): Remove stray debug
fprintf.

From-SVN: r103761
2005-09-01 22:09:01 -04:00
David Edelsohn
13e2e16e7b rs6000.c (setup_incoming_varargs): Set MEM_NOTRAP_P.
* config/rs6000/rs6000.c (setup_incoming_varargs): Set MEM_NOTRAP_P.
        (rs6000_split_multireg_move): Use replace_equiv_address instead of
        gen_rtx_MEM.

From-SVN: r103760
2005-09-01 21:52:37 -04:00
Craig Rodrigues
bef7d862e2 Wredundant-decls-2.c: New test to check that -Wredundant-decls does not issue warning for a variable...
* gcc.dg/Wredundant-decls-2.c: New test to check that
	-Wredundant-decls does not issue warning for a variable
	definition following a declaration.

From-SVN: r103759
2005-09-02 01:26:59 +00:00
Craig Rodrigues
52d09157d5 c-decl.c (diagnose_mismatched_decls): With -Wredundant-decls...
* c-decl.c (diagnose_mismatched_decls):  With -Wredundant-decls,
	do not issue warning for a variable definition following
	a declaration.

From-SVN: r103758
2005-09-02 01:09:42 +00:00
Richard Henderson
277fc67edf re PR target/23668 (gcc.dg/i386-sse-11.c and gcc.target/i386/pr13366.c fail)
PR 23668
        * config/i386/i386.c (ix86_expand_vector_init_one_var): Restore
        conversion to CONST_VECTOR.

From-SVN: r103757
2005-09-01 17:27:56 -07:00
GCC Administrator
a78b76a532 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r103753.2
2005-09-02 00:16:19 +00:00
Richard Henderson
e3947b349c re PR middle-end/23676 (ICE: "missing REG_EH_REGION note in the end of bb")
PR 23676
        * reload1.c (reload_as_needed): Check !CALL_P before calling
        fixup_eh_region_note.
        * rtlanal.c (may_trap_p): SUBREG by itself cannot trap.

From-SVN: r103751
2005-09-01 16:35:19 -07:00
DJ Delorie
056061d8da varasm.c (output_constant): Let the target resolve conversions of addresses to non-default pointer sizes.
* varasm.c (output_constant): Let the target resolve
conversions of addresses to non-default pointer sizes.

From-SVN: r103750
2005-09-01 19:26:36 -04:00
Benjamin Kosnik
4eafe88212 std_cmath.h: Declare C99 functions and helper functions as inline.
2005-09-01  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_std/std_cmath.h: Declare C99 functions and helper
	functions as inline.

From-SVN: r103747
2005-09-01 20:59:31 +00:00
Benjamin Kosnik
d42a11e122 std_cmath.h: Declare C99 functions and helper functions as inline.
2005-09-01  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_std/std_cmath.h: Declare C99 functions and helper
	functions as inline.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>

From-SVN: r103743
2005-09-01 20:46:47 +00:00
Nicolas Pitre
868057591b arm.c (arm_legitimize_address): Split absolute addresses to alow matching ARM pre-indexed addressing mode.
* config/arm/arm.c (arm_legitimize_address): Split absolute addresses
to alow matching ARM pre-indexed addressing mode.
(arm_override_options): Remove now irrelevant comment.

From-SVN: r103742
2005-09-01 19:01:20 +00:00
Phil Edwards
d442d7d9dd config.gcc (i*86-wrs-vxworks): Update.
2005-08-30  Phil Edwards  <phil@codesourcery.com>

	* config.gcc (i*86-wrs-vxworks):  Update.  Split out vxworksae target.
	* config/i386/t-vxworks:  Update multilibs for VxWorks 6 and RTP mode.
	* config/i386/vxworks.h:  Likewise.
	* config/i386/t-vxworksae:  New file, for VxWorks AE.
	* config/i386/vxworksae.h:  Likewise.

From-SVN: r103741
2005-09-01 17:44:40 +00:00