85033 Commits

Author SHA1 Message Date
Vasiliy Fofanov
1fdc61b565 g-regist.ads, [...] (Set_Value): new parameter Expand...
2007-12-06  Vasiliy Fofanov  <fofanov@adacore.com>

	* g-regist.ads, g-regist.adb (Set_Value): new parameter Expand; when
	set to True this procedure will create the value of type REG_EXPAND_SZ.
	It was only possible to create REG_SZ values before.

From-SVN: r130842
2007-12-13 11:27:42 +01:00
Vincent Celier
422ba273d4 gnatcmd.adb (GNATCmd): Do not issue -d= switch to gnatmetric when object directory of main project...
2007-12-06  Vincent Celier  <celier@adacore.com>

	* gnatcmd.adb (GNATCmd): Do not issue -d= switch to gnatmetric when
	object directory of main project does not exist.
	On VMS, correctly set then environment variable for the source
	directories.

From-SVN: r130841
2007-12-13 11:27:32 +01:00
Robert Dewar
7b76e80551 gnat1drv.adb (Gnat1drv): Properly set new flag Opt.Real_VMS_Target
2007-12-06  Robert Dewar  <dewar@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>

	* gnat1drv.adb (Gnat1drv): Properly set new flag Opt.Real_VMS_Target

	* layout.adb (Resolve_Attribute, case 'Access): If designated type of
	context is a limited view, use non-limited view when available. If the
	non-limited view is an unconstrained array, this enforces consistency
	requirements in 3.10.2 (27).
	(Layout_Type): For an access type whose designated type is a limited
	view, examine its declaration to determine if it is an unconstrained
	array, and size the access type accordingly.
	(Layout_Type): Do not force 32-bits for convention c subprogram
	pointers in -gnatdm mode, only if real vms target.

	* sem_attr.adb (Analyze_Access_Attribute): Use new flag
	Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
	(Analyze_Access_Attribute,Attribute_Address): Remove checks for
	violations of the No_Implicit_Dynamic_Code restriction.
	(Resolve_Attribute, case 'Access): If designated type of context is a
	limited view, use non-limited view when available. If the non-limited
	view is an unconstrained array, this enforces consistency requirements
	in 3.10.2 (27).
	(Layout_Type): For an access type whose designated type is a limited
	view, examine its declaration to determine if it is an unconstrained
	array, and size the access type accordingly.

From-SVN: r130840
2007-12-13 11:27:21 +01:00
Emmanuel Briot
7d304f61cd g-calend.ads (No_Time): New constant, to represent an uninitialized time value
2007-12-06  Emmanuel Briot  <briot@adacore.com>

	* g-calend.ads (No_Time): New constant, to represent an uninitialized
	time value

	* g-catiio.ads, g-catiio.adb (Value): Added support for more date
	formats.
	(Month_Name_To_Number): New subprogram

	* g-dirope.adb (Get_Current_Dir): On windows, normalize the drive
	letter to upper-case.

From-SVN: r130839
2007-12-13 11:27:07 +01:00
Robert Dewar
36fcf362ce exp_prag.adb (Expand_Pragma_Assert): Recognize new warning flag for assert fail
2007-12-06  Robert Dewar  <dewar@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>

	* exp_prag.adb (Expand_Pragma_Assert): Recognize new warning flag for
	assert fail

	* ug_words: Add entries for -gnatw.a -gnatw.A

	* sem_res.adb (Set_String_Literal_Subtype): If the context of the
	literal is a subtype with non-static constraints, use the base type of
	the context as the base of the string subtype, to prevent type
	mismatches in gigi.
	(Resolve_Actuals): If the actual is an entity name, generate a
	reference before the actual is resolved and expanded, to prevent
	spurious warnings on formals of enclosing protected operations.
	(Analyze_Overloaded_Selected_Component): If type of prefix if
	class-wide, use visible components of base type.
	(Resolve_Selected_Component): Ditto.
	(Resolve_Short_Circuit): Detect case of pragma Assert argument
	evaluating to False, and issue warning message.

	* usage.adb: Add lines for -gnatw.a and -gnatw.A

From-SVN: r130838
2007-12-13 11:26:56 +01:00
Javier Miranda
c8b92217c7 exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing support for generic dispatching constructor calls in which we need...
2007-12-06  Javier Miranda  <miranda@adacore.com>

	* exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing
	support for generic dispatching constructor calls in which we need to
	locate the tag of a secondary dispatch table associated with an
	interface type to properly dispatch the call.
	(Expand_N_Attribute_Reference [case Address],
	Expand_Dispatching_Constructor_Call, Expand_Unc_Deallocation): Fix
	handling of VM targets.

From-SVN: r130837
2007-12-13 11:26:41 +01:00
Pascal Obry
38386aaec1 expect.c (__gnat_kill): Implement the SIGINT signal on Windows.
2007-12-06  Pascal Obry  <obry@adacore.com>

	* expect.c (__gnat_kill) [WIN32]: Implement the SIGINT signal on
	Windows. This signal is used by gnatmake to kill child processes for
	example.

From-SVN: r130836
2007-12-13 11:26:21 +01:00
Hristian Kirtchev
80b992aecd exp_disp.ads, [...] (Default_Prim_Op_Position): Primitive _Disp_Requeue occupies dispatch table slot number 15.
2007-12-06  Hristian Kirtchev  <kirtchev@adacore.com>
	    Javier Miranda  <miranda@adacore.com>

	* exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Primitive
	_Disp_Requeue occupies dispatch table slot number 15. Move
	_Disp_Timed_Select to slot 16.
	(Make_Disp_Requeue_Body, Make_Disp_Requeue_Spec): New routines which
	generate the spec and body of _Disp_Reqeueue.
	(Make_DT): Build and initialize the second dispatch table.
	Handle initialization of RC_Offset when the parent
	is a private type with variable size components.
	(Make_Secondary_DT): Complete documentation. Add support to
	initialize the second dispatch table.
	(Make_Tags): Generate the tag of the second dispatch table.
	(Register_Primitive): Add support to register primitives in the
	second dispatch table.

From-SVN: r130835
2007-12-13 11:26:10 +01:00
Hristian Kirtchev
867aba4e8d exp_ch9.adb (Expand_N_Asynchronous_Select, [...]): Code and comment reformatting.
2007-12-06  Hristian Kirtchev  <kirtchev@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>

	* exp_ch9.adb (Expand_N_Asynchronous_Select,
	Expand_N_Conditional_Entry_Call, Expand_N_Timed_Entry_Call): Code and
	comment reformatting.
	(Set_Privals): Inherit aliased flag from formal. From code reading.
	(Build_Simple_Entry_Call): Out parameters of an access type are passed
	by copy and initialized from the actual. This includes entry parameters.
	(Expand_N_Requeue_Statement): Reimplement in order to handle both Ada 95
	and Ada 2005 models of requeue.
	(Null_Statements): Still connsider do-end block null if it contains
	Unreferenced and Warnings pragmas.
	(Expand_N_Accept_Statement): Do not optimize away null do end if
	dispatching policy is other than defaulted.
	(Expand_N_Timed_Entry_Call): When the triggering statement is a
	dispatching call, manually analyze the delay statement.
	(Find_Parameter_Type): Move subprogram to Sem_Util.

From-SVN: r130834
2007-12-13 11:26:00 +01:00
Gary Dismukes
fae4d83988 exp_ch8.ads, [...] (Expand_N_Subprogram_Renaming_Declaration): In the case where the renamed subprogram is a dereference...
2007-12-06  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch8.ads, exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration):
	In the case where the renamed subprogram is a dereference, call
	Force_Evaluation on the prefix.

From-SVN: r130833
2007-12-13 11:25:50 +01:00
Javier Miranda
d07e197c87 exp_ch7.adb (Expand_N_Package_Body): Replace occurrence of attribute Is_Complation_Unit by Is_Library_Level_Entity...
2007-12-06  Javier Miranda  <miranda@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>

	* exp_ch7.adb (Expand_N_Package_Body): Replace occurrence of attribute
	Is_Complation_Unit by Is_Library_Level_Entity in the code
	that decides if the static dispatch tables need to be built.
	(Wrap_Transient_Declaration): Do not generate a finalization call if
	this is a renaming declaration and the renamed object is a component
	of a controlled type.

From-SVN: r130832
2007-12-13 11:25:35 +01:00
Arnaud Charlet
303b4d58d7 exp_ch4.adb (Expand_N_Attribute_Reference, [...]): Take into account VM_Target
* exp_ch4.adb (Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
	Expand_Allocator_Expression): Take into account VM_Target

	* exp_ch5.adb (Expand_N_Extended_Return_Statement): Do not use
	secondary stack when VM_Target /= No_VM

From-SVN: r130831
2007-12-13 11:25:14 +01:00
Hristian Kirtchev
4ce9a2d8c3 exp_ch3.adb (Predefined_Primitive_Bodies): Generate the body of predefined primitive _Disp_Requeue.
2007-12-06  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch3.adb (Predefined_Primitive_Bodies): Generate the body of
	predefined primitive _Disp_Requeue.
	(Make_Predefined_Primitive_Specs): Create the spec for predefined
	primitive _Disp_Requeue.
	(Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): Set the
	type of formal Renamed_Eq to Entity_Id (instead of Node_Id).
	(Make_Predefined_Primitive_Specs): Spec of "=" needed if the parent is
	an interface type. In case of limited interfaces we now declare all the
	predefined primitives associated with synchronized interfaces as
	abstract.
	(Predef_Spec_Or_Body): For interface types generate abstract subprogram
	declarations.
	(Predefined_Primitive_Bodies): Add body of "=" if the parent of the
	tagged type is an interface type and there is no user-defined equality
	function.
	Add also bodies of predefined primitives associated with synchronized
	interfaces.
	(Freeze_Record_Type): Do not build bodies of predefined primitives of
	interface types because they are now defined abstract.
	Add missing documentation.
	(Expand_Record_Controller): Update occurrence of Related_Interface
	to Related_Type.
	(Build_Offset_To_Top_Functions): Do nothing in case of VM.
	(Expand_N_Object_Declaration): Take into account VM_Target when handling
	class wide interface object declaration.
	(Expand_Previous_Access_Type): Do not create a duplicate master entity
	if the access type already has one.
	(Expand_N_Object_Declaration): Defend against attempt to validity check
	generic types. Noticed for -gnatVcf specified with previous errors.

From-SVN: r130830
2007-12-13 11:24:53 +01:00
Ed Schonberg
e9a7121ec2 expander.adb: Take into account N_Subprogram_Renaming_Declaration
2007-12-06  Ed Schonberg  <schonberg@adacore.com>

	* expander.adb: Take into account N_Subprogram_Renaming_Declaration

From-SVN: r130829
2007-12-13 11:24:44 +01:00
Ed Schonberg
3b9fa2df57 exp_aggr.adb (Build_Record_Aggr_Code): If there is an aggregate for a limited ancestor part...
2007-12-06  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Build_Record_Aggr_Code): If there is an aggregate for a
	limited ancestor part, initialize controllers of enclosing record
	before expanding ancestor aggregate.
	(Gen_Assign): If a component of the aggregate is box-initialized, add
	code to call Initialize if the component is controlled, and explicit
	assignment of null if the component is an access type.

	Handle properly aggregates for limited types that appear in object
	declarations when the aggregate contains controlled values such as
	protected types.
	When expanding limited aggregates into individual components, do not
	call Adjust on controlled components that are limited.

