1. 15 Feb, 2006 40 commits
    • einfo.ads, einfo.adb (First_Tag_Component): Protect the frontend against errors… · ba673907
      einfo.ads, einfo.adb (First_Tag_Component): Protect the frontend against errors in the source program...
      
      2006-02-13  Javier Miranda  <miranda@adacore.com>
      	    Robert Dewar  <dewar@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      
      	* einfo.ads, einfo.adb (First_Tag_Component): Protect the frontend
      	against errors in the source program: a private types for which the
      	corresponding full type declaration is missing and pragma CPP_Virtual
      	is used.
      	(Is_Unchecked_Union): Check flag on Implementation_Base_Type.
      	(Is_Known_Null): New flag
      	(Has_Pragma_Pure): New flag
      	(No_Return): Present in all entities, set only for procedures
      	(Is_Limited_Type): A type whose ancestor is an interface is limited if
      	explicitly declared limited.
      	(DT_Offset_To_Top_Func): New attribute that is present in E_Component
      	entities. Only used for component marked Is_Tag. If present it stores
      	the Offset_To_Top function used to provide this value in tagged types
      	whose ancestor has discriminants.
      
      	* exp_ch2.adb: Update status of new Is_Known_Null flag
      
      	* sem_ch7.adb: Maintain status of new Is_Known_Null flag
      
      	* sem_cat.adb (Get_Categorization): Don't treat function as Pure in
      	the categorization sense if Is_Pure was set by pragma Pure_Function.
      
      From-SVN: r111055
      Javier Miranda committed
    • opt.ads opt.adb: Add Ada_Version_Explicit_Config along with save/restore routines. · 1f6a2b51
      2006-02-13  Robert Dewar  <dewar@adacore.com>
      	    Serguei Rybin  <rybin@adacore.com>
      
      	* opt.ads opt.adb: Add Ada_Version_Explicit_Config along with
      	save/restore routines.
      	Properly handle Ada_Version_Explicit and Ada_Version_Config, which
      	were not always properly handled previously.
      	Since we are changing the tree format anyway, also get rid of the
      	junk obsolete Immediate_Errors flag.
      	(Tree_Read): Change the way of reading Tree_Version_String - now we
      	read the version string from the tree even if its length is not the
      	same as the length of the version string computed from Gnatvsn.
      	(Search_Directory_Present): New Boolean flag for the compiler.
      	Define Tree_Version_String as a dynamic string.
      	(Default_Stack_Size): new variable, used to handle switch -d.
      
      	* par-prag.adb: 
      	For pragma Ada_2005, remove stuff about setting Ada_Version_Explicit
      	only for main unit.
      	Add pragma Ada_2005 (synonym for Ada_05)
      	Properly handle Ada_Version_Explicit and Ada_Version_Config, which
      	were not always properly handled previously.
      
      	* directio.ads, ioexcept.ads, sequenio.ads, text_io.ads: Change
      	explicit Ada_95 to Ada_2005.
      
      From-SVN: r111054
      Robert Dewar committed
    • debug.adb: Eliminate numeric switches for binder/gnatmake · 61dddae4
      2006-02-13  Robert Dewar  <dewar@adacore.com>
      	    Vincent Celier  <celier@adacore.com>
      
      	* debug.adb: Eliminate numeric switches for binder/gnatmake
      
      	* switch-m.adb (Normalize_Compiler_Switches): Record numeric debug
      	switches for the compiler.
      	(Scan_Make_Switches): Do not allow numeric debug switches for gnatmake
      	(Scan_Make_Switches): When failing with an illegal switch, output an
      	error message with the full switch.
      	Eliminate numeric switches for binder/gnatmake
      
      	* switch.ads, switch.adb (Bad_Switch): New procedure
      
      	* switch-b.adb (Scan_Binder_Switches): Do not accept combined switches.
      	Remove 0-9 as debug flag character possibilities
      	-d is now controlling the primary stack size when its value is a
      	positive. Also add checks against invalid values, and support for kb,
      	mb. Ditto for -D switch.
      
      From-SVN: r111053
      Robert Dewar committed
    • checks.adb (Build_Discriminant_Checks): If the expression being checks is an… · 86ac5e79
      checks.adb (Build_Discriminant_Checks): If the expression being checks is an aggregate retrieve the values of its...
      
      2006-02-13  Ed Schonberg  <schonberg@adacore.com>
      	    Thomas Quinot  <quinot@adacore.com>
      
      	* checks.adb (Build_Discriminant_Checks): If the expression being
      	checks is an aggregate retrieve the values of its discriminants to
      	generate the check, rather than creating a temporary and a reference
      	to it.
      	(Apply_Access_Check): Rewritten to handle new Is_Known_Null flag
      	(Install_Null_Excluding_Check): Ditto
      	(Selected_Length_Checks): Build actual subtype for the original Ck_Node,
      	not for the renamed object, so that the actual itype is attached in the
      	proper context.
      
      From-SVN: r111052
      Ed Schonberg committed
    • a-direct.adb (Duration_To_Time, [...]): New Unchecked_Conversion functions. · 32c65fc0
      2006-02-13  Vincent Celier  <celier@adacore.com>
      
      	* a-direct.adb (Duration_To_Time, OS_Time_To_Long_Integer): New
      	Unchecked_Conversion functions.
      	(Modification_Time): Use direct conversion of OS_Time to Calendar time
      	when OpenVMS returns False.
      
      	* a-dirval-mingw.adb, a-dirval-vms.adb, a-dirval.ads,
      	a-dirval.adb (OpenVMS): New Boolean function
      
      From-SVN: r111051
      Vincent Celier committed
    • s-stchop.adb (Stack_Check): Raise Storage_Error if the argument has wrapped around. · 463af61d
      2006-02-13  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* s-stchop.adb (Stack_Check): Raise Storage_Error if the argument has
      	wrapped around.
      
      From-SVN: r111050
      Eric Botcazou committed
    • err_vars.ads: Suppress range checks for a couple of assignments which otherwise cause... · 3a0462b3
      2006-02-13  Robert Dewar  <dewar@adacore.com>
      	    Eric Botcazou  <ebotcazou@adacore.com>
      
      	* err_vars.ads: Suppress range checks for a couple of assignments
      	which otherwise cause validity checks with validity checking turned on.
      	Update comments.
      
      	* errout.adb (Error_Msg_Internal): Do not suppress warning messages.
      	Make message unconditional if it is a warning.
      	(Error_Msg_NEL): Always output warning messages.
      	Suppress range checks for a couple of assignments which otherwise
      	cause validity checks with validity checking turned on.
      
      	* errout.ads (Message Insertion Characters): Document that '!' is
      	implied by '?' in error messages.
      
      	* gnat1drv.adb: (Bad_Body): Remove '!' in warning message.
      	(Gnat1drv): Use a goto to end of main subprogram instead of
      	Exit_Program (E_Success) so that finalization can occur normally.
      
      From-SVN: r111049
      Robert Dewar committed
    • erroutc.ads, [...] (Set_Message_Blank): Don't insert space after hyphen (small… · 7a5cf1d5
      erroutc.ads, [...] (Set_Message_Blank): Don't insert space after hyphen (small aesthetic change useful for a range of...
      
      2006-02-13  Robert Dewar  <dewar@adacore.com>
      
      	* erroutc.ads, erroutc.adb (Set_Message_Blank): Don't insert space
      	after hyphen (small aesthetic change useful for a range of numbers
      	using ^-^.
      	Suppress range checks for a couple of assignments which otherwise
      	cause validity checks with validity checking turned on.
      
      	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Size):
      	Improvement in error message for object.
      	(Rep_Item_Too_Late): Remove '!' in warning message.
      
      From-SVN: r111048
      Robert Dewar committed
    • gnatvsn.ads (Current_Year): New constant, used to easily update copyright on all GNAT tools. · 858f81da
      2006-02-13  Robert Dewar  <dewar@adacore.com>
      
      	* gnatvsn.ads (Current_Year): New constant, used to easily update
      	copyright on all GNAT tools.
      
      	* gnatls.adb, gnatname.adb, vms_conv.adb: Add 2006 to displayed
      	copyright notice.
      
      From-SVN: r111047
      Robert Dewar committed
    • gnatlink.adb (Process_Binder_File): If -shared is specified, invoke gcc to link… · 003dd7a7
      gnatlink.adb (Process_Binder_File): If -shared is specified, invoke gcc to link with option -shared-libgcc.
      
      2006-02-13  Vincent Celier  <celier@adacore.com>
      
      	* gnatlink.adb (Process_Binder_File): If -shared is specified, invoke
      	gcc to link with option -shared-libgcc.
      	(Gnatlink): Remove duplicate switches -shared-libgcc
      
      From-SVN: r111046
      Vincent Celier committed
    • bindgen.adb (Gen_Main_C): declare the ensure_reference variable as volatile... · 4430b489
      2006-02-13  Joel Brobecker  <brobecke@adacore.com>
      
      	* bindgen.adb (Gen_Main_C): declare the ensure_reference variable as
      	volatile, to tell the compiler to preserve this variable at any level
      	of optimization.
      	(Gen_Versions_Ada): Temporarily work around codegen bug.
      
      From-SVN: r111045
      Joel Brobecker committed
    • back_end.adb (Scan_Compiler_Arguments): Check if Search_Directory_Present is True and... · 65aa56ec
      2006-02-13  Vincent Celier  <celier@adacore.com>
      
      	* back_end.adb (Scan_Compiler_Arguments): Check if
      	Search_Directory_Present is True and, if it is, add the argument in
      	the source search directory path.
      
      	* switch-c.adb (Scan_Front_End_Switches): Accept switch "-I". Set
      	Search_Directory_Present to True.
      
      From-SVN: r111044
      Vincent Celier committed
    • re PR ada/20753 (ACATS ce3810b segfaults at runtime) · fd013778
      2006-02-13  Geert Bosch  <bosch@adacore.com>
      	    Gary Dismukes  <dismukes@adacore.com>
      
      	* a-tifiio.adb (Put_Digits): Test Last against To'First - 1 instead of
      	0, since the lower bound of the actual string may be greater than one.
      
      	PR ada/20753
      
      	(Put): Fix condition to raise Layout_Error when invalid
      	layout is requested.
      
      From-SVN: r111043
      Geert Bosch committed
    • rtsfind.adb, [...]: Minor code reorganization (not Present should be No) · 531eb217
      2006-02-13  Robert Dewar  <dewar@adacore.com>
      
      	* rtsfind.adb, exp_prag.adb, lib-writ.adb, par-labl.adb, 
      	sem_case.adb: Minor code reorganization (not Present should be No)
      
      From-SVN: r111042
      Robert Dewar committed
    • a-tiboio.adb, [...]: New files. · e1458816
      2006-02-13  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* a-tiboio.adb, a-tiboio.ads, a-wwboio.adb,
      	a-wwboio.ads, a-zzboio.adb, a-zzboio.ads:  New files.
      
      	* impunit.adb, Makefile.rtl: Added new Ada 2005 units.
      
      From-SVN: r111041
      Hristian Kirtchev committed
    • a-rttiev.adb, [...]: New files. · 31d7a8bd
      2006-02-13  Pat Rogers  <rogers@adacore.com>
      
      	* a-rttiev.adb, a-rttiev.ads: New files.
      
      From-SVN: r111040
      Pat Rogers committed
    • a-envvar.adb, [...]: New files. · 261ce0eb
      2006-02-13  Nicolas Roche  <roche@adacore.com>
      
      	* a-envvar.adb, a-envvar.ads: New files.
      
      From-SVN: r111039
      Nicolas Roche committed
    • a-ticoio.ads, [...]: Add use clause (moved here from spec) · 5cbfe1be
      2006-02-13  Robert Dewar  <dewar@adacore.com>
      
      	* a-ticoio.ads, a-ticoio.adb: Add use clause (moved here from spec)
      
      	* a-coteio.ads, a-lcteio.ads, a-llctio.ads, a-scteio.ads: New files.
      
      From-SVN: r111038
      Robert Dewar committed
    • lang.opt: Wvariadic-macros: New option. · c85faf41
      2006-02-13  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* lang.opt: Wvariadic-macros: New option.
      	Wold-style-definition: Likewise.
      	Wmissing-format-attribute: Likewise.
      
      	* misc.c (gnat_handle_option): New cases for -Wvariadic-macros,
      	-Wold-style-definition and -Wmissing-format-attribute.
      
      From-SVN: r111037
      Eric Botcazou committed
    • a-cgcaso.adb, [...]: Implemented using heapsort instead of quicksort. · 392f673a
      2006-02-13  Matthew Heaney  <heaney@adacore.com>
      
      	* a-cgcaso.adb, a-cgaaso.adb: Implemented using heapsort instead of
      	quicksort.
      
      From-SVN: r111036
      Matthew Heaney committed
    • a-rbtgso.adb, [...]: All explicit raise statements now include an exception message. · ffabcde5
      2006-02-13  Matthew Heaney  <heaney@adacore.com>
      
      	* a-rbtgso.adb, a-crbtgo.adb, a-crbtgk.adb, a-coorse.adb, 
      	a-cohama.adb, a-ciorse.adb, a-cihama.adb, a-cihase.adb, 
      	a-cohase.adb: All explicit raise statements now include an exception
      	message.
      
      	* a-ciormu.ads, a-ciormu.adb, a-coormu.ads, a-coormu.adb
      	(Update_Element_Preserving_Key): renamed op to just Update_Element.
      	Explicit raise statements now include an exception message
      
      	* a-cihase.ads, a-cohase.ads: Removed comment.
      
      	* a-stboha.ads, a-stboha.adb, a-stfiha.ads, a-envvar.adb,
      	a-envvar.ads, a-swbwha.ads, a-swbwha.adb, a-swfwha.ads, a-szbzha.ads,
      	a-szbzha.adb, a-szfzha.ads: New files.
      
      From-SVN: r111035
      Matthew Heaney committed
    • s-parame-mingw.adb, [...]: Removed, replaced by s-parame.adb · 738819cd
      	* s-parame-mingw.adb, s-parame-linux.adb,
      	s-parame-solaris.adb: Removed, replaced by s-parame.adb
      
      	* s-parame-vxworks.ads: Fix typo.
      
      	* s-parame-vxworks.adb: New file.
      
      	* s-parame.adb: Version now used by all native platforms.
      	(Default_Stack_Size): Use 2 megs for default stack size and use
      	__gl_default_stack_size when available.
      	(Minimum_Stack_Size): Use 12K.
      
      	* s-taprop-mingw.adb: Set default stack size linker switch to 2megs.
      	(Create_Task): Refine implementation taking advantage of the XP stack
      	size support. On XP, we now create the thread using the flag
      	STACK_SIZE_PARAM_IS_A_RESERVATION.
      
      	* s-osinte-mingw.ads (Stack_Size_Param_Is_A_Reservation): New constant.
      
      	* sysdep.c (__gnat_is_windows_xp): New routine, returns 1 on Windows
      	XP and 0 on older Windows versions.
      
      	* interfac-vms.ads: Removed, no longer used.
      
      From-SVN: r111034
      Arnaud Charlet committed
    • a-stwisu.adb, [...] (Super_Slice): Fix slice index. · ee45a6dd
      	* a-stwisu.adb, a-strsup.adb, a-stzsup.adb (Super_Slice): Fix slice
      	index.
      
      	* a-stwima.adb (To_Set): Add extra check when N = 0.
      
      	* g-regpat.adb: (Match_Simple_Operator): Avoid possible overflow.
      
      From-SVN: r111033
      Arnaud Charlet committed
    • ali-util.adb (Get_File_Checksum): Update to account for change in profile of Initialize_Scanner. · 68e2ea27
      2006-02-13  Thomas Quinot  <quinot@adacore.com>
      	    Vincent Celier  <celier@adacore.com>
      	    Robert Dewar  <dewar@adacore.com>
      
      	* ali-util.adb (Get_File_Checksum): Update to account for change in
      	profile of Initialize_Scanner.
      
      	* gprep.adb (Gnatprep): Update to account for change in profile of
      	Initialize_Scanner.
      	(Process_One_File): Same.
      
      	* lib.adb (Get_Code_Or_Source_Unit): New subprogram factoring the
      	common code between Get_Code_Unit and Get_Source_Unit. Reimplement
      	that behaviour using the new Unit information recorded in the source
      	files table, rather than going through all units every time.
      	(Get_Code_Unit): Reimplement in terms of Get_Code_Or_Source_Unit.
      	(Get_Source_Unit): Same.
      
      	* prepcomp.adb (Parse_Preprocessing_Data_File): Update to account for
      	change in profile of Initialize_Scanner.
      	(Prepare_To_Preprocess): Same.
      
      	* lib.ads: Fix typo in comment (templace -> template).
      
      	* prj-part.adb (Parse_Single_Project): Update to account for change in
      	profile of Initialize_Scanner.
      
      	* scn.adb (Initialize_Scanner): Account for change in profile of
      	Scng.Initialize_Scanner: set Current_Source_Unit in Scn instead of Scng.
      	Also record the association of the given Source_File_Index to the
      	corresponding Unit_Number_Type.
      
      	* scng.ads, scng.adb (Initialize_Scanner.Set_Reserved): Remove
      	procedure.
      	(Initialize_Scanner): Call Scans.Initialize_Ada_Keywords.
      	Remove Unit formal for generic scanner: this formal
      	is only relevant to Scn (the scanner instance used to parse Ada source
      	files), not to other instances. Update comment accordingly.
      	(Scan): Use new function Snames.Is_Keyword_Name.
      
      	* sinfo-cn.adb: Fix typo in comment.
      
      	* sinput.adb (Unit, Set_Unit): Accessors for new source file attribute
      	Unit.
      
      	* sinput.ads (Source_File_Record): New component Unit, used to capture
      	the unit identifier (if any) associated to a source file.
      
      	* sinput-c.adb, sinput-l.adb (Load_File): Initialize new component
      	Unit in Source_File_Record.
      
      	* sinput-p.adb (Source_File_Is_Subunit): Update to account for change
      	in profile of Initialize_Scanner.
      
      	* scans.adb (Initialize_Ada_Keywords): New procedure
      
      	* scans.ads (Initialize_Ada_Keywords): New procedure to initialize the
      	Ada keywords in the Namet table, without the need to call
      	Initialize_Scanner.
      
      	* snames.adb: Add pragma Ada_2005 (synonym for Ada_05)
      	(Is_Keyword_Name): New function
      
      	* snames.ads: Add subtype Configuration_Pragma_Names
      	Add pragma Ada_2005 (synonym for Ada_05)
      	(Is_Keyword_Name): New function
      
      	* snames.h: Add pragma Ada_2005 (synonym for Ada_05)
      
      From-SVN: r111032
      Thomas Quinot committed
    • 2006-02-13 Arnaud Charlet <charlet@adacore.com> · 6f301919
      	    Robert Dewar  <dewar@adacore.com>
      
      	* a-exexpr.adb, a-exexpr-gcc.adb
      	(Process_Raise_Exception): Removed, merged with Propagate_Exception.
      	(Propagate_Exception): Now take extra From_Signal_Handler parameter.
      	Remove code unused for exception propagation for the compiler itself
       	from a-except.adb and update to still share separate packages.
      
      	* a-except.ads, a-except.adb: Ditto.
      	Add comments that this version is now used only by the compiler and
      	other basic tools. The full version that includes the Ada 2005 stuff
      	is in separate files a-except-2005.ads/adb. The reason is that we do
      	not want to cause bootstrap problems with compilers not recognizing
      	Wide_Wide_String.
      	Add exception reason code PE_Implicit_Return
      	Add new exception reason code (Null Exception_Id)
      
      	* a-except-2005.adb, a-except-2005.ads: New files.
      
      	* s-wchcon.ads: (Get_WC_Encoding_Method): New function.
      
      	* s-wchcon.adb: New file.
      
      	* Makefile.in (LIBGNAT_SRCS): Add tb-gcc.c.
      	(traceback.o deps): Likewise.
      	(SPARC/Solaris): Accept sparc[64|v9]-sun-solaris.
      	Activate build of GMEM instrumentation library on VMS targets.
      	(gnatlib-sjlj, gnatlib-zcx): Pass EH_MECHANISM to make gnatlib.
      	Use a-except-2005.ads/adb for all run-time library builds unless
      	specified otherwise.
      	[VMS] (LIBGNAT_TARGET_PAIRS_AUX1,2): Rename s-parame-vms.ads to
      	s-parame-vms-alpha.ads and add s-parame-vms-ia64.ads.
      	Use s-parame.adb on all native platforms.
      	Use s-parame-vxworks.adb on all vxworks platforms.
      	Add env.c env.h in LIBGNAT_SRCS
      	Add env.o in LIBGNAT_OBJS
      	(GNATMAKE_OBJS): Remove ctrl_c.o object.
      	(LIBGNAT_TARGET_PAIRS for x86-vxworks): Use an specialized version of
      	s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
      	supports VxWorks 6 RTPs.
      	(EXTRA_GNATRTL_NONTASKING_OBJS for x86-vxworks): Remove the use of
      	i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
      
      	* types.h, types.ads (Terminate_Program): New exception
      	Add comment on modifying multiple versions of a-except.adb when the
      	table of exception reasons is modified.
      	Add exception reason code PE_Implicit_Return
      	Add new exception reason code (Null Exception_Id)
      
              * clean.adb (Initialize): Get the target parameters before checking
              if target is OpenVMS. Move the OpenVMS specific code here from package
              body elaboration code.
      
      From-SVN: r111031
      Arnaud Charlet committed
    • re PR ada/26096 (Ada bootstrap fails in g-alleve.adb) · 5b47742c
      2006-02-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
      	    Olivier Hainque  <hainque@adacore.com>
      	    Eric Botcazou  <ebotcazou@adacore.com>
      
      	* ada-tree.h: (TYPE_UNCHECKED_UNION_P): Deleted.
      	
      	* gigi.h (value_factor_p): Add prototype and description, now public.
      
      	* decl.c (gnat_to_gnu_field): Don't attempt BLKmode to integral type
      	promotion for field with rep clause if the associated size was proven
      	to be in error.
      	Expand comments describing attempts to use a packable type.
      	(gnat_to_gnu_entity) <E_Signed_Integer_Subtype,
      	E_Floating_Point_Subtype>: Inherit alias set of what we are making a
      	subtype of to ensure conflicts amongst all subtypes in a hierarchy,
      	necessary since these are not different types and pointers may
      	actually designate any subtype in this hierarchy.
      	(gnat_to_gnu_entity, case E_Record_Type): Always make fields for
      	discriminants but put them into record only if not Unchecked_Union;
      	pass flag to components_to_record showing Unchecked_Union.
      	(make_dummy_type): Use UNION_TYPE only if Unchecked_Union and no
      	components before variants; don't set TYPE_UNCHECKED_UNION_P.
      	(components_to_record): New argument UNCHECKED_UNION.
      	Remove special case code for Unchecked_Union and instead use main code
      	with small changes.
      
      	PR ada/26096
      	(gnat_to_gnu_entity) <E_Variable>: Do not initialize the
      	aligning variable with the expression being built, only its inner
      	field.
      
      	* trans.c (Handled_Sequence_Of_Statements_to_gnu): Remove call to
      	emit_sequence_entry_statements.
      	(emit_sequence_entry_statements, body_with_handlers_p): Delete.
      	(establish_gnat_vms_condition_handler): Move before
      	Subprogram_Body_to_gnu.
      	(Subprogram_Body_to_gnu): On VMS, establish_gnat_vms_condition_handler
      	for a subprogram if it has a foreign convention or is exported.
      	(Identifier_to_gnu): Manually unshare the DECL_INITIAL tree when it is
      	substituted for a CONST_DECL.
      	(tree_transform, case N_Aggregate): Remove code for UNION_TYPE and pass
      	Etype to assoc_to_constructor.
      	(assoc_to_constructor): New argument, GNAT_ENTITY; use it to ignore
      	discriminants of Unchecked_Union.
      	(TARGET_ABI_OPEN_VMS): Define to 0 if not defined, so that later uses
      	don't need cluttering preprocessor directives.
      	(establish_gnat_vms_condition_handler): New function. Establish the GNAT
      	condition handler as current in the compiled function.
      	(body_with_handlers_p): New function. Tell whether a given sequence of
      	statements node is attached to a package or subprogram body and involves
      	exception handlers possibly nested within inner block statements.
      	(emit_sequence_entry_statements): New function, to emit special
      	statements on entry of sequences when necessary. Establish GNAT
      	condition handler in the proper cases for VMS.
      	(Handled_Sequence_Of_Statements_to_gnu): Start block code with
      	emit_sequence_entry_statements.
      
      	* utils2.c (find_common_type): If both input types are BLKmode and
      	have a constant size, use the smaller one.
      	(build_simple_component_ref): Also match if FIELD and NEW_FIELD are
      	the same.
      
      	* utils.c (value_factor_p): Make public, to allow uses from other gigi
      	units.
      	(create_type_decl): Do not set the flag DECL_IGNORED_P for dummy types.
      	(convert, case UNION_TYPE): Remove special treatment for unchecked
      	unions.
      
      	PR ada/18659
      	(update_pointer_to): Update variants of pointer types to
      	unconstrained arrays by attaching the list of fields of the main
      	variant.
      
      From-SVN: r111030
      Richard Kenner committed
    • adaint.h, adaint.c (DIR_SEPARATOR): Use _T() macro for Unicode support. · 0022d9e3
      2006-02-13  Pascal Obry  <obry@adacore.com>
      	    Nicolas Roche  <roche@adacore.com>
      	    Arnaud Charlet  <charlet@adacore.com>
      
      	* adaint.h, adaint.c (DIR_SEPARATOR): Use _T() macro for Unicode
      	support.
      	(__gnat_try_lock): Add unicode support by using a specific section on
      	Windows.
      	(__gnat_get_current_dir): Idem.
      	(__gnat_open_read): Idem.
      	(__gnat_open_rw): Idem.
      	(__gnat_open_create): Idem.
      	(__gnat_create_output_file): Idem.
      	(__gnat_open_append): Idem.
      	(__gnat_open_new): Idem.
      	(__gnat_file_time_name): Idem.
      	(__gnat_set_file_time_name): Idem.
      	(__gnat_stat): Idem.
      	(win32_no_block_spawn): Idem.
      	(__gnat_locate_exec_on_path): Idem.
      	(__gnat_opendir): New routine.
      	(__gnat_closedir): Idem.
      	(__gnat_readdir): Add new parameter length (pointer to int). Update
      	implementation to use it and add specific Win32 code for Unicode
      	support.
      	(__gnat_get_env_value_ptr): Remove. Replaced by __gnat_getenv in env.c
      	(__gnat_set_env_value): Remove. Replaced by __gnat_setenv in env.c
      	(convert_addresses): Do not define this dummy routine on VMS.
      
      	* mingw32.h (GNAT_UNICODE_SUPPORT): New definition, if set the GNAT
      	runtime Unicode support will be activated.
      	(S2WS): String to Wide-String conversion. This version just copy a
      	string in non Unicode version.
      	(WS2S): Wide-String to String conversion. This version just copy a
      	string in non Unicode version.
      
      	* g-dirope.adb: (Close): Now import __gnat_closedir from adaint.c.
      	(Open): Now import __gnat_opendir from adaint.c.
      	(Read): Change the implementation to support unicode characters. It is
      	not possible to use strlen() on Windows as this version supports only
      	standard ASCII characters. So the length of the directory entry is now
      	returned from the imported __gnat_readdir routine.
      	Update copyright notice.
      
      	* s-crtl-vms64.ads, s-crtl.ads: (closedir): Moved to adaint.c.
      	(opendir): Moved to adaint.c.
      
      	* g-os_lib.adb (Copy_Time_Stamp): Fix off-by-one range computation.
      	(Get_Directory): Fix wrong indexing.
      	(Getenv): replace __gnat_get_env_value_ptr from adaint.c by
      	__gnat_getenv from env.c
      	(Setenv): replace __gnat_set_env_value from adaint.c by __gnat_setenv
      	from env.c
      
      	* env.h, env.c: New file.
      
      	* s-scaval.adb (Initialize): Replace __gnat_get_env_value_ptr from
      	adaint.c by __gnat_getenv from env.c
      
      	* s-shasto.adb (Initialize): replace __gnat_get_env_value_ptr from
      	adaint.c by __gnat_getenv from env.c
      
      	* Make-lang.in: Add env.o in the list of C object needed by gnat1
      	and gnatbind.
      	Update dependencies.
      
      From-SVN: r111029
      Pascal Obry committed
    • adadecode.h, [...]: (__gnat_decode): Improve support of types. · 4f37ea7d
      2006-02-13  Nicolas Setton  <setton@adacore.com>
      
      	* adadecode.h, adadecode.c: (__gnat_decode): Improve support of types.
      	(get_encoding): New subprogram. Extracts the encodings from an encoded
      	Ada name.
      
      From-SVN: r111028
      Nicolas Setton committed
    • system-mingw.ads (Underlying_Priorities): Update the priority mapping table to… · e7c9a058
      system-mingw.ads (Underlying_Priorities): Update the priority mapping table to take advantage of the 16 priority levels...
      
      2006-02-13  Pascal Obry  <obry@adacore.com>
      
      	* system-mingw.ads (Underlying_Priorities): Update the priority mapping
      	table to take advantage of the 16 priority levels available on Windows
      	2000 and XP. On NT4 there are only 7 priority levels, this is properly
      	supported by this new mapping.
      
      From-SVN: r111027
      Pascal Obry committed
    • s-taprop-posix.adb, [...] (Create_Task): Remove task adjustment code. · 57d8e34e
      2006-02-13  Pascal Obry  <obry@adacore.com>
      
      	* s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb, 
      	s-taprop-lynxos.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb, 
      	s-taprop-linux.adb, s-taprop-solaris.adb,
      	s-taprop-vms.adb (Create_Task): Remove task adjustment code. This
      	adjustement is already done when calling this routine.
      
      From-SVN: r111026
      Pascal Obry committed
    • s-osinte-darwin.adb, [...] (sigset_t_ptr): Removed, replaced by anonymous access type. · 1dd5ad55
      	* s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-vxworks.ads, 
      	s-osinte-solaris.ads, s-osinte-linux.ads, s-osinte-freebsd.ads, 
      	s-osinte-solaris-posix.ads, s-osinte-lynxos-3.ads, s-osinte-lynxos.ads, 
      	s-osinte-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads, 
      	s-osinte-hpux-dce.ads, s-osinte-linux-hppa.ads, 
      	s-osinte-linux-alpha.ads, s-inmaop-posix.adb (sigset_t_ptr): Removed,
      	replaced by anonymous access type.
      	(pthread_sigmask): Now take an access sigset_t
      
      	* s-osinte-hpux.ads:  Ditto.
      	(pthread_mutex_t, pthread_cond_t): Update definitions to support
      	properly 32 and 64 bit ABIs.
      
      From-SVN: r111025
      Arnaud Charlet committed
    • a-tasatt.adb, [...]: Remove redundant with clauses. · 3ede876b
      2006-02-13  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* a-tasatt.adb, s-osinte-lynxos-3.adb, s-osinte-lynxos.adb,
      	s-osinte-aix.adb, s-interr-sigaction.adb, s-asthan-vms-alpha.adb,
      	s-interr-vms.adb, s-intman-vms.adb, s-interr-vxworks.adb,
      	s-intman-vxworks.adb, s-asthan-vms-alpha.adb, a-ztexio.adb,
      	a-reatim.adb, a-taside.adb, a-textio.adb, a-witeio.adb, prj-attr.adb,
      	s-intman-irix.adb, s-intman-solaris.adb, s-intman-posix.adb,
      	a-dynpri.adb, a-interr.adb, g-dynhta.adb, s-asthan.adb, s-interr.adb,
      	s-pooglo.adb, s-pooloc.adb, s-poosiz.adb, s-tasren.adb, s-tasuti.adb,
      	s-tataat.adb, s-tpobop.adb: Remove redundant with clauses.
      
      From-SVN: r111024
      Hristian Kirtchev committed
    • s-gloloc-mingw.adb, [...]: Minor reformatting. · 0ae9f22f
      2006-02-13  Robert Dewar  <dewar@adacore.com>
      
      	* s-gloloc-mingw.adb, a-cgaaso.ads, a-stzmap.adb, a-stzmap.adb,
      	a-stzmap.ads, a-ztcoio.adb, a-ztedit.adb, a-ztedit.ads, a-ztenau.adb,
      	a-ztenau.ads, a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
      	a-comlin.adb, a-decima.adb, a-decima.ads, a-direio.adb, a-direio.adb,
      	a-direio.adb, a-direio.ads, a-ngcoty.adb, a-ngcoty.ads, a-nuflra.adb,
      	a-nuflra.ads, a-sequio.adb, a-sequio.ads, a-sequio.ads, a-storio.ads,
      	a-stream.ads, a-ststio.adb, a-ststio.adb, a-ststio.ads, a-ststio.ads,
      	a-stwima.adb, a-stwima.adb, a-stwima.ads, a-stwise.adb, a-teioed.adb,
      	a-teioed.ads, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tasatt.ads,
      	a-tideau.adb, a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
      	a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.ads, a-tiflau.adb,
      	a-tiflau.ads, a-tiflio.adb, a-tiflio.adb, a-tiflio.ads, a-tigeau.ads,
      	a-tiinau.adb, a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoio.adb,
      	a-timoio.ads, a-titest.adb, a-titest.ads, a-wtcoio.adb, a-wtdeau.adb,
      	a-wtdeau.ads, a-wtdeio.adb, a-wtdeio.ads, a-wtedit.adb, a-wtedit.adb,
      	a-wtedit.ads, a-wtenau.adb, a-wtenau.ads, a-wtenau.ads, a-wtenio.adb,
      	a-wtenio.ads, a-wtfiio.adb, a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads,
      	a-wtflio.adb, a-wtflio.adb, a-wtflio.ads, a-wtgeau.ads, a-wtinau.adb,
      	a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb, a-wtmoau.ads,
      	a-wtmoio.adb, a-wtmoio.ads, xref_lib.adb, xref_lib.ads, xr_tabls.adb,
      	g-boubuf.adb, g-boubuf.ads, g-cgideb.adb, g-io.adb, gnatdll.adb,
      	g-pehage.adb, i-c.ads, g-spitbo.adb, g-spitbo.ads, mdll.adb,
      	mlib-fil.adb, mlib-utl.adb, mlib-utl.ads, prj-env.adb, prj-tree.adb,
      	prj-tree.ads, prj-util.adb, s-arit64.adb, s-asthan.ads, s-auxdec.adb,
      	s-auxdec.ads, s-chepoo.ads, s-direio.adb, s-direio.ads, s-errrep.adb,
      	s-errrep.ads, s-fileio.adb, s-fileio.ads, s-finroo.adb, s-finroo.ads,
      	s-gloloc.adb, s-gloloc.ads, s-io.adb, s-io.ads, s-rpc.adb,
      	s-rpc.ads, s-shasto.ads, s-sequio.adb, s-stopoo.ads, s-stratt.adb,
      	s-stratt.ads, s-taasde.adb, s-taasde.ads, s-tadert.adb, s-sequio.ads,
      	s-taskin.adb, s-tasque.adb, s-tasque.ads, s-wchjis.ads, makegpr.adb,
      	a-coinve.adb, a-cidlli.adb, eval_fat.adb, exp_dist.ads, exp_smem.adb,
      	fmap.adb, g-dyntab.ads, g-expect.adb, lib-xref.ads, osint.adb,
      	par-load.adb, restrict.adb, sinput-c.ads, a-cdlili.adb,
      	system-vms.ads, system-vms-zcx.ads, system-vms_64.ads: Minor
      	reformatting.
      
      From-SVN: r111023
      Robert Dewar committed
    • a-taster.adb (Current_Task_Fallback_Handler): Document why explicit protection… · 85a40c43
      a-taster.adb (Current_Task_Fallback_Handler): Document why explicit protection against race conditions is not needed.
      
      2006-02-13  Jose Ruiz  <ruiz@adacore.com>
      
      	* a-taster.adb (Current_Task_Fallback_Handler): Document why explicit
      	protection against race conditions is not needed.
      	(Set_Dependents_Fallback_Handler): Add mutual exclusive access to the
      	fallback handler.
      	(Set_Specific_Handler): Add mutual exclusive access to the specific
      	handler.
      	(Specific_Handler): Add mutual exclusive access for retrieving the
      	specific handler.
      
      	* s-tarest.adb (Task_Wrapper): Add mutual exclusive access to the fall
      	back handler.
      
      	* s-taskin.ads (Common_ATCB): Remove pragma Atomic for
      	Fall_Back_Handler and Specific_Handler.
      
      	* s-tassta.adb (Task_Wrapper): Add mutual exclusive access to the task
      	termination handlers.
      	Set two different owerflow depending on the maximal stack size.
      
      	* s-solita.adb (Task_Termination_Handler_T): Document why explicit
      	protection against race conditions is not needed when executing the
      	task termination handler.
      
      From-SVN: r111022
      Jose Ruiz committed
    • a-intnam-os2.ads, [...]: Removed, no longer used. · ed50c9d2
      	* a-intnam-os2.ads, a-intnam-unixware.ads, g-soccon-unixware.ads,
      	g-soliop-unixware.ads, i-os2err.ads, i-os2lib.adb, i-os2lib.ads,
      	i-os2syn.ads, i-os2thr.ads, s-intman-irix-athread.adb,
      	s-osinte-aix-fsu.ads, s-osinte-fsu.adb, s-parame-os2.adb,
      	s-osinte-irix-athread.ads, s-osinte-linux-fsu.ads, s-osinte-os2.adb,
      	s-osinte-os2.ads, s-osinte-solaris-fsu.ads, s-osinte-unixware.adb,
      	s-osinte-unixware.ads, s-osprim-os2.adb, s-taprop-irix-athread.adb,
      	s-taprop-os2.adb, s-tasinf-irix-athread.adb, s-tasinf-irix-athread.ads,
      	s-taspri-os2.ads, system-os2.ads, system-unixware.ads: Removed,
      	no longer used.
      
      From-SVN: r111021
      Arnaud Charlet committed
    • cfg.c (dump_flow_info): Get dump flags as an additional parameter. · 5b4fdb20
      2006-02-15  Paolo Bonzini  <bonzini@gnu.org>
      
      	* cfg.c (dump_flow_info): Get dump flags as an additional parameter.
      	(debug_flow_info): Pass it.
      	* alias.c (rest_of_handle_cfg): Adjust calls to dump_flow_info.
      	* bb-reorder.c (reorder_basic_blocks): Likewise.
      	* cfgcleanup.c (rest_of_handle_jump2): Likewise.
      	* cse.c (rest_of_handle_cse, rest_of_handle_cse2): Likewise.
      	* flow.c (life_analysis, recompute_reg_usage): Likewise.
      	* gcse.c (gcse_main, bypass_jumps): Likewise.
      	* ifcvt.c (rest_of_handle_if_conversion): Likewise.
      	* local-alloc.c (rest_of_handle_local_alloc): Likewise.
      	* loop-init.c (rtl_loop_init, rtl_loop_done): Likewise.
      	* profile.c (compute_branch_probabilities, branch_prob): Likewise.
      	* rtl.h (dump_flow_info): Adjust prototype.
      	* tracer.c (rest_of_handle_tracer, tracer): Likewise.
      	* var-tracking.c (variable_tracking_main): Likewise.
      	* passes.c (execute_todo): Obey TDF_BLOCKS for RTL.
      	* tree-dump.c (enable_rtl_dump_file): Enable the details and blocks
      	options.
      
      From-SVN: r111020
      Paolo Bonzini committed
    • tree-ssa-dom.c (dom_thread_across_edge): fix tag expression construction. · bc4632d4
      2006-02-15  Marcin Dalecki <martin@dalecki.de>
      
      	* tree-ssa-dom.c (dom_thread_across_edge): fix tag expression
      	construction.
      
      From-SVN: r111019
      Marcin Dalecki committed
    • re PR libgomp/25938 (libgomp installs header files in version and target independent location) · dd8d6dfe
      	PR libgomp/25938
      	PR libgomp/25984
      fortran/
      	* Make-lang.in (install-finclude-dir): New goal.
      	(fortran.install-common): Depend on install-finclude-dir.
      	* lang-specs.h: If not -nostdinc, add -I finclude.
      libgomp/
      	* Makefile.am (fincludedir): New variable.
      	(nodist_include_HEADERS): Remove Fortran files.
      	(nodist_finclude_HEADERS): New variable.
      	* Makefile.in: Regenerated.
      
      From-SVN: r111018
      Jakub Jelinek committed
    • charset, [...]: Remove empty directories. · b5b7039e
      2006-02-15  Matthias Klose  <doko@debian.org>
      
              * gnu/java/nio/charset, gnu/java/net/protocol/file,
              gnu/regexp: Remove empty directories.
      
      From-SVN: r111015
      Matthias Klose committed
    • MAINTAINERS: Add self to fortran 95 maintainers. · 95999c27
      2006-02-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	* MAINTAINERS: Add self to fortran 95 maintainers.
      
      From-SVN: r111009
      Jerry DeLisle committed