Commit Graph

80097 Commits

Author SHA1 Message Date
Geert Bosch
0669bebef6 exp_ch4.adb (Expand_N_Type_Conversion): Remove special processing for conversion of a Float_Type'Truncation to integer.
2007-04-06  Geert Bosch  <bosch@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>
	    Javier Miranda  <miranda@adacore.com>
	    Bob Duff  <duff@adacore.com>

	* exp_ch4.adb (Expand_N_Type_Conversion): Remove special processing
	for conversion of a Float_Type'Truncation to integer.

	* exp_attr.adb (Is_Inline_Floating_Point_Attribute): New function to
	check if a node is an attribute that can be handled directly by the
	back end.
	(Expand_N_Attribute_Reference): Suppress expansion of floating-point
	attributes that can be handled directly by the back end.
	(Expand_N_Attribute_Reference, case 'Access and 'Unchecked_Access):
	use new predicate Is_Access_Protected_Subprogram_Type.
	(Expand_N_Attribute_Reference, case 'Write): The reference is legal for
	and Unchecked_Union if it is generated as part of the default  Output
	procedure for a type with default discriminants.
	(Expand_N_Attribute_Reference): Avoid the expansion of dispatching calls
	if we are compiling under restriction No_Dispatching_Calls.
	(Constrained): Use Underlying_Type, in case the type is private without
	discriminants, but the full type has discriminants.
	(Expand_N_Attribute_Reference): Replace call to Get_Access_Level by
	call to Build_Get_Access_Level.
	(Expand_N_Attribute_Reference): The use of 'Address with class-wide
	interface objects requires a call to the run-time subprogram that
	returns the base address of the object.
	(Valid_Conversion): Improve error message on illegal attempt to store
	an anonymous access to subprogram value into a record component.

	* sem_res.adb (Resolve_Equality_Op): Detect ambiguity for "X'Access =
	null".
	(Simplify_Type_Conversion): New procedure that performs simplification
	of Int_Type (Float_Type'Truncation (X)).
	(Resolve_Type_Conversion): Call above procedure after resolving operand
	and before performing checks. This replaces the existing ineffective
	code in Exp_Ch4.
	(Set_String_Literal_Subtype): When creating the internal static lower
	bound subtype for a string literal, use a newly created copy of the
	subtree representing the lower bound.
	(Resolve_Call): Exclude build-in-place function calls from transient
	scope treatment. Update comments to describe this exception.
	(Resolve_Equality_Op): In case of dispatching call check violation of
	restriction No_Dispatching_Calls.
	(Resolve_Call): If the call returns an array, the context imposes the
	component type of the array, and the function has one non-defaulted
	parameter, rewrite the call as the indexing of a call with a single
	parameter, to handle an Ada 2005 syntactic ambiguity for calls written
	in prefix form.
	(Resolve_Actuals): If an actual is an allocator for an access parameter,
	the master of the created object is the innermost enclosing statement.
	(Remove_Conversions): For a binary operator, check if type of second
	formal is numeric, to check if an abstract interpretation is present
	in the case of exponentiation as well.

From-SVN: r123552
2007-04-06 11:17:46 +02:00
Ed Schonberg
ea1941af7f exp_ch3.ads, [...] (Analyze_N_Full_Type_Declaration): For an anonymous access component...
2007-04-06  Ed Schonberg  <schonberg@adacore.com>
	    Javier Miranda  <miranda@adacore.com>

	* exp_ch3.ads, exp_ch3.adb (Analyze_N_Full_Type_Declaration): For an
	anonymous access component, do not create a master_id if type already
	has one, as may happen if the type is a subcomponent of a packed array
	type.
	(Build_Init_Procedure, Component_Needs_Simple_Initialization,
	Initialize_Tag): Remove code associated with the old CPP pragmas.
	CPP_Virtual and CPP_Vtable are no longer supported.
	(Build_Offset_To_Top_Internal): Add support for concurrent record types
	(Build_Offset_To_Top_Functions): Add support for concurrent record types
	(Freeze_Record_Type): Remove call to
	Init_Predefined_Interface_Primitives.
	(Init_Secondary_Tags.Initialize_Tag): New subprogram containing all the
	code required to initialize the tags of the secondary dispatch tables.
	This leaves the algoritm more clear.
	(Init_Secondary_Tags): Add support for concurrent record types
	(Make_Predefined_Primitive_Specs): Code cleanup.
	(Predefined_Primitive_Bodies): Code cleanup.
	(Build_Master_Renaming): New local subprogram.
	(Expand_N_Full_Type_Declaration): Build the master_id associated with
	anonymous access to task type components.
	(Expand_N_Subtype_Indication): The bounds of a range constraint in a
	subtype indication are resolved during analysis, and must not be done
	here.
	(Stream_Operation_OK): Check Restriction_Active before RTE_Available.

From-SVN: r123551
2007-04-06 11:17:34 +02:00
Javier Miranda
3d6efb77de a-tags.ads, a-tags.adb (Object_Specific_Data): Remove component Num_Prim_Ops.
2007-04-06  Javier Miranda  <miranda@adacore.com>

	* a-tags.ads, a-tags.adb (Object_Specific_Data): Remove
	component Num_Prim_Ops.
	(Set_Num_Prim_Ops): Removed.
	Remove all the assertions because all the routines of this
	package are inline always.
	(Get_Offset_Index): Add support to primary dispatch tables.
	Move the documentation about the dispatch table to a-tags.ads
	(Set_External_Tag): Removed
	(Inherit_TSD): Removed.
	(Interface_Data_Element, Interfaces_Array, Interface_Data): Declarations
	moved to a-tags.ads
	(Displace, IW_Membership, Inherit_TSD, Interface_Ancestor_Tags,
	Register_Interface_Tag, Set_Offset_To_Top): Update all the occurrences
	of the TSD field "Table" because this field has been renamed to
	"Ifaces_Table".
	(Inherit_CPP_DT): Removed.
	(K_Typeinfo, K_Offset_To_Top, K_Tagged_Kind, K_Signature,
	Cstring, Tag_Table, Type_Specific_Data, Dispatch_Table): These
	declarations have been moved to a-tags.ads
	(Check_Size): Removed.
	(Expanded_Name): Updated to get access to the new field of TSD
	containing the address of the expanded name.
	(Get_Access_Level/Set_Access_Level): Removed.
	(Get_Predefined_Prim_Op_Address): Removed.
	(Set_Predefined_Prim_Op_Address): Removed.
	(Get_Prim_Op_Address/Set_Prim_Op_Address): Removed.
	(Get_Remotely_Callable/Set_Remotely_Callable): Removed.
	(Set_Expanded_Name): Removed.
	(Inherit_DT): Removed.
	(Inherit_CPP_DT): Removed.
	(Set_RC_Offset): Removed.
	(Set_TSD): Removed.
	(Base_Address): New function that displaces "this" to point to the base
	of the object (that is, to point to the primary tag of the object).

From-SVN: r123550
2007-04-06 11:17:23 +02:00
Jose Ruiz
9887261389 a-retide.adb: Add elaboration code to ensure that the tasking run time is initialized when...
2007-04-06  Jose Ruiz  <ruiz@adacore.com>

	* a-retide.adb: Add elaboration code to ensure that the tasking run
	time is initialized when using delay operations even when no task is
	created.

From-SVN: r123549
2007-04-06 11:17:12 +02:00
Quentin Ochem
35a41b73c7 ali.ads, ali.adb (Get_Nat): Raise an exception if the file cursor is not on a natural.
2007-04-06  Quentin Ochem  <ochem@adacore.com>

	* ali.ads, ali.adb (Get_Nat): Raise an exception if the file cursor is
	not on a natural.
	(Scan_ALI): Cancel the xref line if there has been a reading ALI error.

From-SVN: r123548
2007-04-06 11:17:01 +02:00
Pascal Obry
320ae22ae0 g-os_lib.ads (Current_Time): New function.
2007-04-06  Pascal Obry  <obry@adacore.com>
	    Thomas Quinot  <quinot@adacore.com>

	* g-os_lib.ads (Current_Time): New function. Returns the current
	system time as an OS_Time value.

	* s-osprim.ads (Clock): Add more precise definition of UNIX epoch.
	(Monotonic_Clock): Same.

From-SVN: r123547
2007-04-06 11:16:52 +02:00
Pascal Obry
2c851ddd1c s-osprim-mingw.adb (Timed_Delay): Use the right clock (standard one or the monotonic used by Ada.Real_Time) to...
2007-04-06  Pascal Obry  <obry@adacore.com>

	* s-osprim-mingw.adb (Timed_Delay): Use the right clock (standard one
	or the monotonic used by Ada.Real_Time) to compute the sleep duration
	on Windows.

From-SVN: r123546
2007-04-06 11:15:56 +02:00
Matt Gingell
2d7475246d system-aix.ads: Back out previous change.
2007-04-06  Matt Gingell  <gingell@adacore.com>

	* system-aix.ads: Back out previous change.
	(Functions_Return_By_DSP): Removed

From-SVN: r123545
2007-04-06 11:15:45 +02:00
Olivier Hainque
c99c095f99 adaint.c:
2007-04-06  Olivier Hainque  <hainque@adacore.com>

	* adaint.c: 
	(convert_addresses): Adjust prototype and dummy definition to expect an
	 extra file_name argument.

	* gmem.c (__gnat_convert_addresses): Wrapper to convert_addresses,
	filling the now expected file_name argument with the appropriate
	argv[0] expansion.
	(__gnat_gmem_a2l_initialize, __gnat_gmem_read_next_frame): Use it.
	(tracebk): Array of void * instead of char *, corresponding to what
	 convert_addresses expects.
	(exename): New static global, to hold the executable file name to be
	used in all convert_addresses invocations.
	(gmem_read_backtrace, __gnat_gmem_symbolic): Account for tracebk type
	change.
	(__gnat_gmem_a2l_initialize): Resolve exename.
	(__gnat_convert_addresses): Use exename as the convert_addresses
	file_name argument.

	* g-trasym.adb (Symbolic_Traceback): Adjust signature of imported
	"convert_addresses", now expecting a filename argument. Import the
	necessary entities to compute the filename to use and pass it to
	convert_addresses.

From-SVN: r123544
2007-04-06 11:15:36 +02:00
Hristian Kirtchev
4290763286 a-calend-vms.ads, [...]: New version of Ada.Calendar which supports the new upper bound of Ada time...
2007-04-06  Hristian Kirtchev  <kirtchev@adacore.com>
	    Vincent Celier  <celier@adacore.com>

	* a-calend-vms.ads, a-calend.ads, a-calend.adb, a-calend-vms.adb:
	New version of Ada.Calendar which supports the new upper bound of Ada
	time (2399-12-31 86_399.999999999).
	The following modifications have been made to the package:
	 - New representation of time as count of nanoseconds since the start of
	   Ada time (1901-1-1 0.0).
	 - Target independent Split and Time_Of routines which service both
	   Ada 95 and Ada 2005 code.
	 - Target independent interface to the Ada 2005 children of Calendar.
	 - Integrated leap seconds into Ada 95 and Ada 2005 mode.
	 - Handling of non-leap centenial years.
	 - Updated clock function.
	 - Updated arithmetic and comparison operators.

	* a-caldel.adb (To_Duration): Add call to target independent routine in
	Ada.Calendar to handle the conversion of time to duration.

	* sysdep.c (__gnat_localtime_tzoff): Test timezone before setting off
	(UTC Offset).
	If timezone is obviously incorrect (outside of -14 hours .. 14 hours),
	set off to 0.
	(__gnat_localtime_tzoff for Lynx and VxWorks): Even though these
	targets do not have a natural time zone, GMT is used as a default.
	(__gnat_get_task_options): New.

	* a-direct.adb (Modification_Time): Add with and use clauses for
	Ada.Calendar and Ada.
	Calendar.Formatting. Remove with clause for Ada.Unchecked_Conversion
	since it is no longer needed.
	(Duration_To_Time): Removed.
	(OS_Time_To_Long_Integer): Removed.
	(Modification_Time): Rewritten to use Ada.Calendar and Ada.Calendar.
	Formatting Time_Of routines which automatically handle time zones,
	buffer periods and leap seconds.

	* a-calari.ads, a-calari.adb ("+", "-", Difference): Add calls to
	target independent routines in Ada.Calendar.

	* a-calfor.ads, a-calfor.adb: 
	Code cleanup and addition of validity checks in various routines.
	(Day_Of_Week, Split, Time_Of): Add call to target independent routine in
	Ada.Calendar.

	* a-catizo.ads, a-catizo.adb (UTC_Time_Offset): Add call to target
	independent routine in Ada.Calendar.

From-SVN: r123543
2007-04-06 11:15:21 +02:00
Thomas Quinot
3d3bf932b9 g-stsifd-sockets.adb: New file.
2007-04-06  Thomas Quinot  <quinot@adacore.com>
	    Pat Rogers  <rogers@adacore.com>
	    Pascal Obry  <obry@adacore.com>

	* g-stsifd-sockets.adb: New file.

	* g-socthi.ads, g-socket.adb, g-socthi-vxworks.adb,
	g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi-vms.ads,
	g-socthi-vms.adb: Move signalling
	fd management to a nested package, so that they can conveniently be
	moved to a subunit that is shared across Windows, VMS, and VxWorks
	(Ada implementation) or completed with imported bodies from socket.c
	(UNIX case).
	(Read_Signalling_Fd, Write_Signalling_Fd, Create_Signalling_Fds): New
	subprograms.
	(Check_Selector): Use Read_Signalling_Fd to read and discard data from
	the signalling file descriptor.
	(Abort_Selector): Use Write_Signalling_Fd to write dummy data to the
	signalling file descriptor.
	(Create_Selector): Use new C-imported subprogram Create_Signalling_Fds
	instead of creating a pair of sockets for signalling here.

	* g-socthi.adb: Ditto.
	Set the runtime process to ignore SIGPIPEs on platforms that support
	neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.

	* g-socthi-mingw.adb: Ditto.
	(WS_Version): Use Windows 2.2.
	Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.

	* g-soliop-mingw.ads: Link with ws2_32 for Windows 2.x support.
	Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.

	* Makefile.in: New libgnat pair g-stsifd.adb<g-stsifd-sockets.adb.
	added GNAT byte swapping facility
	Update FreeBSD THREADSLIB from -lc_r to -lpthread, for FreeBSD 6.

	* g-bytswa.adb, g-bytswa-x86.adb, g-bytswa.ads: New files.

	* socket.c (__gnat_read_signalling_fd, __gnat_write_controlling_fd):
	New subprograms.
	(__gnat_create_signalling_fds): New subprogram.
	Set the runtime process to ignore SIGPIPEs on platforms that support
	neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.

From-SVN: r123542
2007-04-06 11:15:09 +02:00
Robert Dewar
baa3441ddf 2007-04-06 Robert Dewar <dewar@adacore.com>
* a-except.adb, a-except.ads, a-except-2005.ads, a-except-2005.adb
	(Local_Raise): New dummy procedure called when a raise is converted
	to a local goto. Used for debugger to detect that the exception
	is raised.

	* debug.adb: Document new d.g flag (expand local raise statements to
	gotos even if pragma Restriction (No_Exception_Propagation) is not set)

	* exp_sel.adb: Use Make_Implicit_Exception_Handler

	* exp_ch11.adb (Expand_Exception_Handlers): Use new flag -gnatw.x to
	suppress warnings for unused handlers.
	(Warn_If_No_Propagation):  Use new flag -gnatw.x to suppress
	warnings for raise statements not handled locally.
	(Get_RT_Exception_Entity): New function
	(Get_Local_Call_Entity): New function
	(Find_Local_Handler): New function
	(Warn_If_No_Propagation): New procedure
	(Expand_At_End_Handler): Call Make_Implicit_Handler
	(Expand_Exception_Handlers): Major additions to deal with local handlers
	(Expand_N_Raise_Constraint_Error, Expand_N_Raise_Program_Error,
	Expand_N_Raise_Storage_Error, (Expand_N_Raise_Statement): Add handling
	for local raise

	* exp_ch11.ads (Get_RT_Exception_Entity): New function
	(Get_Local_Call_Entity): New function

	* gnatbind.adb (Restriction_List): Add No_Exception_Propagation to list
	of restrictions that the binder will never suggest adding.

	* par-ch11.adb (P_Exception_Handler): Set Local_Raise_Statements field
	to No_Elist.

	* restrict.adb (Check_Restricted_Unit): GNAT.Current_Exception may not
	be with'ed in the presence of pragma Restriction
	(No_Exception_Propagation).

	* sem.adb (Analyze): Add entries for N_Push and N_Pop nodes

	* sem_ch11.adb (Analyze_Exception_Handler): If there is a choice
	parameter, then the handler is not a suitable target for a local raise,
	and this is a violation of restriction No_Exception_Propagation.
	(Analyze_Handled_Statements): Analyze choice parameters in exception
	handlers before analyzing statement sequence (needed for proper
	detection of local raise statements).
	(Analyze_Raise_Statement): Reraise statement is a violation of the
	No_Exception_Propagation restriction.

	* s-rident.ads: Add new restriction No_Exception_Propagation

	* tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): New
	function, like Make_Exception_Handler but sets Local_Raise_Statements
	to No_List.
	(Add_Unique_Serial_Number): Deal with case where this is called during
	processing of configuration pragmas.

From-SVN: r123541
2007-04-06 11:14:55 +02:00
Arnaud Charlet
c5173b1ab3 s-osinte-lynxos-3.ads, [...] (Create_Task): Fix handling of Task_Info.
2007-04-06  Arnaud Charlet  <charlet@adacore.com>

	* s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
	s-osinte-freebsd.ads, s-osinte-aix.ads, s-osinte-darwin.ads,
	s-taprop-posix.adb (Create_Task): Fix handling of Task_Info.
	(PTHREAD_SCOPE_PROCESS, PTHREAD_SCOPE_SYSTEM): New constants.

From-SVN: r123540
2007-04-06 11:14:36 +02:00
Robert Dewar
0903be2332 system-linux-ia64.ads, [...] (Functions_Return_By_DSP_On_Target): Removed
2007-04-06  Robert Dewar  <dewar@adacore.com>

	* system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
	system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
	system-vxworks-sparcv9.ads, system-solaris-x86.ads, system-irix-o32.ads,
	system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
	system-linux-x86.ads, system-vxworks-mips.ads, system-interix.ads,
	system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
	system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
	system-vxworks-alpha.ads, system-vms_64.ads, system-darwin-ppc.ads,
	system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads,
        system-hpux-ia64.ads, targparm.adb,
	targparm.ads (Functions_Return_By_DSP_On_Target): Removed

	* system.ads: Move Functions_Return_By_DSP to obsolete section,
	kept for bootstrap purposes only.

From-SVN: r123539
2007-04-06 11:14:20 +02:00
Javier Miranda
d90e94c7f7 a-coprnu.ads, a-cohata.ads, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgarso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads, a-chtgke.ads, a-chtgke.ads, a-coprnu.ads, a-contai.ads, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads, a-strhas.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads, a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads, a-stzfix.ads, a-stzhas.ads, a-szuzha.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoio.ads, a-ztinio.ads, a-zttest.ads, a-zzunio.ads, a-astaco.ads, a-charac.ads, a-chlat1.ads, ada.ads, a-dynpri.ads, a-flteio.ads, a-fwteio.ads, a-inteio.ads, a-intnam.ads, a-ioexce.ads, a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads, a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads, a-lliwti.ads, a-ncelfu.ads, a-ngcefu.ads, a-ngelfu.ads, a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads, a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads, a-nucoty.ads, a-nuelfu.ads, a-numeri.ads, a-sfteio.ads, a-sfwtio.ads, a-siteio.ads, a-siwtio.ads, a-ssitio.ads, a-ssiwti.ads, a-storio.ads, a-strfix.ads, a-string.ads, a-stwifi.ads, a-titest.ads, a-unccon.ads, a-uncdea.ads, a-wtcoio.ads, a-wtinio.ads, a-wttest.ads, calendar.ads, directio.ads, i-c.ads, ioexcept.ads, machcode.ads, sequenio.ads, text_io.ads, unchconv.ads, unchdeal.ads, a-widcha.ads, a-zchara.ads, a-stboha.ads, a-stfiha.ads, a-coteio.ads, a-envvar.ads, a-lcteio.ads, a-llctio.ads, a-scteio.ads, a-swbwha.ads, a-swfwha.ads, a-szbzha.ads, a-szfzha.ads, a-tiboio.ads, a-wwboio.ads, a-zzboio.ads, a-dispat.ads, a-tgdico.ads, expander.adb, g-socket.ads, par-labl.adb, sinput-c.adb, s-tarest.ads, s-stchop.ads, g-expect-vms.adb, s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-traceb-hpux.adb, s-taprop-linux.adb, s-taprop-dummy.adb, s-osprim-unix.adb, s-osprim-solaris.adb, s-taprop-solaris.adb, s-taprop-vms.adb, s-osprim-mingw.adb, s-taprop-mingw.adb, s-osprim-posix.adb, s-taprop-posix.adb, a-exexpr-gcc.adb, a-ststio.adb, a-ststio.ads, a-textio.adb, a-textio.ads, a-tideau.adb, a-tideau.ads, a-witeio.adb, a-witeio.ads, a-wtdeau.adb, a-wtdeau.ads, g-calend.adb, g-calend.ads, g-dirope.adb, g-expect.ads, gnatchop.adb, g-spipat.adb, g-spipat.ads, s-direio.adb, s-direio.ads, s-fatgen.adb, s-fatgen.ads, s-parint.adb, s-sequio.adb, s-sequio.ads, s-taprop.ads, s-valdec.adb, s-valdec.ads, s-valint.adb, s-valint.ads, s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads, s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads, xref_lib.adb, s-stchop.adb, i-vxwork-x86.ads, a-crbtgo.ads, a-crbtgo.adb, a-coorse.ads, a-coorse.adb, a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-chtgop.ads, a-chtgop.ads, a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-swuwha.ads, a-ciormu.ads, a-coormu.ads, a-rbtgso.ads, a-stunha.ads, a-ciorma.adb, a-coorma.adb, a-ztdeau.adb, a-ztdeau.ads, a-ztexio.adb, a-ztexio.ads...
2007-04-06  Javier Miranda  <miranda@adacore.com>
	    Matt Heaney  <heaney@adacore.com>
	    Robert Dewar  <dewar@adacore.com>

	a-coprnu.ads, a-cohata.ads, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
	a-cgarso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads, a-chtgke.ads,
	a-chtgke.ads, a-coprnu.ads, a-contai.ads, a-chtgke.ads, a-chtgke.adb,
	a-stwiha.ads, a-strhas.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
	a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads, a-stzfix.ads,
	a-stzhas.ads, a-szuzha.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoio.ads,
	a-ztinio.ads, a-zttest.ads, a-zzunio.ads, a-astaco.ads, a-charac.ads,
	a-chlat1.ads, ada.ads, a-dynpri.ads, a-flteio.ads, a-fwteio.ads,
	a-inteio.ads, a-intnam.ads, a-ioexce.ads, a-iwteio.ads, a-lfteio.ads,
	a-lfwtio.ads, a-liteio.ads, a-liwtio.ads, a-llftio.ads, a-llfwti.ads,
	a-llitio.ads, a-lliwti.ads, a-ncelfu.ads, a-ngcefu.ads, a-ngelfu.ads,
	a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads, a-nllcty.ads,
	a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads, a-nucoty.ads,
	a-nuelfu.ads, a-numeri.ads, a-sfteio.ads, a-sfwtio.ads, a-siteio.ads,
	a-siwtio.ads, a-ssitio.ads, a-ssiwti.ads, a-storio.ads, a-strfix.ads,
	a-string.ads, a-stwifi.ads, a-titest.ads, a-unccon.ads, a-uncdea.ads,
	a-wtcoio.ads, a-wtinio.ads, a-wttest.ads, calendar.ads, directio.ads,
	i-c.ads, ioexcept.ads, machcode.ads, sequenio.ads, text_io.ads,
	unchconv.ads, unchdeal.ads, a-widcha.ads, a-zchara.ads, a-stboha.ads,
	a-stfiha.ads, a-coteio.ads, a-envvar.ads, a-lcteio.ads, a-llctio.ads,
	a-scteio.ads, a-swbwha.ads, a-swfwha.ads, a-szbzha.ads, a-szfzha.ads,
	a-tiboio.ads, a-wwboio.ads, a-zzboio.ads, a-dispat.ads, a-tgdico.ads,
	expander.adb, g-socket.ads, par-labl.adb, sinput-c.adb, s-tarest.ads,
	s-stchop.ads, g-expect-vms.adb, s-taprop-lynxos.adb,
	s-taprop-tru64.adb, s-taprop-irix.adb,
	s-taprop-hpux-dce.adb, s-traceb-hpux.adb,
	s-taprop-linux.adb, s-taprop-dummy.adb, s-osprim-unix.adb,
	s-osprim-solaris.adb, s-taprop-solaris.adb, s-taprop-vms.adb,
	s-osprim-mingw.adb, s-taprop-mingw.adb, s-osprim-posix.adb, 
	s-taprop-posix.adb, a-exexpr-gcc.adb, a-ststio.adb, a-ststio.ads, 
	a-textio.adb, a-textio.ads, a-tideau.adb, a-tideau.ads, a-witeio.adb, 
	a-witeio.ads, a-wtdeau.adb, a-wtdeau.ads, g-calend.adb, g-calend.ads, 
	g-dirope.adb, g-expect.ads, gnatchop.adb, g-spipat.adb, g-spipat.ads, 
	s-direio.adb, s-direio.ads, s-fatgen.adb, s-fatgen.ads, s-parint.adb, 
	s-sequio.adb, s-sequio.ads, s-taprop.ads, s-valdec.adb, s-valdec.ads, 
	s-valint.adb, s-valint.ads, s-vallld.adb, s-vallld.ads, s-vallli.adb, 
	s-vallli.ads, s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, 
	s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads, xref_lib.adb, 
	s-stchop.adb, i-vxwork-x86.ads, a-crbtgo.ads, a-crbtgo.adb, 
	a-coorse.ads, a-coorse.adb, a-cohama.ads, a-cohama.adb, a-ciorse.ads, 
	a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-chtgop.ads, a-chtgop.ads, 
	a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cihase.ads, a-cohase.adb, 
	a-cohase.ads, a-swuwha.ads, a-ciormu.ads, a-coormu.ads, a-rbtgso.ads,
	a-stunha.ads, a-ciorma.adb, a-coorma.adb, a-ztdeau.adb, a-ztdeau.ads, 
	a-ztexio.adb, a-ztexio.ads: Addition of null-exclusion to anonymous
	access types.
	Update documentation.
	Minor rewording.

From-SVN: r123538
2007-04-06 11:13:42 +02:00
Joel Brobecker
96a94ff460 * filename_cmp.c (filename_cmp): Improve documentation.
From-SVN: r123537
2007-04-06 06:00:18 +00:00
Mike Stump
2878ea7352 Cleanup whitespacing
From-SVN: r123536
2007-04-06 00:58:34 +00:00
GCC Administrator
c7b89fc411 Daily bump.
From-SVN: r123533
2007-04-05 23:17:25 +00:00
Richard Henderson
e4bec63824 alpha.c (print_operand): Remove.
* config/alpha/alpha.c (print_operand) [+]: Remove.
        (alpha_end_function): Print nop if call at end of function.
        * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Remove +.
        * config/alpha/alpha.md (UNSPEC_LDGP1): New.
        (call_osf_1_er_noreturn, call_value_osf_1_er_noreturn): New.
        (call_osf_2_er_nogp, call_value_osf_2_er_nogp): New.
        (call_osf_2_er, call_value_osf_2_er): Merge the ldgp highpart into
        the call pattern. Update peepholes to match.

From-SVN: r123529
2007-04-05 15:39:56 -07:00
Janis Johnson
44aea9acab extend.texi (Other Builtins): Add decimal float variants of signbit.
* doc/extend.texi (Other Builtins): Add decimal float variants
	of signbit.
	* builtins.def: Ditto.
	* builtins.c (expand_builtin): Ditto.
testsuite/
	* gcc.dg/dfp/signbit-1.c
	* gcc.dg/dfp/signbit-2.c
M    gcc/doc/extend.texi
M    gcc/builtins.c
M    gcc/ChangeLog
A    gcc/testsuite/gcc.dg/dfp/signbit-2.c
A    gcc/testsuite/gcc.dg/dfp/signbit-1.c
M    gcc/testsuite/ChangeLog
M    gcc/builtins.def

From-SVN: r123528
2007-04-05 22:10:28 +00:00
Uros Bizjak
27120a5993 re PR target/31478 (Typos in sse2_umulv2siv2di3, sse2_pmaddwd, sdot_prodv8hi)
2007-04-05  Uros Bizjak  <ubizjak@gmail.com>
	    H.J. Lu  <hongjiu.lu@intel.com>

	PR target/31478
	* config/i386/sse.md (sse2_umulv2siv2di3): Use V4SImode instead
	of V8HImode when calling ix86_binary_operator_ok.
	(sse2_pmaddwd): Call ix86_binary_operator_ok.
	(sdot_prodv8hi): Operands 1 and 2 must be register.

Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>

From-SVN: r123527
2007-04-05 14:16:37 -07:00
Alexandre Oliva
fa574e5154 tree-sra.c (try_instantiate_multiple_fields): Needlessly initialize align to silence bogus warning.
* tree-sra.c (try_instantiate_multiple_fields): Needlessly
initialize align to silence bogus warning.

From-SVN: r123526
2007-04-05 21:10:26 +00:00
Alexandre Oliva
dc808df68a re PR middle-end/22156 (bit-field copying regressed)
PR middle-end/22156
* tree-sra.c (struct sra_elt): Add in_bitfld_block.  Remove
all_no_warning.
(struct sra_walk_fns): Remove use_all parameter from use.
(sra_hash_tree): Handle BIT_FIELD_REFs.
(sra_elt_hash): Don't hash bitfld blocks.
(sra_elt_eq): Skip them in parent compares as well.  Handle
BIT_FIELD_REFs.
(sra_walk_expr): Don't maintain or pass down use_all_p.
(scan_use): Remove use_all parameter.
(scalarize_use): Likewise.  Re-expand assignment to
BIT_FIELD_REF of gimple_reg.  De-scalarize before input or
output, and re-scalarize after output.  Don't mark anything
for no warning.
(scalarize_ldst): Adjust.
(scalarize_walk_gimple_modify_statement): Likewise.
(build_element_name_1): Handle BIT_FIELD_REFs.
(instantiate_element): Don't warn for any element whose parent
is used as a whole.
(instantiate_missing_elements_1): Return the sra_elt.
(canon_type_for_field): New.
(try_instantiate_multiple_fields): New.
(instantiate_missing_elemnts): Use them.
(mark_no_warning): Removed.
(generate_one_element_ref): Handle BIT_FIELD_REFs.
(REPLDUP, sra_build_elt_assignment): New.
(generate_copy_inout): Use them.
(generate_element_copy): Likewise.  Handle bitfld differences.
(generate_element_zero): Don't recurse for blocks.  Use
sra_build_elt_assignment.
(generate_one_element_int): Take elt instead of var.  Use
sra_build_elt_assignment.
(generate_element_init_1): Adjust.
(scalarize_use, scalarize_copy): Use REPLDUP.
(scalarize_ldst): Move assert before dereference.
(dump_sra_elt_name): Handle BIT_FIELD_REFs.

From-SVN: r123524
2007-04-05 18:50:34 +00:00
Steven Bosscher
21f7aaa496 * regmove.c: Fix unused variable warnings due to previous commit.
From-SVN: r123523
2007-04-05 17:57:13 +00:00
Steven Bosscher
a78f3e715c regmove.c (STACK_GROWS_DOWNWARD): Don't boolean-ize.
* regmove.c (STACK_GROWS_DOWNWARD): Don't boolean-ize.
	(regmove_bb_head): Remove.
	(copy_src_to_dest): Don't update regmove_bb_head and BB_HEAD.
	(regmove_optimize): Don't do unnecessary CFG fixes for non-existing
	problems with fixup_match_1.
	Don't initialize/free regmove_bb_head.

	(reg_is_remote_constant_p): If an insn is in the same basic block
	but not before INSN, consider it remote, too.

From-SVN: r123522
2007-04-05 16:52:26 +00:00
Anatoly Sokolov
f9ca0dee6d re PR target/25448 (Unfounded warnings from the AVR backend)
PR target/25448
	* config/avr/avr.c (avr_handle_fndecl_attribute): Use the 
	DECL_ASSEMBLER_NAME, not the DECL_NAME.

From-SVN: r123519
2007-04-05 19:43:35 +04:00
Paul Thomas
276ca25d7b re PR fortran/31483 ([4.1/4.2 only] ICE on fortran Code)
2007-04-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31483
	* trans-expr.c (gfc_conv_function_call): Give a dummy
	procedure the correct type if it has alternate returns.

2007-04-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31483
	* gfortran.dg/altreturn_5.f90: New test.

From-SVN: r123518
2007-04-05 14:06:15 +00:00
Paul Thomas
060fca4a44 re PR fortran/31292 (ICE with module procedure interface in a procedure body)
2007-04-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31292
	* decl.c (gfc_match_modproc): Go up to the top of the namespace
	tree to find the module namespace for gfc_get_symbol.

2007-04-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31292
	* gfortran.dg/contained_module_proc_1.f90: New test.

From-SVN: r123517
2007-04-05 14:00:27 +00:00
H.J. Lu
7706ca5daa i386.h (TARGET_CPU_CPP_BUILTINS): Reformat.
2007-04-05  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Reformat.
	(CONDITIONAL_REGISTER_USAGE): Likewise.

From-SVN: r123516
2007-04-05 06:17:13 -07:00
Zack Weinberg
3caecafa48 * texi2pod.pl: Correct handling of @itemize with no argument.
From-SVN: r123514
2007-04-05 05:46:41 +00:00
Tania Bento
618bf37b05 DecimalFormatSymbols.java: Added the year 2007 to Copyright information and introduced new variable, currency.
2007-04-04  Tania Bento  <tbento@redhat.com>

	* java/text/DecimalFormatSymbols.java: Added the year 2007 to
	Copyright information and introduced new variable, currency.
	(DecimalFormatSymbols(Locale)): Define currency and intlCurrencySymbol
	to "XXX", currencySymbol to "?" and localCurrency appropriately.
	(getCurrency): Fixed documentation and return the value of currency.
	(setCurrency): Fixed documentation and update the value of currency.
	(setInternationalCurrencySymbol): Fixed documentation and update the
	value of currency.
	* java/util/Currency.java: Introduced two new variables, properties
	and fractionDigits. In the static block, a properties object is
	created and the currency resource is loaded.
	(Currency(Locale)): fractionDigits is defined.
	(Currency(String)): New method.
	(getDefaultFractionDigits): Return the value of fractionDigits.
	(getInstance(String)): Check if String is equal to "XXX".

From-SVN: r123512
2007-04-05 00:15:16 +00:00
Kyle Galloway
dabf62003e VariableTable.java: Change longs to ints for argCnt and slots.
2007-04-04  Kyle Galloway  <kgallowa@redhat.com>

	* classpath/gnu/classpath/jdwp/util/VariableTable.java: Change longs
	to ints for argCnt and slots.
	(write): Replace writeLong with writeInt for the above.

From-SVN: r123511
2007-04-05 00:00:45 +00:00
Richard Henderson
51a6c5b351 * config/alpha/lib1funcs.asm: Remove unused file.
From-SVN: r123510
2007-04-04 16:34:03 -07:00
GCC Administrator
5a05e7d4dc Daily bump.
From-SVN: r123508
2007-04-04 23:17:01 +00:00
Janis Johnson
96fccd0d80 * configure: Check host, not target, for decimal float support.
From-SVN: r123503
2007-04-04 21:15:57 +00:00
Paolo Carlini
34989df3a9 valarray_array.h (__valarray_default_construct(_Tp*, _Tp*)): Use __is_scalar instead of __is_pod.
2007-04-04  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/valarray_array.h (__valarray_default_construct(_Tp*,
	_Tp*)): Use __is_scalar instead of __is_pod.

From-SVN: r123502
2007-04-04 19:06:46 +00:00
Stuart Hastings
dd1af55f6a re PR objc/31281 (ICE on ObjC try-catch blocks with next runtime)
PR 31281
	* objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile from rethrow decl.
	* testsuite/objc/execute/exceptions/pr31281.m: New.

From-SVN: r123501
2007-04-04 18:37:14 +00:00
Martin Michlmayr
59af43910d typo fix
From-SVN: r123500
2007-04-04 18:29:20 +00:00
Brooks Moses
b5456e04b4 re PR other/31356 (gcc --help=<language> option has problems in the output header line.)
PR other/31356
* gcc.c (print_specific_help): Fix --help=<language>
header line.
(common_handle_option): Support --help=common.

From-SVN: r123499
2007-04-04 11:17:30 -07:00
Brooks Moses
2c4c82dde6 re PR driver/31353 (gcc --help=target gives a linker error.)
PR other/31353
* gcc.c (main): Do not run the linker if
print_subprocess_help indicates that it shouldn't be
run.

From-SVN: r123498
2007-04-04 11:10:17 -07:00
Brooks Moses
5bb43e6d24 PRR doc/31355
PRR doc/31355
* doc/invoke.texi (--help=): Document <languages> value, fix
formatting in tables of values.

From-SVN: r123497
2007-04-04 11:09:06 -07:00
Jakub Jelinek
a0884cf09e libgomp.h (gomp_cpu_affinity, [...]): New extern decls.
* libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
	decls.
	(gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
	* env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
	(parse_affinity): New function.
	(initialize_env): Call it and gomp_init_affinity.
	* team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
	create new pthread_attr_t and call gomp_init_thread_affinity
	on it for each thread before passing the attribute to pthread_create.
	* config/linux/affinity.c: New file.
	* config/posix/affinity.c: New file.
	* configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
	* configure: Rebuilt.
	* config.h.in: Rebuilt.
	* Makefile.am (libgomp_la_SOURCES): Add affinity.c.
	* Makefile.in: Rebuilt.

From-SVN: r123494
2007-04-04 17:44:20 +02:00
Danny Smith
6acd883864 winnt-cxx.c (i386_pe_type_dllimport_p): Don't ignore dllimport attribute of virtual methods.
gcc
	* config/i386/winnt-cxx.c (i386_pe_type_dllimport_p): Don't ignore
	dllimport attribute of virtual methods.

gcc/cp
	* class.c (check_for_override): Don't remove dllmport attribute of
	virtual methods.

gcc/testsuite

	* g++.dg/ext/dllimport12.C: Update comments

From-SVN: r123492
2007-04-04 08:00:56 +00:00
Christian Bruel
df1a0dbb1e (Write After Approval): Add myself.
From-SVN: r123491
2007-04-04 08:47:08 +02:00
Chen Liqin
c668146359 crti.asm: Change _bss_start to __bss_start.
2007-04-04  Chen Liqin  <liqin@sunnorth.com.cn>

        * config/score/crti.asm: Change _bss_start to __bss_start.
        * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added.
        (OUTGOING_REG_PARM_STACK_SPACE) update.
        * config/score/score.opt: add options to make backend support
        score5, score5u, score7 and score7d.
        * config/score/score.md: Likewise.
        * config/score/misc.md: Likewise.
        * config/score/mac.md: Likewise.
        * doc/invoke.texi: Likewise.
        * doc/md.texi: update constraints define.

From-SVN: r123490
2007-04-04 01:49:10 +00:00
GCC Administrator
d4c3cb8c5c Daily bump.
From-SVN: r123487
2007-04-03 23:16:58 +00:00
Eric Christopher
8ffa7f5587 pr29902.C: Require ilp32.
2007-04-03  Eric Christopher  <echristo@apple.com>

	    * g++.dg/tree-ssa/pr29902.C: Require ilp32.

From-SVN: r123482
2007-04-03 21:43:02 +00:00
Francois-Xavier Coudert
f1412ca58a re PR fortran/31304 (REPEAT argument NCOPIES is not converted as it should)
PR fortran/31304

	* fortran/gfortran.h (gfc_charlen_int_kind): New prototype.
	* fortran/trans-types.c (gfc_charlen_int_kind): New variable.
	(gfc_init_types): Define gfc_charlen_int_kind. 
	* fortran/trans.h (gfor_fndecl_string_repeat): Remove prototype.
	* fortran/trans-decl.c (gfor_fndecl_string_repeat): Delete.
	(gfc_build_intrinsic_function_decls): Don't set
	gfor_fndecl_string_repeat.
	* fortran/trans-intrinsic.c (gfc_conv_intrinsic_repeat): Rewrite
	so that we don't have to call a library function.
	* fortran/simplify.c (gfc_simplify_repeat): Perform the necessary
	checks on the NCOPIES argument, and work with arbitrary size
	arguments.

	* intrinsics/string_intrinsics.c (string_repeat): Remove.

	* gfortran.dg/repeat_2.f90: New test.
	* gfortran.dg/repeat_3.f90: New test.
	* gfortran.dg/repeat_4.f90: New test.

From-SVN: r123481
2007-04-03 21:05:14 +00:00
Paolo Carlini
ff2ea58742 stl_algobase.h (__copy_aux(_II, _II, _OI), [...]): Use __is_pod.
2007-04-03  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algobase.h (__copy_aux(_II, _II, _OI),
	__copy_backward_aux(_BI1, _BI1, _BI2)): Use __is_pod.
	* include/bits/stl_deque.h (deque<>::_M_destroy_data(iterator,
	iterator, const std::allocator<>&)): Use __has_trivial_constructor.
	(deque<>::_M_destroy_data_dispatch): Remove.
	* include/bits/stl_uninitialized.h (uninitialized_copy(_InputIterator,
	_InputIterator, _ForwardIterator), uninitialized_fill(_ForwardIterator,
	_ForwardIterator, const _Tp&), uninitialized_fill_n(_ForwardIterator,
	_Size, const _Tp&)): Use __is_pod.
	* include/bits/stl_tempbuf.h (_Temporary_buffer::
	_Temporary_buffer(_ForwardIterator, _ForwardIterator)): Use __is_pod.
	(_Temporary_buffer::_M_initialize_buffer): Remove.
	* include/bits/stl_construct.h (_Destroy(_ForwardIterator,
	_ForwardIterator)): Use __has_trivial_destructor.
	(__destroy_aux): Remove.

From-SVN: r123480
2007-04-03 18:44:01 +00:00
Uros Bizjak
e1584860ef opt-3.c: Use -mregparm=3 only for ilp32 on x86_64 targets.
* gcc.dg/tls/opt-3.c: Use -mregparm=3 only for ilp32 on x86_64 targets.

From-SVN: r123479
2007-04-03 19:17:35 +02:00