From-SVN: r130828
2007-12-13 11:24:30 +01:00
Geert Bosch
1937a0c4c8 eval_fat.adb (Decompose_Int): Handle argument of zero.
2007-12-06  Geert Bosch  <bosch@adacore.com>

	* eval_fat.adb (Decompose_Int): Handle argument of zero.
	(Compose): Remove special casing of zero.
	(Exponent): Likewise.
	(Fraction): Likewise.
	(Machine): Likewise.
	(Decompose): Update comment.

From-SVN: r130827
2007-12-13 11:24:08 +01:00
Vincent Celier
987c5cecd0 errout.adb (Output_Source_Line): Do not keep a trailing space after the source line number if...
2007-12-06  Vincent Celier  <celier@adacore.com>

	* errout.adb (Output_Source_Line): Do not keep a trailing space after
	the source line number if the source line is empty.

From-SVN: r130826
2007-12-13 11:23:55 +01:00
Hristian Kirtchev
ce0bead308 einfo.ads, einfo.adb: Flag 232 is now Implemented_By_Entry.
2007-12-06  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.ads, einfo.adb: Flag 232 is now Implemented_By_Entry.
	(Implemented_By_Entry, Set_Implemented_By_Entry): New routines.
	(Write_Entry_Flags): Add an entry for Implemented_By_Entry.
	(Renamed_In_Spec): New flag
	(Has_Pragma_Inline_Always): New flag
	Add missing doc for pragma Obsolescent_Warning
	Add missing doc for 17 additional unused flags (230-247)
	(Is_Derived_Type): Remove condition "not Is_Generic_Type".
	Alphabetize with clauses.
	Separate Is_Thunk and Has_Thunks flags
	(Write_Entity_Flags): Add forgotten entry for Has_Thunks
	(Related_Interface): Renamed to Related_Type.
	(Has_Thunks/Set_Has_Thunks): Subprograms of new attribute.
	(Set_Is_Flag): Restrict the assertion.

