1. 14 Aug, 2007 40 commits
    • alias.c (component_uses_parent_alias_set): Constify. · 22ea9ec0
      	* alias.c (component_uses_parent_alias_set): Constify.
      	* alias.h (component_uses_parent_alias_set): Likewise.
      	* cfgrtl.c (print_rtl_with_bb): Likewise.
      	* double-int.c (tree_to_double_int, double_int_fits_to_tree_p,
      	mpz_get_double_int): Likewise.
      	* double-int.h (double_int_fits_to_tree_p, tree_to_double_int,
      	mpz_get_double_int): Likewise.
      	* expr.c (is_aligning_offset, undefined_operand_subword_p,
      	mostly_zeros_p, all_zeros_p, safe_from_p, is_aligning_offset):
      	Likewise.
      	* expr.h (safe_from_p): Likewise.
      	* gimple-low.c (try_catch_may_fallthru, block_may_fallthru):
      	Likewise.
      	* gimplify.c (should_carry_locus_p, zero_sized_field_decl,
      	zero_sized_type, goa_lhs_expr_p): Likewise.
      	* omp-low.c (is_variable_sized, use_pointer_for_field): Likewise.
      	* rtl.h (print_rtl_with_bb): Likewise.
      	* sched-vis.c (print_exp, print_value, print_pattern): Likewise.
      	* tree-cfg.c (const_first_stmt, const_last_stmt): New.
      	* tree-flow-inline.h (bb_stmt_list): Constify.
      	(cbsi_start, cbsi_last, cbsi_end_p, cbsi_next, cbsi_prev,
      	cbsi_stmt): New.
      	* tree-flow.h (const_block_stmt_iterator, cbsi_start, cbsi_last,
      	const_first_stmt, const_last_stmt): New.
      	(block_may_fallthru, empty_block_p): Constify.
      	* tree-iterator.c (EXPR_FIRST_BODY, EXPR_LAST_BODY,
      	EXPR_ONLY_BODY): New.
      	(expr_first, expr_last, expr_only): Use macro for body.
      	(const_expr_first, const_expr_last, const_expr_only): New.
      	* tree-iterator.h (const_tree_stmt_iterator, ctsi_start,
      	ctsi_last, ctsi_end_p, ctsi_one_before_end_p, ctsi_next,
      	ctsi_prev, ctsi_stmt): New.
      	* tree-scalar-evolution.c (get_loop_exit_condition): Constify.
      	* tree-scalar-evolution.h (get_loop_exit_condition): Likewise.
      	* tree-ssa-loop-niter.c (loop_only_exit_p,
      	derive_constant_upper_bound): Likewise.
      	* tree-ssa-phiopt.c (empty_block_p): Likewise.
      	* tree-ssa-threadupdate.c (redirection_block_p): Likewise.
      	* tree-vectorizer.c (slpeel_can_duplicate_loop_p): Likewise.
      	* tree-vectorizer.h (slpeel_can_duplicate_loop_p): Likewise.
      	* tree-vrp.c (vrp_bitmap_equal_p): Likewise.
      	* tree.c (get_type_static_bounds): Likewise.
      	* tree.h (const_expr_first, const_expr_last, const_expr_only): New.
      	(get_type_static_bounds): Constify.
      
      From-SVN: r127483
      Kaveh R. Ghazi committed
    • re PR target/30315 (optimize unsigned-add overflow test on x86 to use cpu flags from addl) · d39d658d
      	PR target/30315
      	* config/i386/i386.h (CANONICALIZE_COMPARISON): New.
      	* config/i386/i386.md (plusminus)(addsub)(SWI): New.
      	(*<addsub><mode>3_cc_overflow): New.
      	(*add<mode>3_cconly_overflow): New.
      	(*sub<mode>3_cconly_overflow): New.
      	(*<addsub>si3_zext_cc_overflow): New.
      	* config/i386/predicates.md (fcmov_comparison_operator): Accept
      	CCCmode for LTU, GTU, LEU and GEU.
      	(ix86_comparison_operator): Likewise.
      	(ix86_carry_flag_operator): Carry flag is set if LTU or GTU in CCCmode.
      	* gcc/config/i386/i386.c (put_condition_code): Support CCCmode.
      	(ix86_cc_mode): Use CCCmode when testing for overflow of PLUS
      	or MINUS expressions.
      
      testsuite/
      	PR target/30315
      	* gcc.target/i386/pr30315.c: New.
      
      From-SVN: r127481
      Rask Ingemann Lambertsen committed
    • re PR fortran/32594 (substring simplification leads to ICE) · 9a251aa1
      	PR fortran/32594
      
      	* trans-expr.c (gfc_conv_substring_expr): Only call
      	gfc_conv_substring if expr->ref is not NULL.
      	* expr.c (gfc_is_constant_expr): If e->ref is NULL, the substring
      	expression might be a constant.
      	(gfc_simplify_expr): Handle missing start and end, as well as
      	missing ref.
      
      	* gfortran.dg/substr_5.f90: New test.
      
      From-SVN: r127478
      Francois-Xavier Coudert committed
    • re PR c/30428 (vector float | vector float is accepted) · 9ef0c8d9
      2007-08-14  Andrew Pinski  <pinskia@gmail.com>
      
              PR c/30428
              * c-typeck.c (build_binary_op): Disallow vector float types with
              BIT_IOR_EXPR, BIT_AND_EXPR, and BIT_XOR_EXPR.
      
      2007-08-14  Andrew Pinski  <pinskia@gmail.com>
      
              PR c++/30428
              * typeck.c (build_binary_op): Disallow vector float types with
              BIT_IOR_EXPR, BIT_AND_EXPR, and BIT_XOR_EXPR.
      
      2007-08-14  Andrew Pinski  <pinskia@gmail.com>
      
              PR c/30428
              * gcc.dg/vector-2.c: New test.
      
              PR c++/30428
              * g++.dg/ext/vector8.C: New test.
      
      From-SVN: r127477
      Andrew Pinski committed
    • Resync · ab6328d0
      From-SVN: r127476
      Arnaud Charlet committed
    • Minor reformatting. · 38aa612c
      Update comments.
      
      From-SVN: r127475
      Arnaud Charlet committed
    • (Write_Eol): Remove trailing spaces before writing the line · 76203117
      	(Write_Eol): Remove trailing spaces before writing the line
      	(Write_Eol_Keep_Blanks): New procedure to write a line, including
      	possible trailing spaces.
      	(Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
      	Fix problem with suppressing warning messages from back end
      	Improve handling of deleted warnings
      
      From-SVN: r127474
      Arnaud Charlet committed
    • (Task_Cont, Task_Stop): New functions, thin binding to the VxWorks routines… · da15c1cd
      (Task_Cont, Task_Stop): New functions, thin binding to the VxWorks routines which have changed between VxWorks 5 and 6.
      
      	(Task_Cont, Task_Stop): New functions, thin
      	binding to the VxWorks routines which have changed between VxWorks 5
      	and 6.
      	(Int_Lock, Int_Unlock): New function, thin binding to kernel routines
      	which are not callable from a RTP.
      
      From-SVN: r127473
      Arnaud Charlet committed
    • (Output_Non_Modifed_In_Out_Warnings, Warn_On_Unassigned_Out_Parameter): · d58fb3be
      	New functions.
      
      From-SVN: r127472
      Arnaud Charlet committed
    • (Check_References.Publicly_Referenceable): A formal parameter is never publicly… · 434632ce
      (Check_References.Publicly_Referenceable): A formal parameter is never publicly referenceable outside of its body.
      
      	(Check_References.Publicly_Referenceable): A formal parameter is never
      	publicly referenceable outside of its body.
      	(Check_References): For an unreferenced formal parameter in an accecpt
      	statement, use the same warning circuitry as for subprogram formal
      	parameters.  
      	(Warn_On_Unreferenced_Entity): New subprogram, taken from
      	Output_Unreferenced_Messages, containing the part of that routine that
      	is now reused for entry formals as described above.
      	(Has_Pragma_Unreferenced_Check_Spec): New function
      	(Check_References): Clean up handling of unmodified IN OUT parameters
      
      From-SVN: r127471
      Arnaud Charlet committed
    • (lvalue_required_p): Handle N_Parameter_Association like N_Function_Call and… · a43050d3
      (lvalue_required_p): Handle N_Parameter_Association like N_Function_Call and N_Procedure_Call_Statement.
      
      	(lvalue_required_p): Handle N_Parameter_Association like N_Function_Call
      	and N_Procedure_Call_Statement.
      	(takes_address): Rename to lvalue_required_p, add third parameter
      	'aliased'
      	and adjust recursive calls.
      	<N_Indexed_Component>: Update 'aliased' from the array type.
      	<N_Selected_Component>: New case.
      	<N_Object_Renaming_Declaration>: New Likewise.
      	(Identifier_to_gnu): Adjust for above changes.
      	(maybe_stabilize_reference) <CONST_DECL>: New case.
      
      From-SVN: r127470
      Arnaud Charlet committed
    • (Generic_Separately_Compiled): Rename to Generic_May_Lack_ALI... · be6aaf7f
      	(Generic_Separately_Compiled): Rename to Generic_May_Lack_ALI, more
      	descriptive of the current use of the predicate, and update
      	documentation.
      
      From-SVN: r127469
      Arnaud Charlet committed
    • exp_atag.adb (Build_Inherit_Prims): Addition of a new formal. · f9622ab1
      	* exp_atag.adb (Build_Inherit_Prims): Addition of a new formal.
      	(Build_Inherit_Predefined_Prims): Replace occurrences of Default_
      	Prim_Op_Count by Max_Predef_Prims.
      
      From-SVN: r127468
      Arnaud Charlet committed
    • [multiple changes] · 33c423c8
      2007-08-14  Geert Bosch  <bosch@adacore.com>
      
      	* i-forbla.ads, i-forbla.adb, a-ngcoar.adb, a-ngcoar.ads, i-forlap.ads,
      	s-gearop.adb, s-gecobl.adb, s-gecobl.ads, s-gerela.adb, s-gerela.ads:
      	Add required linker pragmas for automatically linking with the gnalasup
      	linear algebra support library, and the systems math library.
      	Rename cdot to cdotu and zdot to zdotu.
      	Update header comment to describe purpose of package.
      
      2007-08-14  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch7.adb (Find_Final_List): For an anonymous access type that has
      	an explicitly specified Associated_Final_Chain, use that list.
      	(Expand_N_Package_Body): Build dispatch tables of library level tagged
      	types.
      	(Expand_N_Package_Declaration): Build dispatch tables of library level
      	tagged types. Minor code cleanup.
      
      2007-08-14  Vincent Celier  <celier@adacore.com>
      
      	* gnatchop.adb (Terminate_Program): Remove exception and use
      	Types.Terminate_Program instead.
      
      	* osint.ads, osint.adb (Current_Exit_Status): New global variable
      	(Find_Program_Name): Added protection against empty name.
      	(OS_Exit_Through_Exception): New procedure
      
      	* s-os_lib.ads, s-os_lib.adb (OS_Exit): New procedure body
      	(OS_Exit_Default): New procedure that contains the previous
      	implementation of procedure OS_Exit.
      	(Final_Value): Remove obsolete Interix stuff.
      
      2007-08-14  Thomas Quinot  <quinot@adacore.com>
      
      	* g-socket.ads: Reorganize example code so that it also works on
      	Windows XP.
      
      2007-08-14  Tristan Gingold  <gingold@adacore.com>
      
      	* g-trasym.ads: AIX now supports symbolic backtraces.
      
      2007-08-14  Ed Schonberg  <schonberg@adacore.com>
      
      	* lib-load.adb (From_Limited_With_Chain): Always scan the stack of
      	units being loaded to detect circularities. A circularity may be
      	present even if the current chain of pending units to load starts from
      	a limited_with_clause.
      
      	* lib-load.ads: Change profile of Load_Unit to use a with_clause
      	rather than a boolean flag, in order to detect circularities in
      	with_clauses.
      
      	* par-load.adb: Use current with_clause in calls to Load_Unit, rather
      	than propagating the From_Limited_With flag, in order to handle
      	properly circularities involving with_clauses.
      
      2007-08-14  Nicolas Setton  <setton@adacore.com>
      
      	* link.c (FreeBSD): Add "const" keyword where needed, to eliminate
      	warnings.
      
      2007-08-14  Arnaud Charlet  <charlet@adacore.com>
      
      	* Makefile.in: GNATRTL_LINEARALGEBRA_OBJS: New variable holding objects
      	to build for libgnala.
      	libgnat: Add rules to build libgnala.a
      	(LIBGNAT_TARGET_PAIRS for VxWorks): Remove s-osinte-vxworks.adb from
      	target pairs of the VxWorks 6 kernel runtime, use it only for VxWorks 5.
      	Add s-osinte-vxworks-kernel.adb to the target pairs of the
      	kernel run-time lib for VxWorks 6, which would provide a different
      	implementation for Task_Cont and Task_Stop than the VxWorks 5 version.
      	x86-solaris section (EH_MECHANISM): Set to -gcc, as this port is now
      	running ZCX by default.
      	Add g-sttsne-locking to LynxOS version.
      	Remove g-sttsne-vxworks.ads; use g-sttsne-locking.ads instead.
      	On x86/darwin, use a-numaux-x86.ad? and system-darwin-x86.ads.
      
      	* system-darwin-x86.ads: New file.
      
      	* Make-lang.in: Delete files before copying onto them, so if they are
      	read-only, the copy won't fail.
      	Update dependencies
      
      2007-08-14  Pascal Obry  <obry@adacore.com>
      
      	* mdll-fil.adb, * mdll.adb: Implement a more consistent libraries
      	naming scheme.
      
      2007-08-14  Vincent Celier  <celier@adacore.com>
      
      	* mlib-utl.adb (Gcc_Name): Change from constant String to String_Access
      	(Gcc): Initialize Gcc_Name at the first call
      
      2007-08-14  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch7.adb (Analyze_Package_Specification): Do not install private
      	with_clauses of the enclosing unit when analyzing the package
      	specification of a nested instance.
      
      2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sinfo.ads, sinfo.adb (Is_Coextension, Set_Is_Coextension): Removed.
      	(Is_Dynamic_Coextension, Set_Is_Dynamic_Coextension): New routines.
      	Remove flag Is_Coextension. Add flag Is_Dynamic_Coextension. Update the
      	layout of N_Allocator.
      
      2007-08-14  Thomas Quinot  <quinot@adacore.com>
      
      	* rtsfind.adb (Check_RPC): Add PCS version check.
      
      	* gnatvsn.ads, gnatvsn.adb: Add PCS version.
      	(Gnat_Free_Software): New function.
      
      	* sem_dist.ads, sem_dist.adb (Get_PCS_Version): New subprogram. Returns
      	the PCS_Version value from s-parint, used to check that it is consistent
      	with what exp_dist expects.
      
      	* s-parint.ads (PCS_Version): New entity for checking consistency
      	between exp_dist and PCS.
      
      	* gen-soccon.c: (SO_REUSEPORT): New constant.
      
      2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* a-calfor.adb (Image (Duration; Boolean)): Change type of local
      	variable Sub_Second to Duration in order to accomodate a larger range
      	of arithmetic operations.
      
      2007-08-14  Bob Duff  <duff@adacore.com>
      
      	* g-sttsne-locking.ads: Move comments from spec to body.
      	* g-sttsne-locking.adb: Move comments from spec to body.
      	* g-sttsne-vxworks.ads: Removed.
      	* g-sttsne-vxworks.adb: Removed.
      
      From-SVN: r127467
      Arnaud Charlet committed
    • tracebak.c: Use tb-ivms.c on OpenVMS Itanium. · 6d64bc37
      2007-08-14  Tristan Gingold  <gingold@adacore.com>
      
      	* tracebak.c: Use tb-ivms.c on OpenVMS Itanium.
      
      	* tb-ivms.c: New file.
      
      	* g-trasym-vms-ia64.adb: Fixed for OpenVMS version 8.2
      
      From-SVN: r127466
      Tristan Gingold committed
    • s-veboop.adb (SU): New named number initialized to System.Storage_Unit. · 6027ad8b
      2007-08-14  Gary Dismukes  <dismukes@adacore.com>
      
      	* s-veboop.adb (SU): New named number initialized to
      	System.Storage_Unit.
      	(True_Val): The initialization expression is revised to use SU (=
      	Storage_Unit) rather than assuming 8 for the component size of an
      	unpacked Boolean array.
      
      From-SVN: r127465
      Gary Dismukes committed
    • s-tpobop.ads, [...] (Requeue_With_Abort): Rename field With_Abort. · 20dedfc1
      2007-08-14  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-tpobop.ads, s-tpobop.adb, s-tasren.ads, s-tasren.adb,
      	s-taskin.ads (Requeue_With_Abort): Rename field With_Abort.
      	(PO_Do_Or_Queue, Task_Do_Or_Queue, Requeue_Call): Remove With_Abort
      	parameter.
      
      	* s-tassta.adb (Task_Wrapper): Increased value of the small overflow
      	guard to 12K.
      
      From-SVN: r127464
      Arnaud Charlet committed
    • s-tasini.adb (Get_Stack_Info): Move this function to System.Soft_Links.Tasking… · cc8be39e
      s-tasini.adb (Get_Stack_Info): Move this function to System.Soft_Links.Tasking because it is common to the...
      
      2007-08-14  Jose Ruiz  <ruiz@adacore.com>
      
      	* s-tasini.adb (Get_Stack_Info): Move this function to
      	System.Soft_Links.Tasking because it is common to the full and the
      	restricted run times.
      	(Init_RTS): Do not set the Get_Stack_Info soft link because it is done
      	in SSL.Tasking.Init_Tasking_Soft_Links.
      
      	* s-solita.adb (Get_Stack_Info): Function moved from
      	System.Tasking.Initialization because it is common to the full and the
      	restricted run times.
      	(Init_Tasking_Soft_Links): Set the tasking soft link for Get_Stack_Info.
      
      From-SVN: r127463
      Jose Ruiz committed
    • s-finimp.adb (Detach_From_Final_List): make this procedure idempotent since it… · 95dd3302
      s-finimp.adb (Detach_From_Final_List): make this procedure idempotent since it is potentially used in cases implying...
      
      2007-08-14  Cyrille Comar  <comar@adacore.com>
      
      	* s-finimp.adb (Detach_From_Final_List): make this procedure idempotent
      	since it is potentially used in cases implying double finalization of
      	the same object.
      
      From-SVN: r127462
      Cyrille Comar committed
    • s-fileio.adb (Is_Open): Add check for usability of the underlying file stream. · 2353aeeb
      2007-08-14  Pascal Obry  <obry@adacore.com>
      
      	* s-fileio.adb (Is_Open): Add check for usability of the underlying
      	file stream.
      
      From-SVN: r127461
      Pascal Obry committed
    • s-ficobl.ads: Declare AFCB as a tagged incomplete type... · b1b1010f
      2007-08-14  Ed Schonberg  <schonberg@adacore.com>
      
      	* s-ficobl.ads: Declare AFCB as a tagged incomplete type, to prevent
      	obsolescent warning on application of 'Class to an incomplete type.
      
      	* s-finroo.ads: Declare Root_Controlled as a tagged incomplete type, to
      	prevent obsolescent warning on application of 'Class to an incomplete
      	type.
      
      From-SVN: r127460
      Ed Schonberg committed
    • sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a generated interface thunk. · f9c0d38c
      2007-08-14  Javier Miranda  <miranda@adacore.com>
      
      	* sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a
      	generated interface thunk.
      
      From-SVN: r127459
      Javier Miranda committed
    • sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code that is… · d118a43e
      sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code that is common to Analyze_Protected_Type...
      
      2007-08-14  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code
      	that is common to Analyze_Protected_Type and Analyze_Task_Type. In case
      	of private types add missing check on matching interfaces in the
      	partial and full declarations.
      	(Analyze_Protected_Type): Code cleanup.
      	(Analyze_Task_Type): Code cleanup.
      
      From-SVN: r127458
      Javier Miranda committed
    • par-ch6.adb (P_Formal_Part): Fix wrong error message associated with null-excluding access types. · 4210c975
      2007-08-14  Javier Miranda  <miranda@adacore.com>
      
      	* par-ch6.adb (P_Formal_Part): Fix wrong error message associated with
      	null-excluding access types.
      
      From-SVN: r127457
      Javier Miranda committed
    • output.ads, output.adb (Write_Eol): Remove trailing spaces before writing the line. · b63e3837
      2007-08-14  Vincent Celier  <celier@adacore.com>
      
      	* output.ads, output.adb (Write_Eol): Remove trailing spaces before
      	writing the line.
      	(Write_Eol_Keep_Blanks): New procedure to write a line, including
      	possible trailing spaces.
      	(Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
      
      From-SVN: r127456
      Vincent Celier committed
    • layout.adb (Layout_Type): In the case of access-to-subprogram types... · 49934177
      2007-08-14  Gary Dismukes  <dismukes@adacore.com>
      
      	* layout.adb (Layout_Type): In the case of access-to-subprogram types,
      	if AAMP_On_Target is True, then the size of the type encompasses two
      	addresses (a static link and a subprogram address), except in the case
      	of library-level access types.
      
      From-SVN: r127455
      Gary Dismukes committed
    • impunit.adb: Re-organize System.Random_Numbers and GNAT.Random_Numbers and add to builds. · 6812b99b
      2007-08-14  Paul Hilfinger  <hilfinger@adacore.com>
      
      	* impunit.adb: Re-organize System.Random_Numbers and
      	GNAT.Random_Numbers and add to builds.
      
      	* Makefile.rtl: Add s-rannum.ad* and g-rannum.ad*, a-assert*
      
      	* s-rannum.ads, s-rannum.adb, g-rannum.ads, g-rannum.adb: New files.
      
      	* a-assert.ads, a-assert.adb: New files.
      
      From-SVN: r127454
      Paul Hilfinger committed
    • gnatls.adb: (Corresponding_Sdep_Entry): Always return a value · f86eb278
      2007-08-14  Vincent Celier  <celier@adacore.com>
      
      	* gnatls.adb: (Corresponding_Sdep_Entry): Always return a value
      	(Output_Source): Do nothing if parameter is No_Sdep_Id
      
      	* make.adb (Gnatmake): Do not rebuild an archive simply because a
      	shared library it imports has a later time stamp.
      	(Check): Resolve the symbolic links in the path name of the object
      	directory.
      	Check that the ALI file is in the correct object directory
      	Check if a file name does not correspond to the mapping of units
      	to file names.
      	(Display_Version): New procedure
      	(Initialize): Process switches --version and --help
      	Use type Path_Name_Type for path name
      
      From-SVN: r127453
      Vincent Celier committed
    • gnatlink.adb (Gnatlink): Pass switches to the linker even if the… · 7a912730
      gnatlink.adb (Gnatlink): Pass switches to the linker even if the binder-generated file is not in Ada.
      
      2007-08-14  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* gnatlink.adb (Gnatlink): Pass switches to the linker even if the
      	binder-generated file is not in Ada.
      	Pass -mrtp to the linker if it is GCC and --RTS=rtp has been
      	recorded in the ALI file.
      	Pass -fsjlj to the linker if it is GCC and --RTS=sjlj has been recorded.
      
      From-SVN: r127452
      Eric Botcazou committed
    • g-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing switches. · 171d182e
      2007-08-14  Emmanuel Briot  <briot@adacore.com>
      
      	* g-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing
      	switches.
      
      From-SVN: r127451
      Emmanuel Briot committed
    • g-catiio.adb (Image): For the case of %s... · 154c1657
      2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* g-catiio.adb (Image): For the case of %s, use Ada.Calendar.Time
      	values to compute the number of seconds since the Unix Epoc in order to
      	account for Daylight Savings Time. Perform special processing for dates
      	that are earlier than the Unix Epoc to obtain a negative number.
      
      From-SVN: r127450
      Hristian Kirtchev committed
    • exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating typecode… · bfc2cdb1
      exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating typecode parameters for a union (in a variant record)...
      
      2007-08-14  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating
      	typecode parameters for a union (in a variant record), remove
      	extraneous layer of Any wrapping for member label.
      	(Expand_Receiving_Stubs_Bodies): For an RCI package body that has
      	elabration statements, register the package with the name server
      	at the beginning, not at the end, of the elaboration statements so
      	that they can create remote access to subprogram values that designate
      	remote subprograms from the package.
      
      From-SVN: r127449
      Thomas Quinot committed
    • exp_ch9.adb (Build_Protected_Entry): Propagate the original source location to… · 9f6ea00a
      exp_ch9.adb (Build_Protected_Entry): Propagate the original source location to allow the correct generation of...
      
      2007-08-14  Javier Miranda  <miranda@adacore.com>
      	    Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch9.adb (Build_Protected_Entry): Propagate the original source
      	location to allow the correct generation of errors in case of
      	restrictions applied to the expanded code.
      	(Expand_Entry_Barrier): Remove all generated renamings for a barrier
      	function if the condition does not reference them.
      	(Expand_Entry_Body_Declarations): Mark the index constant as having a
      	valid value.
      
      From-SVN: r127448
      Javier Miranda committed
    • sem_res.adb (Resolve_Allocator): Propagate any coextensions that appear in the… · aa5147f0
      sem_res.adb (Resolve_Allocator): Propagate any coextensions that appear in the subtree to the current allocator...
      
      2007-08-14  Ed Schonberg  <schonberg@adacore.com>
      	    Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_res.adb (Resolve_Allocator): Propagate any coextensions that
      	appear in the subtree to the current allocator if it is not a static
      	coextension.
      	(Resolve_Allocator): Perform cleanup if resolution has determined that
      	the allocator is not a coextension.
      	(Resolve): Skip an interpretation hidden by an abstract operator only
      	when the type of the interpretation matches that of the context.
      	(Resolve): When looping through all possible interpretations of a node,
      	do not consider those that are hidden by abstract operators.
      	(Resolve_Actuals): When verifying that an access to class-wide object
      	is an actual  for a controlling formal, ignore anonymous access to
      	subprograms whose return type is an access to class_wide type.
      	(Resolve_Slice): If the prefix of the slice is a selected component
      	whose type depends on discriminants, build its actual subtype before
      	applying range checks on the bounds of the slice.
      	(Valid_Conversion): In an instance or inlined body, compare root types,
      	to prevent anomalies between private and public views.
      	(Resolve): Improve error message for ambiguous fixed multiplication
      	expressions that involve universal_fixed multiplying operations.
      
      From-SVN: r127447
      Ed Schonberg committed
    • sem_ch8.ads, [...] (Find_Type, [...]): Use correct entity as denoted entity for… · 11560bcc
      sem_ch8.ads, [...] (Find_Type, [...]): Use correct entity as denoted entity for the selector of the rewritten node.
      
      2007-08-14  Thomas Quinot  <quinot@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch8.ads, sem_ch8.adb (Find_Type, case of a 'Base attribute
      	reference): Use correct entity as denoted entity for the selector of
      	the rewritten node.
      	(Find_Direct_Name): Add comment about Generate_Reference incorrectly
      	setting the Referenced_As_LHS flag for entities that are implicitly
      	dereferenced.
      	(Find_Type): If the type is an internally generated incomplete type,
      	mark the full view as referenced, to prevent spurious warnings.
      	(Find_Selected_Component, Has_Components): Handle properly non-limited
      	views that are themselves incomplete types.
      	Handle interfaces visible through limited-with clauses.
      	(Analyze_Subprogram_Renaming): Disambiguate and set the entity of a
      	subprogram generic actual for which we have generated a renaming.
      	Warn when the renaming introduces a homonym of
      	the renamed entity, and the renamed entity is directly visible.
      
      From-SVN: r127446
      Thomas Quinot committed
    • sem_cat.ads, [...] (Has_Stream_Attribute_Definition): New formal At_Any_Place indicating... · fe685905
      2007-08-14  Thomas Quinot  <quinot@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_cat.ads, sem_cat.adb (Has_Stream_Attribute_Definition): New
      	formal At_Any_Place indicating, when True, that we want to test for
      	availability of the stream attribute at any place (as opposed to the
      	current visibility context only).
      	(Missing_Read_Write_Attributes): A stream attribute is missing for the
      	purpose of enforcing E.2.2(8) only if it is not available at any place.
      	Take into account the Ada2005 pragma Has_Preelaborable_Initialization
      	when checking the legality of an extension aggregate in a preelaborable
      	package. Treat the literal null as a valid default expression in a
      	component declaration for a type with preelaborable initialization.
      	A limited interface is a legal progenitor for the designated type of a
      	remote access to class-wide type.
      
      From-SVN: r127445
      Thomas Quinot committed
    • sem_ch4.adb (Try_Class_Wide_Operation): use base type of first parameter to… · 401093c1
      sem_ch4.adb (Try_Class_Wide_Operation): use base type of first parameter to determine whether operation applies to the...
      
      2007-08-14  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch4.adb (Try_Class_Wide_Operation): use base type of first
      	parameter to determine whether operation applies to the prefix.
      	(Complete_Object_Operation): If actual has an access type and
      	controlling formal is not an in_parameter, reject the actual if it is
      	an access_to_constant type.
      	(Try_Primitive_Operation): If the type of the prefix is a formal tagged
      	type, the candidate operations are found in the scope of declaration of
      	the type, because the type has no primitive subprograms.
      	(Analyze_Selected_Component): If prefix is class-wide, and root type is
      	a private extension, only examine visible components before trying to
      	analyze as a prefixed call.
      	Change Entity_List to Type_To_Use, for better readability.
      	(Has_Fixed_Op): Use base type when checking whether the type of an
      	operator has a user-defined multiplication/division
      	(Check_Arithmetic_Pair): Use Ada 2005 rules to remove ambiguities when
      	user-defined operators are available for fixed-point types.
      
      From-SVN: r127444
      Ed Schonberg committed
    • sem_ch12.ads, [...] (Instantiate_Type): If the formal is a derived type with… · 1c0ce9d8
      sem_ch12.ads, [...] (Instantiate_Type): If the formal is a derived type with interface progenitors use the analyzed...
      
      2007-08-14  Ed Schonberg  <schonberg@adacore.com>
      	    Gary Dismukes  <dismukes@adacore.com>
      	    Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch12.ads, sem_ch12.adb (Instantiate_Type): If the formal is a
      	derived type with interface progenitors use the analyzed formal as the
      	parent of the actual, to create renamings for all the inherited
      	operations in Derive_Subprograms.
      	(Collect_Previous_Instances): new procedure within of
      	Load_Parent_Of_Generic, to instantiate all bodies in the compilation
      	unit being loaded, to ensure that the generation of global symbols is
      	consistent in different compilation modes.
      	(Is_Tagged_Ancestor): New function testing the ancestor relation that
      	takes progenitor types into account.
      	(Validate_Derived_Type_Instance): Enforce the rule of 3.9.3(9) by
      	traversing over the primitives of the formal and actual types to locate
      	any abstract subprograms of the actual type that correspond to a
      	nonabstract subprogram of the formal type's ancestor type(s), and issue
      	an error if such is found.
      	(Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation,
      	Instantiate_Package_Body, Instantiate_Subprogram_Body):
      	Remove bogus guard around calls to Inherit_Context.
      	(Reset_Entity): If the entity is the selector of a selected component
      	that denotes a named number, propagate constant-folding to the generic
      	template only if the named number is global to the generic unit.
      	(Set_Instance_Env): Only reset the compilation switches when compiling
      	a predefined or internal unit.
      
      From-SVN: r127443
      Ed Schonberg committed
    • table.adb, [...] (Append): Reimplement in terms of Set_Item. · 1d6f10a1
      2007-08-14  Thomas Quinot  <quinot@adacore.com>
      
      	* table.adb, g-table.adb, g-dyntab.adb (Append): Reimplement in terms
      	of Set_Item.
      	(Set_Item): When the new item is an element of the currently allocated
      	table passed by reference, save a copy on the stack if we're going
      	to reallocate. Also, in Table.Set_Item, make sure we test the proper
      	variable to determine whether to call Set_Last.
      
      	* sinput-d.adb, sinput-l.adb, stringt.adb, switch-m.adb,
      	symbols-vms.adb, symbols-processing-vms-alpha.adb,
      	symbols-processing-vms-ia64.adb, sem_elab.adb, repinfo.adb: Replace
      	some occurrences of the pattern
      	   T.Increment_Last;
      	   T.Table (T.Last) := Value;
      	with a cleaner call to
      	   T.Append (Value);
      
      From-SVN: r127442
      Thomas Quinot committed
    • a-cihama.ads, [...] (Next): Applied pragma Inline. · f97ccb3a
      2007-08-14  Bob Duff  <duff@adacore.com>
      
      	* a-cihama.ads, a-cidlli.ads, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads, 
      	a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads, 
      	a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorse.ads, a-cohama.ads, 
      	a-cohata.ads, a-convec.adb, a-coinve.ads, a-coinve.adb, a-convec.ads,
      	a-coorse.ads (Next): Applied pragma Inline.
      	Make all Containers packages Remote_Types (unless they are already
      	Pure).
      	(Previous): applied pragma Inline
      	(Elements_Type): is now a record instead of an array
      
      From-SVN: r127441
      Bob Duff committed