From-SVN: r130825
2007-12-13 11:23:40 +01:00
Bob Duff
6a1cb33a40 clean.adb (Usage): Add line for -aP
2007-12-06  Bob Duff  <duff@adacore.com>

	* clean.adb (Usage): Add line for -aP
	(Check_Version_And_Help): Change Check_Version_And_Help to be generic,
	with a parameter "procedure Usage", instead of passing a pointer to a
	procedure. This is to eliminate trampolines (since the Usage procedure
	is often nested in a main procedure, and it would be inconvenient to
	unnest it).

	* g-comlin.adb (For_Each_Simple_Switch): Change For_Each_Simple_Switch
	to be generic, with a parameter "procedure Callback (...)", instead of
	passing a pointer to a procedure. This is to eliminate trampolines
	(since the Callback procedure is usually nested).

	* gnatfind.adb, switch.adb, switch.ads, gnatlink.adb, gnatls.adb, 
	gnatname.adb, gnatxref.adb, gnatchop.adb, gprep.adb, gnatbind.adb
	(Check_Version_And_Help): Change Check_Version_And_Help to be generic.

	* g-pehage.adb (Compute_Edges_And_Vertices, Build_Identical_Key_Sets):
	Use the generic Heap_Sort_G instead of Heap_Sort_A.

From-SVN: r130824
2007-12-13 11:23:29 +01:00
Robert Dewar
16a55e63a9 checks.adb: Fix optimization problem with short-circuited form
2007-12-06  Robert Dewar  <dewar@adacore.com>

	* checks.adb: Fix optimization problem with short-circuited form

From-SVN: r130823
2007-12-13 11:23:01 +01:00
Robert Dewar
31897c04da back_end.adb: Recognize -fno-inline
2007-12-06  Robert Dewar  <dewar@adacore.com>

	* back_end.adb: Recognize -fno-inline

From-SVN: r130822
2007-12-13 11:22:45 +01:00
Vincent Celier
395b508026 opt.ads: Indicate what flags are used by the Project Manager, gprbuild and gprclean.
2007-12-06  Vincent Celier  <celier@adacore.com>

	* opt.ads: Indicate what flags are used by the Project Manager,
	gprbuild and gprclean.
	(Opt.Follow_Links_For_Dirs): New flag
	(Warn_On_Assertion_Failure): New flag
	(Wide_Character_Encoding_Method_Specified): New flag
	(Suppress_All_Inlining): New switch set by -fno-inline
	(Real_VMS_Target): New flag
	New pragma Fast_Math

From-SVN: r130821
2007-12-13 11:22:25 +01:00
Robert Dewar
ac4d640744 atree.adb (Flag231..Flag247): New functions
2007-12-06  Robert Dewar  <dewar@adacore.com>

	* atree.adb (Flag231..Flag247): New functions
	(Set_Flag231..Set_Flag247): New procedures
	(Basic_Set_Convention): Rename Set_Convention to be
	Basic_Set_Convention
	(Nkind_In): New functions
	Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List

	* exp_ch6.adb (Expand_Call): Use new flag Has_Pragma_Inline_Always
	instead
	 of obsolete function Is_Always_Inlined
	(Register_Predefined_DT_Entry): Initialize slots of the second
	secondary dispatch table.
	Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
	(Expand_N_Function_Call): Remove special provision for stack checking.

	* exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
	Include _Disp_Requeue in the list of predefined operations.
	(Find_Interface_ADT): Modified to fulfill the new specification.
	Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List

	* par-ch4.adb, nlists.ads, nlists.adb: 
	Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List

	* sinfo.ads, sinfo.adb: (Nkind_In): New functions
	Fix location of flag for unrecognized pragma message

	* sem_ch7.adb: Use Nkind_In

From-SVN: r130820
2007-12-13 11:22:06 +01:00
Geert Bosch
f8755021cc 2007-12-06 Geert Bosch <bosch@adacore.com>
* a-tifiio.adb
	(Put_Int64): Use Put_Digit to advance Pos. This fixes a case where
	the second or later Scaled_Divide would omit leading zeroes,
	resulting in too few digits produced and a Layout_Error as result.
	(Put): Initialize Pos.

From-SVN: r130819
2007-12-13 11:21:51 +01:00
Robert Dewar
470cd9e998 a-ngcoty.adb: New pragma Fast_Math
2007-12-06  Robert Dewar  <dewar@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>

	* a-ngcoty.adb: New pragma Fast_Math

	* opt.adb: New pragma Fast_Math

	* par-prag.adb: 
	Add Implemented_By_Entry to the list of pragmas which do not require any
	special processing.
	(Favor_Top_Level): New pragma.
	New pragma Fast_Math

	* exp_attr.adb: Move Wide_[Wide_]Image routines to Exp_Imgv
	(Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
	Expand_Allocator_Expression): Take into account VM_Target
	(Expand_Attribute, case 'Identity):  Handle properly the case where
	the prefix is a task interface.
	New pragma Fast_Math

	* par.adb (Next_Token_Is): New function
	(P_Pragma): Add Skipping parameter
	(U_Left_Paren): New procedure
	(U_Right_Paren): New procedure
	New pragma Fast_Math

	* par-ch10.adb (P_Subunit): Unconditional msg for missing ) after
	subunit
	New pragma Fast_Math

	* sem_prag.adb: Add significance value to table Sig_Flag for pragma
	Implemented_By_Entry.
	(Analyze_Pragma): Add case for Ada 2005 pragma Implemented_By_Entry.
	(Set_Inline_Flags): Do not try to link pragma Inline onto chain of rep
	items, since it can apply to more than one overloadable entity. Set
	new flag Has_Pragma_Inline_Always for Inline_Always case.
	(Analyze_Pragma, case Complex_Representation): Improve error message.
	(Analyze_Pragma, case Assert): When assertions are disabled build the
	rewritten code with Sloc of expression rather than pragma, so new
	warning about failing is not deleted.
	(Analyze_Pragma): Allow pragma Preelaborable_Initialization to apply to
	protected types and update error message to reflect that. Test whether
	the protected type is allowed for the pragma (an error is issued if the
	type has any entries, or components that do not have preelaborable
	initialization).
	New pragma Fast_Math
	(Analyze_Pragma, case No_Return): Handle generic instance

	* snames.h, snames.ads, snames.adb: 
	Add new predefined name for interface primitive _Disp_Requeue.
	New pragma Fast_Math

	* a-tags.ads, a-tags.adb: New calling sequence for
	String_To_Wide_[Wide_]String
	(Secondary_Tag): New subprogram.

	* exp_imgv.ads, exp_imgv.adb: Move Wide_[Wide_]Image routines here
	from Exp_Attr
	New calling sequence for String_To_Wide_[Wide_]String
	(Expand_Image_Attribute): Major rewrite. New calling sequence avoids
	the use of the secondary stack for image routines.

	* a-except-2005.adb, s-wchstw.ads, s-wchstw.adb, s-wwdenu.adb: New
	calling sequence for String_To_Wide_[Wide_]String

	* par-ch3.adb (P_Declarative_Items): Recognize use of Overriding in
	Ada 95 mode
	(P_Unknown_Discriminant_Part_Opt): Handle missing parens gracefully
	Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List

	* par-ch6.adb (P_Subprogram): Recognize use of Overriding in Ada 95 mode
	(P_Formal_Part): Use Skipping parameter in P_Pragma call
	to improve error recovery

	* par-util.adb (Next_Token_Is): New function
	(Signal_Bad_Attribute): Use new Namet.Is_Bad_Spelling_Of function

	* par-ch2.adb (Skip_Pragma_Semicolon): Do not resynchronize to
	semicolon if missing
	(P_Pragma): Implement new Skipping parameter
	Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
	Fix location of flag for unrecognized pragma message

	* par-tchk.adb (U_Left_Paren): New procedure
	(U_Right_Paren): New procedure

From-SVN: r130818
2007-12-13 11:21:30 +01:00
Robert Dewar
b917101e1c a-textio.adb, [...]: Extensive changes to private part for wide character encoding
2007-12-06  Robert Dewar  <dewar@adacore.com>

	* a-textio.adb, a-textio.ads: 
	Extensive changes to private part for wide character encoding

	* a-witeio.ads, a-witeio.adb, a-ztexio.ads, a-ztexio.adb
	(Look_Ahead): Fix mishandling of encoded sequences
	Move declaration of Wch_Con to private part (should not be visible)

	* ali.adb (Scan_ALI): Set default encoding method to brackets instead of
	UTF-8. Probably this is never used, but if it is, brackets is
	clearly correct.

	* bindgen.adb (Get_WC_Encoding): New procedure to properly handle
	setting wide character encoding for no main program case and when
	encoding is specified using -W?
	Initialize stack limit of environment task if stack limit method of
	stack checking is enabled.
	(Gen_Adainit_Ada): Use Get_WC_Encoding to output encoding method
	(Gen_Adainit_C): Use Get_WC_Encoding to output encoding method
	(Get_Main_Unit_Name): New function.
	(Gen_Adainit_Ada): Add call to main program for .NET when needed.
	(Gen_Output_File): Set Bind_Main_Program to True for .NET

	* bindusg.adb: Add line for -Wx switch

	* s-wchcon.adb, s-wchcon.ads: (Is_Start_Of_Encoding): New function
	Add comments
	Add new useful constant WC_Longest_Sequences

	* switch-b.adb: Clean up handling of -Wx switch
	For -gnatWx, set Wide_Character_Encoding_Method_Specified

	* switch-c.adb: -gnatg activates warning on assertion errors
	For -gnatWx, set Wide_Character_Encoding_Method_Specified

	* s-wchcon.adb: (Is_Start_Of_Encoding): New function

From-SVN: r130817
2007-12-13 11:20:52 +01:00
Jose Ruiz
a6e8413cd7 adaint.h: (__gnat_plist_init): Not defined for RTX.
2007-12-06  Jose Ruiz  <ruiz@adacore.com>

	* adaint.h: (__gnat_plist_init): Not defined for RTX.

	* initialize.c (__gnat_initialize): Do not call __gnat_plist_init for
	RTX systems.

	* Makefile.in: Add new files s-tasinf-linux.ads and s-tasinf-linux.adb.
	(LIBGNAT_TARGET_PAIRS, MISCLIB, THREADSLIB,
	EXTRA_GNATRTL_NONTASKING_OBJS, EXTRA_GNATRTL_TASKING_OBJS,
	GNATLIB_SHARED for RTX run time): Use the versions required by RTX.

	* mingw32.h: 
	Do not define GNAT_UNICODE_SUPPORT for RTX since it is not supported.

	* sysdep.c (winflush_function for RTX): Procedure that does nothing
	since we only have problems with Windows 95/98, which are not
	supported by RTX.
	(__gnat_ttyname): Return the empty string on Nucleus, just as
	done on vxworks.

From-SVN: r130816
2007-12-13 11:19:55 +01:00
Robert Dewar
561b584987 sem_ch5.adb, [...]: Update handling of assigned value/unreferenced warnings
2007-12-06  Robert Dewar  <dewar@adacore.com>

	* sem_ch5.adb, s-taskin.adb, a-ciorma.adb, a-coorma.adb, a-cohama.adb, 
	a-cihama.adb, g-awk.adb, 
	s-inmaop-posix.adb: Update handling of assigned value/unreferenced
	warnings

	* exp_smem.adb: Update handling of assigned value/unreferenced warnings

	* sem.adb: Update handling of assigned value/unreferenced warnings

	* a-exexpr-gcc.adb: Add a pragma warnings off for boolean return

	* lib-xref.ads: Improve documentation for k xref type

	* lib-xref.adb: 
	Update handling of assigned value/unreferenced warnings
	(Generate_Reference): Warning for reference to entity for which a
	pragma Unreferenced has been given should be unconditional.
	If the entity is a discriminal, mark the original
	discriminant as referenced.

	* sem_warn.ads, sem_warn.adb
	(Check_One_Unit): Test Renamed_In_Spec to control giving warning for
	no entities referenced in package
	(Check_One_Unit): Don't give message about no entities referenced in
	a package if a pragma Unreferenced has appeared.
	Handle new warning flag -gnatw.a/-gnatw.A
	Update handling of assigned value/unreferenced warnings

	* atree.h: Add flags up to Flag247
	(Flag231): New macro.

From-SVN: r130815
2007-12-13 11:19:43 +01:00
Eric Botcazou
0312b36424 system-linux-ia64.ads, [...] (Stack_Check_Limits): New target parameter.
2007-12-06  Eric Botcazou  <ebotcazou@adacore.com>
	    Bob Duff  <duff@adacore.com>
	    Tristan Gingold  <gingold@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-aix.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-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads, 
	system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads, 
	system-vxworks-arm.ads, system-darwin-x86.ads, system.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,
	system-vms-ia64.ads (Stack_Check_Limits): New target parameter.
	(Always_Compatible_Rep): New flag to control trampolines globally.
	(Dynamic_Trampolines_Used): New flag for implementing the
	No_Implicit_Dynamic_Code restriction more correctly (not yet used,
	and not yet set correctly for some targets).

	* s-taprop-vxworks.adb: Use stack limit method of stack checking.
	Simply indirectly call s-stchop when a task is created.

	* ali.ads: 
	New flag added: Stack_Check_Switch_Set which is set when '-fstack-check'
	appears as an argument (entries A) in an ALI file.

	* fe.h (Stack_Check_Limits): Declare new target parameter.
	(Check_Implicit_Dynamic_Code_Allowed): New procedure.

	* init.c: Declare __gnat_set_stack_limit_hook for VxWorks kernel RTS.
	This variable is declared in C to be sure not subject to elaboration
	code.
	(__gnat_map_signal, VxWorks): In kernel mode, map SIGILL to
	Storage_Error.

	* targparm.ads, targparm.adb (Stack_Check_Limits): New parameter.
	(Always_Compatible_Rep, Dynamic_Trampolines_Used): New parameters.

	* s-stchop.ads: Add comments.

	* s-stchop-vxworks.adb: Package almost fully rewritten to use stack
	limit method of stack checking.

	* s-stchop-limit.ads: New file.

From-SVN: r130814
2007-12-13 11:19:19 +01:00
Robert Dewar
def46b5433 s-osinte-lynxos-3.ads, [...]: Add missing pragma Convention C for subprogram pointers.
2007-12-06  Robert Dewar  <dewar@adacore.com>

	* s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads, 
	s-osinte-freebsd.ads, s-osinte-lynxos.ads, s-osinte-tru64.ads, 
	s-osinte-mingw.ads, s-osinte-aix.ads, s-osinte-hpux-dce.ads, 
	s-osinte-irix.ads, s-osinte-solaris.ads, s-intman-vms.adb,
	s-osinte-vms.ads, s-osinte-vxworks6.ads, s-osinte-vxworks.ads,
	s-auxdec.ads, s-auxdec-vms_64.ads, s-osinte-darwin.ads, 
	s-taprop-vms.adb, s-interr-sigaction.adb, s-osinte-linux-hppa.ads, 
	i-vxwork-x86.ads, s-tpopde-vms.ads: Add missing pragma Convention C
	for subprogram pointers.

	* g-ctrl_c.adb: New file.

	* g-ctrl_c.ads (Install_Handler): New body.

	* freeze.adb (Freeze_Subprogram): Use new flag Has_Pragma_Inline_Always
	instead of obsolete function Is_Always_Inlined.
	(Freeze_Entity): check for tagged type in imported C subprogram
	(Freeze_Entity): check for 8-bit boolean in imported C subprogram
	(Freeze_Entity): check for convention Ada subprogram pointer in
	imported C subprogram.
	(Freeze_Fixed_Point_Type): In the case of a base type where the low
	bound would be chopped off and go from negative to zero, force
	Loval_Excl_EP to be the same as Loval_Incl_EP (the included lower
	bound) so that the size computation for the base type will take
	negative values into account.

From-SVN: r130813
2007-12-13 11:19:04 +01:00
Pascal Obry
b41ab48056 adaint.c (__gnat_pthread_setaffinity_np): New routine.
2007-12-06  Pascal Obry  <obry@adacore.com>

	* adaint.c (__gnat_pthread_setaffinity_np): New routine. A dummy
	 version is provided for older GNU/Linux distribution not
	 supporting thread affinity sets.
	
	* s-osinte-linux.ads (SC_NPROCESSORS_ONLN): New constant for sysconf
	call.
	(bit_field): New packed boolean type used by cpu_set_t.
	(cpu_set_t): New type corresponding to the C type with
	the same name. Note that on the Ada side we use a bit
	field array for the affinity mask. There is not need
	for the C macro for setting individual bit.
	(pthread_setaffinity_np): New imported routine.
	
	* s-taprop-linux.adb (Enter_Task): Check that the CPU affinity mask is
	no null.
	(Create_Task): Set the processor affinity mask if information
	is present.
	
	* s-tasinf-linux.ads, s-tasinf-linux.adb: New files.

From-SVN: r130812
2007-12-13 11:18:44 +01:00
Richard Sandiford
aa4095c911 Makefile.tpl (CFLAGS_FOR_TARGET): Add -g.
* Makefile.tpl (CFLAGS_FOR_TARGET): Add -g.
	(CXXFLAGS_FOR_TARGET): Add -O2 -g.
	* Makefile.in: Regenerate.

From-SVN: r130811
2007-12-13 09:30:49 +00:00
Torbjorn Granlund
e3dafdf4d0 i386.c (ix86_rtx_costs): Check op0 for ZERO_EXTEND when computing costs for widening multiplication.
* config/i386/i386.c (ix86_rtx_costs) [MULT]: Check op0 for
        ZERO_EXTEND when computing costs for widening multiplication.

From-SVN: r130809
2007-12-13 10:19:11 +01:00
Richard Earnshaw
fe9e534218 re PR target/30192 ([arm] Wrong sp value on exit after calling __floatdidf or __floatundidf)
2007-12-13  Richard Earnshaw  <rearnsha@arm.com>

	PR target/30192
	* config/arm/ieee754-df.S (floatundidf): Fix for wrong sp value on
	exit when using hard FPA.
	* config/arm/ieee754-df.S (floatdidf): Likewise.

From-SVN: r130800
2007-12-13 01:03:53 +00:00
GCC Administrator
dce3aa5078 Daily bump.
From-SVN: r130798
2007-12-13 00:17:30 +00:00
Jakub Jelinek
fa69208410 re PR bootstrap/30589 (C99 extern inline patch broke bootstrap on i386-pc-mingw32)
PR bootstrap/30589
	* doc/install.texi: Document that for MinGW only runtime 3.12 and
	later is supported.

From-SVN: r130794
2007-12-12 21:54:10 +01:00
Tobias Burnus
96ee3a4acd re PR fortran/34254 ("character(kind=c_char) function" fails if c_char is not host associated)
2007-12-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34254
        * decl.c (match_char_kind): Support use-associated/imported
        kind parameters.
        (gfc_match_kind_spec): Support als BT_CHARACTER, when
        re-scanning kind spec.

2007-12-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34254
        * gfortran.dg/function_kinds_3.f90: New.

From-SVN: r130793
2007-12-12 19:54:26 +01:00
David Edelsohn
1de59bbd61 * config/rs6000/rs6000.c (is_mem_ref): Ignore STACK_TIE.
From-SVN: r130791
2007-12-12 12:49:29 -05:00
Aldy Hernandez
4caa08daa3 gimplify.c (gimplify_modify_expr_rhs): Handle the case when we are assigning from a constant constructor.
* gimplify.c (gimplify_modify_expr_rhs): Handle the case when we
        are assigning from a constant constructor.
        Fix wrapping in function comment.

From-SVN: r130788
2007-12-12 11:12:39 +00:00
Andreas Krebbel
ee3f344964 s390.c (s390_O_constraint_str): Limit the range for 'On' to -4G+1..-1.
2007-12-12  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.c (s390_O_constraint_str): Limit the range
	for 'On' to -4G+1..-1.
	* config/s390/constraints.md: Adjust comment accordingly.

2007-12-12  Andreas Krebbel  <krebbel1@de.ibm.com>

	* gcc.target/s390/20071212-1.c: New testcase.

From-SVN: r130787
2007-12-12 09:15:03 +00:00
DJ Delorie
675575f57a charset.c (convert_using_iconv): Close out any shift states, returning to the initial state.
* charset.c (convert_using_iconv): Close out any shift states,
returning to the initial state.

From-SVN: r130785
2007-12-11 20:38:10 -05:00
GCC Administrator
a2b677873b Daily bump.
From-SVN: r130783
2007-12-12 00:17:43 +00:00
Benjamin Kosnik
6e49161abe re PR libstdc++/34015 (warning in backward_warning.h is illegible)
2007-12-11  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/34015
	* include/backward/backward_warning.h: Adjust warning message.

From-SVN: r130778
2007-12-11 21:48:16 +00:00
Paolo Carlini
c62df8fddb stl_bvector.h (vector<bool>::reserve): Move out of line...
2007-12-11  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_bvector.h (vector<bool>::reserve): Move out of
	line...
	* include/bits/vector.tcc: ... here.

From-SVN: r130777
2007-12-11 19:08:26 +00:00
Aldy Hernandez
fcd5a1131a * decl.c (add_global_entry): Make type unsigned.
From-SVN: r130775
2007-12-11 12:48:28 +00:00
Nathan Sidwell
30895f307b rs6000.c (rs6000_emit_prologue): Use frame_reg_rtx for SPE saves.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Use frame_reg_rtx
	for SPE saves.

From-SVN: r130774
2007-12-11 12:28:55 +00:00
Kai Tietz
b3cb08bd27 config/i386/cygming.h (DWARF2_UNWIND_INFO): Handle 64-bit
target same as 32-bit.

From-SVN: r130773
2007-12-11 10:46:57 +01:00
Bernhard Fischer
7389bce6b9 decl.c (match_prefix): Make seen_type a boolean.
2007-12-11  Bernhard Fischer  <aldot@gcc.gnu.org>

	* decl.c (match_prefix): Make seen_type a boolean.
	(add_global_entry): Cache type distinction.
	* trans-decl.c: Whitespace cleanup.

From-SVN: r130772
2007-12-11 09:36:13 +01:00
Jakub Jelinek
5b767b9d0c re PR c++/34238 ("static data member used, but not defined" error on member definition)
PR c++/34238
	* decl2.c (cp_write_global_declarations): Revert 2007-11-22 change.

	* g++.dg/ext/visibility/anon7.C: Add xfail.
	* g++.dg/ext/visibility/anon9.C: New test.
	* g++.dg/ext/visibility/anon10.C: New test.

From-SVN: r130771
2007-12-11 09:22:10 +01:00
Jakub Jelinek
61a861e686 re PR c++/34364 (class& is not known as as a class-type anymore after dynamic_cast)
PR c++/34364
	* rtti.c (build_dynamic_cast): Call convert_from_reference even for
	dynamic_cast in a template.

	* g++.dg/rtti/dyncast2.C: New test.

From-SVN: r130770
2007-12-11 09:20:15 +01:00