gcc.git
13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 15:36:49 +0000 (17:36 +0200)]
[multiple changes]

2011-08-02  Vincent Celier  <celier@adacore.com>

* adaint.c (file_names_case_sensitive_cache): New static int.
(__gnat_get_file_names_case_sensitive): Cache the return value in
file_names_case_sensitive_cache at the first invocation, to avoid
multiple calls to getenv.

2011-08-02  Bob Duff  <duff@adacore.com>

* sem_ch12.adb (Validate_Derived_Type_Instance): Implement AI05-0218-1.

From-SVN: r177189

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 15:35:25 +0000 (17:35 +0200)]
[multiple changes]

2011-08-02  Yannick Moy  <moy@adacore.com>

* sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_prag.adb, sem.ads,
sem_util.adb, sem_util.ads, sem_res.adb, sem_ch2.adb, sem_ch4.adb,
sem_ch6.adb, sem_ch11.adb: Add semantic flag In_Pre_Post_Expression to
indicate that we are in a precondition or postcondition. This is used in
Mark_Non_ALFA_Subprogram (renaming of Mark_Non_ALFA_Subprogram_Body) to
decide whether to flag the spec or body of the current subprogram as
not in ALFA.

2011-08-02  Fabien Chouteau  <chouteau@adacore.com>

* impunit.adb: Add Ada.Execution_Time.Interrupts in the Ada2012 package
list.
* a-extiin.ads: New file.

2011-08-02  Bob Duff  <duff@adacore.com>

* a-direct.adb (Rename): Implement AI05-0231-1. In particular, Rename
now raises Name_Error instead of Use_Error in certain cases. The other
parts of this AI were already implemented properly.

From-SVN: r177187

13 years ago* call.c (build_call_a): Also check at_function_scope_p.
Jason Merrill [Tue, 2 Aug 2011 15:35:09 +0000 (11:35 -0400)]
* call.c (build_call_a): Also check at_function_scope_p.

From-SVN: r177185

13 years agotrim_optimize_5.f90: Remove spurious "use foo".
Tobias Burnus [Tue, 2 Aug 2011 15:32:31 +0000 (17:32 +0200)]
trim_optimize_5.f90: Remove spurious "use foo".

2011-08-02  Tobias Burnus  <burnus@net-b.de>

        * trim_optimize_5.f90: Remove spurious "use foo".
        * actual_array_vect_1.f90: Fix or add dg-final cleanup-module
        * alloc_comp_assign_7.f90: Ditto.
        * allocatable_function_5.f90: Ditto.
        * allocate_stat.f90: Ditto.
        * array_constructor_20.f90: Ditto.
        * array_constructor_21.f90: Ditto.
        * array_constructor_22.f90: Ditto.
        * array_constructor_26.f03: Ditto.
        * array_function_4.f90: Ditto.
        * assumed_charlen_function_1.f90: Ditto.
        * assumed_size_dt_dummy.f90: Ditto.
        * bind_c_usage_15.f90: Ditto.
        * bind_c_usage_16.f03: Ditto.
        * bind_c_usage_3.f03: Ditto.
        * binding_label_tests_7.f03: Ditto.
        * class_15.f03: Ditto.
        * class_27.f03: Ditto.
        * class_33.f90: Ditto.
        * class_37.f03: Ditto.
        * class_40.f03: Ditto.
        * class_42.f03: Ditto.
        * class_defined_operator_1.f03: Ditto.
        * coarray/registering_1.f90: Ditto.
        * convert_1.f90: Ditto.
        * default_initialization_3.f90: Ditto.
        * dependency_25.f90: Ditto.
        * dependency_26.f90: Ditto.
        * dependency_36.f90: Ditto.
        * dependency_37.f90: Ditto.
        * derived_array_intrinisics_1.f90: Ditto.
        * dynamic_dispatch_10.f03: Ditto.
        * elemental_non_intrinsic_dummy_1.f90 |: Ditto.
        * elemental_pointer_1.f90: Ditto.
        * elemental_result_1.f90: Ditto.
        * empty_derived_type.f90: Ditto.
        * entry_7.f90: Ditto.
        * entry_dummy_ref_2.f90: Ditto.
        * equiv_constraint_3.f90: Ditto.
        * error_recovery_3.f90: Ditto.
        * extends_4.f03: Ditto.
        * func_assign.f90: Ditto.
        * func_assign_3.f90: Ditto.
        * generic_1.f90: Ditto.
        * generic_18.f90: Ditto.
        * generic_22.f03: Ditto.
        * generic_4.f90: Ditto.
        * generic_6.f90: Ditto.
        * generic_actual_arg.f90: Ditto.
        * graphite/id-21.f: Ditto.
        * graphite/pr45758.f90: Ditto.
        * host_assoc_call_2.f90: Ditto.
        * host_assoc_call_3.f90: Ditto.
        * host_assoc_call_4.f90: Ditto.
        * host_assoc_function_4.f90: Ditto.
        * host_used_types_1.f90: Ditto.
        * implicit_1.f90: Ditto.
        * implicit_11.f90: Ditto.
        * implicit_derived_type_1.f90: Ditto.
        * impure_actual_1.f90: Ditto.
        * impure_assignment_1.f90: Ditto.
        * impure_constructor_1.f90: Ditto.
        * initialization_10.f90: Ditto.
        * initialization_12.f90: Ditto.
        * interface_14.f90: Ditto.
        * interface_15.f90: Ditto.
        * interface_2.f90: Ditto.
        * interface_25.f90: Ditto.
        * interface_26.f90: Ditto.
        * interface_29.f90: Ditto.
        * interface_assignment_1.f90: Ditto.
        * internal_pack_6.f90: Ditto.
        * internal_pack_7.f90: Ditto.
        * internal_pack_8.f90: Ditto.
        * lto/pr45586_0.f90: Ditto.
        * lto/pr47839_0.f90: Ditto.
        * module_commons_3.f90: Ditto.
        * module_equivalence_4.f90: Ditto.
        * module_equivalence_6.f90: Ditto.
        * module_function_type_1.f90: Ditto.
        * module_naming_1.f90: Ditto.
        * namelist_4.f90: Ditto.
        * operator_c1202.f90: Ditto.
        * parens_7.f90: Ditto.
        * pr32921.f: Ditto.
        * pr33646.f90: Ditto.
        * pr41928.f90: Ditto.
        * pr42119.f90: Ditto.
        * pr43984.f90: Ditto.
        * present_1.f90: Ditto.
        * private_type_2.f90: Ditto.
        * proc_decl_2.f90: Ditto.
        * proc_ptr_10.f90: Ditto.
        * proc_ptr_22.f90: Ditto.
        * proc_ptr_8.f90: Ditto.
        * proc_ptr_comp_12.f90: Ditto.
        * proc_ptr_comp_pass_6.f90: Ditto.
        * pure_formal_proc_2.f90: Ditto.
        * realloc_on_assign_4.f03: Ditto.
        * substring_equivalence.f90: Ditto.
        * transfer_assumed_size_1.f90: Ditto.
        * transpose_optimization_1.f90: Ditto.
        * trim_optimize_6.f90: Ditto.
        * typebound_call_12.f03: Ditto.
        * typebound_operator_5.f03: Ditto.
        * typebound_operator_6.f03: Ditto.
        * typebound_proc_18.f03: Ditto.
        * unreferenced_use_assoc_1.f90: Ditto.
        * use_1.f90: Ditto.
        * use_10.f90: Ditto.
        * use_11.f90: Ditto.
        * use_14.f90: Ditto.
        * use_only_2.f90: Ditto.
        * use_rename_4.f90: Ditto.
        * use_rename_5.f90: Ditto.
        * used_dummy_types_3.f90: Ditto.
        * used_interface_ref.f90: Ditto.
        * used_types_11.f90: Ditto.
        * used_types_3.f90: Ditto.
        * used_types_4.f90: Ditto.
        * userdef_operator_2.f90: Ditto.
        * vect/fast-math-vect-8.f90: Ditto.
        * vect/pr46213.f90: Ditto.
        * whole_file_21.f90: Ditto.
        * whole_file_22.f90: Ditto.
        * coarray_lib_token_1.f90: Ditto. Add space before "}".
        * coarray_lib_token_2.f90: Ditto.

From-SVN: r177184

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 15:30:55 +0000 (17:30 +0200)]
[multiple changes]

2011-08-02  Vincent Celier  <celier@adacore.com>

* link.c: Only import "auto-host.h" when building the gnattools.

2011-08-02  Yannick Moy  <moy@adacore.com>

* sem_util.adb: Inter-unit inlining does not work for a subprogram
which calls a local subprogram, so extract subprogram
from Mark_Non_ALFA_Subprogram_Body.

2011-08-02  Javier Miranda  <miranda@adacore.com>

* exp_ch9.adb
(Extract_Dispatching_Call): If the type of the dispatching object is an
access type then return an explicit dereference in the Object out-mode
parameter.

2011-08-02  Gary Dismukes  <dismukes@adacore.com>

* sem_ch3.adb (Analyze_Subtype_Declaration): Generate range
compatibility checks for all indexes of an array subtype, not just the
first. Reset Has_Dynamic_Range_Check on the subtype before each
potential check to ensure that Insert_Range_Checks will not elide any
of the dynamic checks.

2011-08-02  Yannick Moy  <moy@adacore.com>

* par-prag.ad (Process_Restrictions_Or_Restriction_Warnings): recognize
SPARK restriction at parsing time.
* scng.adb (Scan): Generate a token Tok_SPARK_Hide for a SPARK HIDE
directive only if the SPARK restriction is set for this unit.

From-SVN: r177183

13 years agosem_ch3.adb, [...]: Protect call to Current_Subprogram which might be costly when...
Yannick Moy [Tue, 2 Aug 2011 15:28:12 +0000 (15:28 +0000)]
sem_ch3.adb, [...]: Protect call to Current_Subprogram which might be costly when repeated.

2011-08-02  Yannick Moy  <moy@adacore.com>

* sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb, sem_util.ads,
sem_res.adb, sem_ch2.adb, sem_ch4.adb, sem_ch6.adb,
sem_ch11.adb: Protect call to Current_Subprogram which might be costly
when repeated. Rename Current_Subprogram_Is_Not_In_ALFA into
Mark_Non_ALFA_Subprogram_Body.
Split body of Mark_Non_ALFA_Subprogram_Body to get body small and
inlined.

From-SVN: r177182

13 years agosem_res.adb: Protect calls to Matching_Static_Array_Bounds which might be costly.
Yannick Moy [Tue, 2 Aug 2011 15:26:43 +0000 (15:26 +0000)]
sem_res.adb: Protect calls to Matching_Static_Array_Bounds which might be costly.

2011-08-02  Yannick Moy  <moy@adacore.com>

* sem_res.adb: Protect calls to Matching_Static_Array_Bounds which
might be costly.

From-SVN: r177181

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 15:25:25 +0000 (17:25 +0200)]
[multiple changes]

2011-08-02  Robert Dewar  <dewar@adacore.com>

* exp_ch9.adb, exp_sel.adb, restrict.ads, exp_disp.adb, erroutc.ads,
exp_ch3.adb: Minor reformatting.

2011-08-02  Emmanuel Briot  <briot@adacore.com>

* adaint.c (__gnat_locate_exec_on_path): only returns executable
files, not any regular file.
(__gnat_locate_file_with_predicate): new subprogram.

2011-08-02  Yannick Moy  <moy@adacore.com>

* sinfo.adb, sinfo.ads: Restrict the use of flags
Has_Dynamic_Length_Check and Has_Dynamic_Range_Check to expression
nodes, plus N_Subtype_Declaration for the 2nd one.

From-SVN: r177180

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 15:21:19 +0000 (17:21 +0200)]
[multiple changes]

2011-08-02  Sergey Rybin  <rybin@adacore.com>

* gnat_rm.texi: Ramification of pragma Eliminate documentation
 - fix bugs in the description of Source_Trace;
 - get rid of UNIT_NAME;

2011-08-02  Javier Miranda  <miranda@adacore.com>

* exp_ch9.adb
(Build_Dispatching_Requeue): Adding support for VM targets
since we cannot directly reference the Tag entity.
* exp_sel.adb (Build_K): Adding support for VM targets.
(Build_S_Assignment): Adding support for VM targets.
* exp_disp.adb
(Default_Prim_Op_Position): In VM targets do not restrict availability
of predefined interface primitives to compiling in Ada 2005 mode.
(Is_Predefined_Interface_Primitive): In VM targets this service is not
restricted to compiling in Ada 2005 mode.
(Make_VM_TSD): Generate code that declares and initializes the OSD
record. Needed to support dispatching calls through synchronized
interfaces.
* exp_ch3.adb
(Make_Predefined_Primitive_Specs): Enable generation of predefined
primitives associated with synchronized interfaces.
(Make_Predefined_Primitive_Bodies): Enable generation of predefined
primitives associated with synchronized interfaces.

2011-08-02  Yannick Moy  <moy@adacore.com>

* par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
statements hidden in SPARK if preceded by the HIDE directive
(Parse_Exception_Handlers): mark each exception handler in a sequence of
exception handlers as hidden in SPARK if preceded by the HIDE directive
* par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
if starting with the HIDE directive
* par-ch7.adb (P_Package): mark a package body hidden in SPARK if
starting with the HIDE directive; mark the declarations in a private
part as hidden in SPARK if the private part starts with the HIDE
directive
* restrict.adb, restrict.ads
(Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
(Is_In_Hidden_Part_In_SPARK): new function which returns whether its
argument node belongs to a part which is hidden in SPARK
(Check_SPARK_Restriction): do not issue violations on nodes in hidden
parts in SPARK; protect the possibly costly call to
Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
* scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
* scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
Accumulate_Token_Checksum_GNAT_5_03): add case for new token
Tok_SPARK_Hide.
(Scan): recognize special comment starting with '#' and followed by
SPARK keyword "hide" as a HIDE directive.

2011-08-02  Yannick Moy  <moy@adacore.com>

* types.ads, erroutc.ads: Minor reformatting.

2011-08-02  Vincent Celier  <celier@adacore.com>

* link.c: Add response file support for cross platforms.

From-SVN: r177179

13 years agosem_aggr.adb (Resolve_Array_Aggregate): when copying the expression in an association...
Ed Schonberg [Tue, 2 Aug 2011 15:17:00 +0000 (15:17 +0000)]
sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression in an association...

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
in an association, set parent field of copy before partial analysis.
* sem_res.adb (Resolve_Slice): create reference to itype only when
expansion is enabled.

From-SVN: r177178

13 years agoeinfo.adb, einfo.ads (Body_Is_In_ALFA, [...]): get/set for new flag denoting which...
Yannick Moy [Tue, 2 Aug 2011 15:15:07 +0000 (15:15 +0000)]
einfo.adb, einfo.ads (Body_Is_In_ALFA, [...]): get/set for new flag denoting which subprogram bodies are in ALFA

2011-08-02  Yannick Moy  <moy@adacore.com>

* einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
for new flag denoting which subprogram bodies are in ALFA
* restrict.adb, sem_ch7.adb: Update comment
* sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
sem_ch9.adb, sem_res.adb: Add calls to
Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
* sem_ch6.adb (Analyze_Function_Return): add calls to
Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
middle of the body, and extended return.
(Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
False when missing return.
(Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
to True for subprograms whose spec is in ALFA. Remove later on the flag
on the entity used for a subprogram body when there exists a separate
declaration.
* sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
False, otherwise do nothing.

From-SVN: r177177

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 15:12:44 +0000 (17:12 +0200)]
[multiple changes]

2011-08-02  Robert Dewar  <dewar@adacore.com>

* inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.

2011-08-02  Yannick Moy  <moy@adacore.com>

* sem_ch4.ads: minor formatting.

From-SVN: r177176

13 years agosem_aggr.adb, [...]: cleanup of SPARK mode
Yannick Moy [Tue, 2 Aug 2011 15:10:17 +0000 (15:10 +0000)]
sem_aggr.adb, [...]: cleanup of SPARK mode

2011-08-02  Yannick Moy  <moy@adacore.com>

* sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
opt.ads: cleanup of SPARK mode

From-SVN: r177175

13 years agocstand.adb (Create_Standard): sets Is_In_ALFA component of standard types.
Yannick Moy [Tue, 2 Aug 2011 15:07:10 +0000 (15:07 +0000)]
cstand.adb (Create_Standard): sets Is_In_ALFA component of standard types.

2011-08-02  Yannick Moy  <moy@adacore.com>

* cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
types.
* einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
(Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
* sem_ch3.adb
(Analyze_Object_Declaration): set Is_In_ALFA flag for objects
(Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
(Constrain_Integer): set Is_In_ALFA flag for integer subtypes
(Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
types.
(Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
non-static range.
* sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
functions whose return type is not in ALFA.
(Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
specifications.
(Process_Formals): unset Is_In_ALFA flag for subprograms if a
parameter's type is not in ALFA.
* stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
types are in ALFA.

From-SVN: r177174

13 years agosem_ch6 (Analyze_Expression_Function): treat the function as Inline_Always...
Ed Schonberg [Tue, 2 Aug 2011 15:04:46 +0000 (15:04 +0000)]
sem_ch6 (Analyze_Expression_Function): treat the function as Inline_Always...

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6 (Analyze_Expression_Function): treat the function as
Inline_Always, and introduce a subprogram declaration for it when it is
not a completion.
* inline.adb (Add_Inlined_Body): recognize bodies that come from
expression functions, so that the back-end can determine whether they
can in fact be inlined.
* sem_util.adb (Is_Expression_Function): predicate to determine whether
a function body comes from an expression function.

From-SVN: r177173

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 15:00:07 +0000 (17:00 +0200)]
[multiple changes]

2011-08-02  Gary Dismukes  <dismukes@adacore.com>

* sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
null exclusions to test Can_Never_Be_Null on the anonymous access types
of the formals rather than testing the formals themselves. Exclude this
check in cases where the Old_Formal is marked as a controlling formal,
to avoid issuing spurious errors for bodies completing dispatching
operations (due to the flag not getting set on controlling access
formals in body specs).
(Find_Corresponding_Spec): When checking full and subtype conformance of
subprogram bodies in instances, pass Designated and E in that order, for
consistency with the expected order of the formals (New_Id followed by
Old_Id).

2011-08-02  Robert Dewar  <dewar@adacore.com>

* sem_ch8.adb: Minor reformatting.

From-SVN: r177172

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 14:56:42 +0000 (16:56 +0200)]
[multiple changes]

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
primitive operations of class-wide actuals.

2011-08-02  Javier Miranda  <miranda@adacore.com>

* exp_atag.ads, exp_atag.adb
(Build_Common_Dispatching_Select_Statements): Remove argument Loc
since its value is implicitly passed in argument Typ.
* exp_disp.adb (Make_Disp_Conditional_Select_Body,
Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
Build_Common_Dispatching_Select_Statements.

From-SVN: r177171

13 years agogimple.c (canonicalize_cond_expr_cond): Handle cast from boolean-type.
Kai Tietz [Tue, 2 Aug 2011 14:55:47 +0000 (16:55 +0200)]
gimple.c (canonicalize_cond_expr_cond): Handle cast from boolean-type.

* gimple.c (canonicalize_cond_expr_cond): Handle cast from
boolean-type.
(ssa_forward_propagate_and_combine): Interprete result of
forward_propagate_comparison.
* gcc/gimple-fold.c (fold_gimple_assign): Add canonicalization for
boolean-typed operands for comparisons.

* gcc.dg/tree-ssa/forwprop-15.c: New testcase.

From-SVN: r177170

13 years agosem_ch3.adb, [...]: Update comments.
Robert Dewar [Tue, 2 Aug 2011 14:54:14 +0000 (14:54 +0000)]
sem_ch3.adb, [...]: Update comments.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
Minor reformatting.

From-SVN: r177169

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 14:50:56 +0000 (16:50 +0200)]
[multiple changes]

2011-08-02  Robert Dewar  <dewar@adacore.com>

* sem_res.adb: Minor reformatting.
* sem_prag.adb: Minor reformatting.

2011-08-02  Javier Miranda  <miranda@adacore.com>

* exp_atag.adb, exp_atags.ads
(Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
by the tagged type Entity. Required to use this routine in the VM
targets since we do not have available the Tag entity in the VM
platforms.
* exp_ch6.adb
(Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
Ada.Tags has not been previously loaded.
* exp_ch7.adb
(Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
Build_VM_TSDs if package Ada.Tags has not been previously loaded.
* sem_aux.adb
(Enclosing_Dynamic_Scope): Add missing support to handle the full
view of enclosing scopes. Required to handle enclosing scopes that
are synchronized types whose full view is a task type.
* exp_disp.adb
(Build_VM_TSDs): Minor code improvement to avoid generating and
analyzing lists with empty nodes.
(Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
(Make_Disp_Conditional_Select_Body): Add support for VM targets.
(Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
(Make_Disp_Timed_Select_Body): Add support for VM targets.
(Make_Select_Specific_Data_Table): Add support for VM targets.
(Make_VM_TSD): Generate code to initialize the SSD structure of
the TSD.

2011-08-02  Yannick Moy  <moy@adacore.com>

* lib-writ.adb (Write_ALI): when ALFA mode is set, write local
cross-references section in ALI.
* lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
(enclosing subprogram), Slc (location of Sub) and Sun (unit number of
Sub).
(Enclosing_Subprogram_Or_Package): new function to return the enclosing
subprogram or package entity of a node
(Is_Local_Reference_Type): new function returns True for references
selected in local cross-references.
(Lt): function extracted from Lt in Output_References
(Write_Entity_Name): function extracted from Output_References
(Generate_Definition): generate reference with type 'D' for definition
of objects (object declaration and parameter specification), with
appropriate locations and units, for use in local cross-references.
(Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
references of type 'I' for initialization in object definition.
(Output_References): move part of function Lt and procedure
Write_Entity_Name outside of the body. Ignore references of types 'D'
and 'I' introduced for local cross-references.
(Output_Local_References): new procedure to output the local
cross-references sections.
(Lref_Entity_Status): new array defining whether an entity is a local
* sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
with 'I' type when initialization expression is present.
* get_scos.adb, get_scos.ads: Correct comments and typos

From-SVN: r177168

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 14:46:28 +0000 (16:46 +0200)]
[multiple changes]

2011-08-02  Javier Miranda  <miranda@adacore.com>

* exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
the JVM target.
* exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
the JVM target.
* exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
TSD support.

2011-08-02  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
(No_Space_Img): New function
(Find_Excluded_Sources): When reading from a file, record the file name
and the line number for each excluded source.
(Mark_Excluded_Sources): When reporting an error, if the excluded
sources were read from a file, include file name and line number in
the error message.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).

From-SVN: r177167

13 years agoCheck __x86_64__ instead of __LP64__ for x86 futex.
H.J. Lu [Tue, 2 Aug 2011 14:44:06 +0000 (14:44 +0000)]
Check __x86_64__ instead of __LP64__ for x86 futex.

2011-08-02  H.J. Lu  <hongjiu.lu@intel.com>

* config/linux/x86/futex.h: Check __x86_64__ instead of
__LP64__.

From-SVN: r177166

13 years agoexp_ch7.adb [...]: Minor reformatting
Robert Dewar [Tue, 2 Aug 2011 14:43:43 +0000 (14:43 +0000)]
exp_ch7.adb [...]: Minor reformatting

2011-08-02  Robert Dewar  <dewar@adacore.com>

* exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting

From-SVN: r177165

13 years agoexp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the generation of TSDs...
Javier Miranda [Tue, 2 Aug 2011 14:42:28 +0000 (14:42 +0000)]
exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the generation of TSDs to the DOTNET compiler.

2011-08-02  Javier Miranda  <miranda@adacore.com>

* exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
generation of TSDs to the DOTNET compiler.
* exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
generation of TSDs to the DOTNET compiler.

From-SVN: r177164

13 years agoexp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data record of all...
Javier Miranda [Tue, 2 Aug 2011 14:41:13 +0000 (14:41 +0000)]
exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data record of all the tagged types declared...

2011-08-02  Javier Miranda  <miranda@adacore.com>

* exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
record of all the tagged types declared inside library level package
declarations, library level package bodies or library level subprograms.
* exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
associated with a given tagged type.
(Build_VM_TSDs): New subprogram.
* exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
compilation units that are subprograms.
* exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
compilation units that are package bodies.
(Expand_N_Package_Declaration): Generate TSDs of the main compilation
units that are a package declaration or a package instantiation.
* exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
reorganization to improve the error generated by the frontend when the
function Ada.Tags.Secondary_Tag is not available.
* rtsfind.ads (RE_Register_TSD): New runtime entity.
* exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.

From-SVN: r177163

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 14:39:06 +0000 (16:39 +0200)]
[multiple changes]

2011-08-02  Javier Miranda  <miranda@adacore.com>

* exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* s-imenne.ads: Minor reformatting.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* a-stunau.ads: Add pragma Suppress_Initialization for Big_String
* freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
* s-stalib.ads: Add pragma Suppress_Initialization for Big_String

2011-08-02  Robert Dewar  <dewar@adacore.com>

* einfo.ads (Materialize_Entity): Document this is only for renamings
* exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
required debug information in the case where we transform the object
declaration into a renaming declaration.
* exp_ch4.adb (Expand_Concatenate): Generate debug info for result
object
* exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
Materialize_Entity.

From-SVN: r177162

13 years agoeinfo.ads, einfo.adb (Suppress_Initialization): Replaces Suppress_Init_Procs.
Robert Dewar [Tue, 2 Aug 2011 14:35:51 +0000 (14:35 +0000)]
einfo.ads, einfo.adb (Suppress_Initialization): Replaces Suppress_Init_Procs.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* einfo.ads, einfo.adb (Suppress_Initialization): Replaces
Suppress_Init_Procs.
* exp_ch3.adb, exp_disp.adb, freeze.adb: Use
Suppress_Initialization/Initialization_Suppressed.
* gnat_rm.texi: New documentation for pragma Suppress_Initialization
* sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
* sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
* sem_prag.adb: New processing for pragma Suppress_Initialization.

From-SVN: r177161

13 years agognat_rm.texi, [...]: Minor reformatting.
Robert Dewar [Tue, 2 Aug 2011 14:30:35 +0000 (14:30 +0000)]
gnat_rm.texi, [...]: Minor reformatting.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
Minor reformatting.

From-SVN: r177160

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 14:28:32 +0000 (16:28 +0200)]
[multiple changes]

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
only have inheritable classwide pre/postconditions.

2011-08-02  Javier Miranda  <miranda@adacore.com>

* a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
* rtsfind.ads (RE_Check_TSD): New runtime entity.
* exp_disp.adb (Make_DT): Generate call to the new runtime routine that
checks if the external tag of a type is the same as the external tag
of some other declaration.

From-SVN: r177159

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 14:02:45 +0000 (16:02 +0200)]
[multiple changes]

2011-08-02  Thomas Quinot  <quinot@adacore.com>

* s-taskin.ads: Minor reformatting.

2011-08-02  Emmanuel Briot  <briot@adacore.com>

* g-comlin.adb (Display_Help): swap the order in which it prints the
short help and the general usage.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
the aspect declarations and attach them to the generic copy for
subsequent analysis.
(Analyze_Subprogram_Instantiation): copy explicitly the aspect
declarations of the generic tree to the new subprogram declarations.
* sem_attr.adb (Check_Precondition_Postcondition): recognize
conditions that apply to a subprogram instance.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
private type with a tagged full view is not derived in the immediate
scope of the partial view, (RM 7.3 (7)) use the scope of the base type.

From-SVN: r177157

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 13:51:43 +0000 (15:51 +0200)]
[multiple changes]

2011-08-02  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb: Minor reformatting.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb (Analyze_Loop_Statement):  If the iteration scheme is an
Ada2012 iterator, the loop will be rewritten during expansion into a
while loop with a cursor and an element declaration. Do not analyze the
body in this case, because if the container is for indefinite types the
actual subtype of the elements will only be determined when the cursor
declaration is analyzed.

2011-08-02  Arnaud Charlet  <charlet@adacore.com>

* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
size/alignment related attributes in CodePeer_Mode.

2011-08-02  Gary Dismukes  <dismukes@adacore.com>

* sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
Prepend_Element, since this can result in the operation getting the
wrong slot in the full type's dispatch table if the full type has
inherited operations. The incomplete type's operation will get added
to the proper position in the full type's primitives
list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
(Process_Incomplete_Dependents): Add Is_Primitive test when checking for
dispatching operations, since there are cases where nonprimitive
subprograms can get added to the list of incomplete dependents (such
as subprograms in nested packages).
* sem_ch6.adb (Process_Formals): First, remove test for being in a
private part when determining whether to add a primitive with a
parameter of a tagged incomplete type to the Private_Dependents list.
Such primitives can also occur in the visible part, and should not have
been excluded from being private dependents.
* sem_ch7.adb (Uninstall_Declarations): When checking the rule of
RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
list of a Taft-amendment incomplete type is a primitive before issuing
an error that the full type must appear in the same unit. There are
cases where nonprimitives can be in the list (such as subprograms in
nested packages).
* sem_disp.adb (Derives_From): Use correct condition for checking that
a formal's type is derived from the type of the corresponding formal in
the parent subprogram (the condition was completely wrong). Add
checking that was missing for controlling result types being derived
from the result type of the parent operation.

From-SVN: r177156

13 years agoerrout.adb (First_Node): minor renaming
Yannick Moy [Tue, 2 Aug 2011 13:46:38 +0000 (13:46 +0000)]
errout.adb (First_Node): minor renaming

2011-08-02  Yannick Moy  <moy@adacore.com>

* errout.adb (First_Node): minor renaming
* restrict.adb (Check_Formal_Restriction): put restriction warning on
first node.

From-SVN: r177155

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 13:43:04 +0000 (15:43 +0200)]
[multiple changes]

2011-08-02  Yannick Moy  <moy@adacore.com>

* sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
before accessing operands.
* sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
decide whether an initialization expression respects SPARK rules, as
the plain node is the expanded one. This allows for more valid warnings
to be issued.
* gnat_rm.texi: Minor update.

2011-08-02  Arnaud Charlet  <charlet@adacore.com>

* sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
previous change.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, sem_ch4.adb: Minor reformatting.

2011-08-02  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
loop statements and the element renaming declaration with a block when
the element type is controlled.

2011-08-02  Yannick Moy  <moy@adacore.com>

* sinfo.ads: Minor formatting.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_aggr.adb (Add_Association): if the association has a box and no
expression, use the Sloc of the aggregate itself for the new
association.
* errout.adb (First_Node): Exclude nodes with no Sloc, and always use
the Original_Node.

From-SVN: r177153

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 13:39:08 +0000 (15:39 +0200)]
[multiple changes]

2011-08-02  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
When a container is provided via a function call, generate a renaming
of the function result. This avoids the creation of a transient scope
and the premature finalization of the container.
* exp_ch7.adb (Is_Container_Cursor): Removed.
(Wrap_Transient_Declaration): Remove the supression of the finalization
of the list controller when the declaration denotes a container cursor,
it is not needed.

2011-08-02  Yannick Moy  <moy@adacore.com>

* restrict.adb (Check_Formal_Restriction): only issue a warning if the
node is from source, instead of the original node being from source.
* sem_aggr.adb
(Resolve_Array_Aggregate): refine the check for a static expression, to
recognize also static ranges
* sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
Array_Type_Declaration): postpone the test for the type being a subtype
mark after the type has been resolved, so that component-selection and
expanded-name are discriminated.
(Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
to distinguish the case of an iteration scheme, so that an error is
issed on a non-static range in SPARK except in an iteration scheme.
* sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
In_Iter_Schm = True.
* sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
user-defined operators so that they are allowed in renaming
* sem_ch8.adb
(Find_Selected_Component): refine the check for prefixing of operators
so that they are allowed in renaming. Move the checks for restrictions
on selector name after analysis discriminated between
component-selection and expanded-name.
* sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
concatenation argument of string type if it is static.
* sem_util.adb, sem_util.ads
(Check_Later_Vs_Basic_Declarations): add a new function
Is_Later_Declarative_Item to decice which declarations are allowed as
later items, in the two different modes Ada 83 and SPARK. In the SPARK
mode, add that renamings are considered as later items.
(Enclosing_Package): new function to return the enclosing package
(Enter_Name): correct the rule for homonyms in SPARK
(Is_SPARK_Initialization_Expr): default to returning True on nodes not
from source (result of expansion) to avoid issuing wrong warnings.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* errout.adb: On anything but an expression First_Node returns its
argument.

From-SVN: r177152

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 13:34:00 +0000 (15:34 +0200)]
[multiple changes]

2011-08-02  Pascal Obry  <obry@adacore.com>

* prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.

2011-08-02  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
Set the associated loop as the related expression of internally
generated cursors.
* exp_ch7.adb (Is_Container_Cursor): New routine.
(Wrap_Transient_Declaration): Supress the finalization of the list
controller when the declaration denotes a container cursor.

2011-08-02  Yannick Moy  <moy@adacore.com>

* opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
command line now.
* par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
expression is a simple expression. This check cannot be performed in
the semantics, so just drop it.
(P_Index_Or_Discriminant_Constraint): move check that the index or
discriminant is a subtype mark to Analyze_Subtype_Declaration in the
semantics. Other cases were previously checked in the semantics.
* par-ch4.adb (P_Name): move checks that a selector name is not
character literal or an operator symbol to Find_Selected_Component in
the semantics
* par-ch5.adb (Parse_Decls_Begin_End): move check that basic
declarations are not placed after later declarations in a separate
procedure in Sem_Util (possibly not the best choice?), to be used both
during parsing, for Ada 83 mode, and during semantic analysis, for
SPARK mode.
* par-endh.adb (Check_End): move check that end label is not missing
to Process_End_Label in the semantics
* par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
the special case for SPARK restriction
* par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
* restrict.adb, restrict.ads (Check_Formal_Restriction): add a
parameter Force to issue the error message even on internal node (used
for generated end label). Call Check_Restriction to check when an error
must be issued. In SPARK mode, issue an error message even if the
restriction is not set.
(Check_Restriction): new procedure with an additional out parameter to
inform the caller that a message has been issued
* sem_aggr.adb: Minor modification of message
* sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
instead of issuing an error message directly
* sem_ch3.adb (Analyze_Declarations): move here the check that basic
declarations are not placed after later declarations, by calling
Check_Later_Vs_Basic_Declarations
(Analyze_Subtype_Declaration): move here the check that an index or
discriminant constraint must be a subtype mark. Change the check that
a subtype of String must start at one so that it works on subtype marks.
* sem_ch4.adb (Analyze_Call): move here the check that a named
association cannot follow a positional one in a call
* sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
instead of issuing an error message directly
* sem_ch8.adb (Find_Selected_Component): move here the check that a
selector name is not a character literal or an operator symbol. Move
here the check that the prefix of an expanded name cannot be a
subprogram or a loop statement.
* sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
procedure called from parsing and semantics to check that basic
declarations are not placed after later declarations
(Process_End_Label): move here the check that end label is not missing

2011-08-02  Arnaud Charlet  <charlet@adacore.com>

* sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
representation clause in codepeer mode, since it confuses CodePeer and
does not bring useful info.

2011-08-02  Ed Falis  <falis@adacore.com>

* init.c: initialize fp hw on MILS.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* errout.adb (First_Node): for bodies, return the node itself (small
optimization). For other nodes, do not check source_unit if the node
comes from Standard.

From-SVN: r177151

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 13:29:08 +0000 (15:29 +0200)]
[multiple changes]

2011-08-02  Robert Dewar  <dewar@adacore.com>

* exp_ch3.adb: Minor comment additions.
* sem_ch13.adb: Minor reformatting.

2011-08-02  Arnaud Charlet  <charlet@adacore.com>

* exp_pakd.adb (Expand_Packed_Element_Reference): Revert previous change

2011-08-02  Pascal Obry  <obry@adacore.com>

* make.adb, makeutl.adb: Removes some superfluous directory separator.

From-SVN: r177150

13 years agoRefine previous change.
Arnaud Charlet [Tue, 2 Aug 2011 13:26:46 +0000 (15:26 +0200)]
Refine previous change.

From-SVN: r177149

13 years agoFix bootstrap with g++
Arnaud Charlet [Tue, 2 Aug 2011 13:24:06 +0000 (15:24 +0200)]
Fix bootstrap with g++

From-SVN: r177148

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 13:16:09 +0000 (15:16 +0200)]
[multiple changes]

2011-08-02  Robert Dewar  <dewar@adacore.com>

* sem_attr.adb: Minor reformatting.

2011-08-02  Ed Falis  <falis@adacore.com>

* init.c: Revert previous change.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
(Has_Default_Component_Value): Removed
* einfo.ads Comment updates
(Has_Default_Aspect): Replaces Has_Default_Value
(Has_Default_Component_Value): Removed
* exp_ch13.adb
(Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
* exp_ch3.adb
(Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
(Get_Simple_Init_Val): Handle Default_Value aspect
(Needs_Simple_Initialization): Handle Default_Value aspect
* exp_ch3.ads: Needs_Simple_Initialization
* freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
* par-prag.adb (Pragma_Default[_Component]Value) Removed
* sem_ch13.adb
(Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
* sem_prag.adb (Pragma_Default[_Component]Value) Removed
* snames.ads-tmpl (Pragma_Default[_Component]Value) Removed

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
package containing iteration primitives.
exp_ch5.adb (Expand_Iterator_Loop): ditto.

From-SVN: r177147

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 13:12:40 +0000 (15:12 +0200)]
[multiple changes]

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
"of", pre-analyze expression in case it is a function call with
finalization actions that must be placed ahead of the loop.
* exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
on an Ada2012 iterator, insert them ahead of the rewritten loop.

2011-08-02  Geert Bosch  <bosch@adacore.com>

* cstand.adb (Create_Float_Types): Only consider C's long double for
Long_Long_Float, in addition to double.

From-SVN: r177146

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 13:10:33 +0000 (15:10 +0200)]
[multiple changes]

2011-08-02  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
Minor reformatting.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_attr.adb: handle properly 'Result when it is a prefix of an
indexed component.

2011-08-02  Javier Miranda  <miranda@adacore.com>

* einfo.ads, einfo.adb
(Original_Access_Type): Move this attribute to Node26 since there was
an undocumented use of Node21 in E_Access_Subprogram_Type entities
which causes conflicts and breaks the generation of the .NET compiler.
(Interface_Name): Add missing documentation on JGNAT only uses of
this attribute.

From-SVN: r177145

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 13:08:34 +0000 (15:08 +0200)]
[multiple changes]

2011-08-02  Javier Miranda  <miranda@adacore.com>

* exp_pakd.adb (Expand_Packed_Element_Reference): Disable this routine
in CodePeer mode.

2011-08-02  Geert Bosch  <bosch@adacore.com>

* cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
(Find_Back_End_Float_Type): Likewise
(Create_Back_End_Float_Types): Likewise
(Create_Float_Types): Likewise
(Register_Float_Type): Likewise
* sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
Nlist and split out type selection in new local Find_Base_Type function.
* sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
Nlist
* stand.ads (Predefined_Float_Types): Use Elist instead of Nlist

2011-08-02  Robert Dewar  <dewar@adacore.com>

* inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
alpha order).
* opt.ads: Minor comment change.
* sem_ch12.adb: Minor code reorganization.

From-SVN: r177144

13 years agoUpdate dependencies.
Arnaud Charlet [Tue, 2 Aug 2011 13:05:36 +0000 (15:05 +0200)]
Update dependencies.

From-SVN: r177143

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 13:02:09 +0000 (15:02 +0200)]
[multiple changes]

2011-08-02  Gary Dismukes  <dismukes@adacore.com>

* sem_ch3.adb (Complete_Private_Subtype): Don't append the private
subtype's list of rep items to the list on the full subtype in the case
where the lists are the same.

2011-08-02  Geert Bosch  <bosch@adacore.com>

* switch-c.adb (Free): New deallocation procedure to avoid implicitly
using the one from System.Strings, which also deallocates all strings.

From-SVN: r177142

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 13:00:21 +0000 (15:00 +0200)]
[multiple changes]

2011-08-02  Geert Bosch  <bosch@adacore.com>

* gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
function.
* gcc-interface/Make-lang.in: Update dependencies.

2011-08-02  Olivier Hainque  <hainque@adacore.com>

* gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
end_locus.

From-SVN: r177141

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 12:48:37 +0000 (14:48 +0200)]
[multiple changes]

2011-08-02  Javier Miranda  <miranda@adacore.com>

* sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
associated with anonymous access to subprograms.

2011-08-02  Geert Bosch  <bosch@adacore.com>

* opt.ads
(Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
(Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
* prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
(Add_Symbol_Definition): Move to switch-c.adb
(Process_Command_Line_Symbol_Definitions): Adjust references to above.
* prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
(Add_Symbol_Definition): Move to switch-c.adb.
* sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
* sem_warn.adb
(Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
Move to warnsw.adb.
* sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
Move to warnsw.adb.
* switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
(Add_Symbol_Definition): Moved from Prepcomp.
* switch-c.ads: Update copyright notice. Use String_List instead of
Argument_List, removing dependency on System.OS_Lib.

From-SVN: r177140

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 12:44:24 +0000 (14:44 +0200)]
[multiple changes]

2011-08-02  Yannick Moy  <moy@adacore.com>

* sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
mode on initialization expression which does not respect SPARK
restrictions.
* sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
if the tree referenced by its argument represents an initialization
expression in SPARK, suitable for initializing an object in an object
declaration.

2011-08-02  Javier Miranda  <miranda@adacore.com>

* exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
internally generated access to subprogram with its associated protected
subprogram type.
* einfo.ads, einfo.adb (Original_Access_Type): New attribute.

From-SVN: r177139

13 years agocstand.adb (Register_Float_Type): Print information about type to register, if the...
Geert Bosch [Tue, 2 Aug 2011 12:41:24 +0000 (12:41 +0000)]
cstand.adb (Register_Float_Type): Print information about type to register, if the Debug_Flag_Dot_B is set.

2011-08-02  Geert Bosch  <bosch@adacore.com>

* cstand.adb (Register_Float_Type): Print information about type to
register, if the Debug_Flag_Dot_B is set.
* debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
* rtsfind.ads (RE_Max_Base_Digits): New run time entity.
* sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
with a requested precision of more than Max_Digits digits and no more
than Max_Base_Digits digits, if a range specification is present and the
Predefined_Float_Types list has a suitable type to derive from.
* sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
case of type completion with pragma Import
* sem_prag.adb
(Process_Import_Predefined_Type): Processing to complete a type
with pragma Import. Currently supports floating point types only.
(Set_Convention_From_Pragma): Do nothing without underlying type.
(Process_Convention): Guard against absence of underlying type,
which may happen when importing incomplete types.
(Process_Import_Or_Interface): Handle case of importing predefined
types. Tweak error message.

From-SVN: r177138

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 12:36:58 +0000 (14:36 +0200)]
[multiple changes]

2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>

* inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
functions to previous change.  Reorganize code slightly.

2011-08-02  Geert Bosch  <bosch@adacore.com>

* back_end.ads (Register_Type_Proc): New call back procedure type for
allowing the back end to provide information about available types.
(Register_Back_End_Types): New procedure to register back end types.
* back_end.adb (Register_Back_End_Types): Call the back end to enumerate
available types.
* cstand.adb (Back_End_Float_Types): New list for floating point types
supported by the back end.
(Build_Float_Type): Add extra parameter for Float_Rep_Kind.
(Copy_Float_Type): New procedure to make new copies of predefined types.
(Register_Float_Type): New call back procedure to populate the BEFT list
(Find_Back_End_Float_Type): New procedure to find a BEFT by name
(Create_Back_End_Float_Types): New procedure to populate the BEFT list.
(Create_Float_Types): New procedure to create entities for floating
point types predefined in Standard, and put these and any remaining
BEFTs on the Predefined_Float_Types list.
* stand.ads (Predefined_Float_Types): New list for predefined floating
point types that do not have declarations in package Standard.

From-SVN: r177137

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 12:32:54 +0000 (14:32 +0200)]
[multiple changes]

2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>

* inline.adb (Get_Code_Unit_Entity): New local function.  Returns the
entity node for the unit containing the parameter.
(Add_Inlined_Body): Use it to find the unit containing the subprogram.
(Add_Inlined_Subprogram): Likewise.
* gcc-interface/Make-lang.in: Update dependencies.

2011-08-02  Thomas Quinot  <quinot@adacore.com>

* s-stusta.adb (Print): Make sure Pos is always initialized to a
suitable value.

2011-08-02  Ed Falis  <falis@adacore.com>

* init.c: Fix conditional compilation so that the fp initialization is
peformed for the MILS VxWorks Guest OS.

From-SVN: r177136

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 12:26:47 +0000 (14:26 +0200)]
[multiple changes]

2011-08-02  Geert Bosch  <bosch@adacore.com>

* a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.

2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>

* sem_type.adb (Covers): Move trivial case to the top and reuse the
computed value of Base_Type.

2011-08-02  Yannick Moy  <moy@adacore.com>

* restrict.adb (Check_Restriction): issue an error for any use of
class-wide, even if the No_Dispatch restriction is not set.
* sem_aggr.adb: Correct typos in comments and messages in formal mode
* sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
when completing a private extension, the type named in the private part
is not the same as that named in the visible part.
* sem_res.adb (Resolve_Call): issue an error in formal mode on the use
of an inherited primitive operations of a tagged type or type extension
that returns the tagged type.
* sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
function which returns True for an implicit operation inherited by the
derived type declaration for the argument type.
(Is_SPARK_Object_Reference): move to appropriate place in alphabetic
order.

From-SVN: r177135

13 years agosem_ch5.adb (Pre_Analyze_Range): new procedure extracted from Process_Bounds...
Ed Schonberg [Tue, 2 Aug 2011 12:24:07 +0000 (12:24 +0000)]
sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from Process_Bounds...

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
Process_Bounds, to perform analysis with expansion of a range or an
expression that is the iteration scheme for a loop.
(Analyze_Iterator_Specification): If domain of iteration is given by a
function call with a controlled result, as is the case if call returns
a predefined container, ensure that finalization actions are properly
generated.
* par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.

From-SVN: r177134

13 years agolibgcc.S: Gather related function in the same input section.
Georg-Johann Lay [Tue, 2 Aug 2011 12:17:43 +0000 (12:17 +0000)]
libgcc.S: Gather related function in the same input section.

* config/avr/libgcc.S: Gather related function in the
same input section.
__divmodsi4): Use XCALL/XJMP instead of rcall/rjmp for external
references.
(__udivmodqi4, __divmodqi4, __udivmodhi4, __divmodhi4,
__udivmodsi4, __divmodsi4, __prologue_saves__,
__epilogue_restores__, _exit, __tablejump2__, __tablejump__,
__do_copy_data, __do_clear_bss, __do_global_ctors,
__do_global_dtors, __tablejump_elpm__): Enclose in DEFUN/ENDF.

From-SVN: r177133

13 years agosem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
Javier Miranda [Tue, 2 Aug 2011 10:44:29 +0000 (10:44 +0000)]
sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.

2011-08-02  Javier Miranda  <miranda@adacore.com>

* sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
* gcc-interface/Make-lang.in: Update dependencies.

2011-08-02  Javier Miranda  <miranda@adacore.com>

* sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
determine if the analysis is performed using N or Original_Node (N).
* exp_util.adb (Side_Effect_Free): Code cleanup since the new
functionality of routine Is_Variable avoids code duplication.
* checks.adb (Determine_Range): Handle temporaries generated by
Remove_Side_Effects.

2011-08-02  Javier Miranda  <miranda@adacore.com>

* exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
expansion of the condition. Required since the previous analysis was
done with expansion disabled (see Resolve_Quantified_Expression) and
hence checks were not inserted and record comparisons have not been
expanded.

From-SVN: r177132

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 10:40:00 +0000 (12:40 +0200)]
[multiple changes]

2011-08-02  Ed Falis  <falis@adacore.com>

* s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
Update header.

2011-08-02  Bob Duff  <duff@adacore.com>

* opt.ads: Minor comment fix.

2011-08-02  Bob Duff  <duff@adacore.com>

* sem_ch12.adb (Analyze_Package_Instantiation,
Analyze_Subprogram_Instantiation): Turn off style checking while
analyzing an instance. Whatever style checks that apply to the generic
unit should apply, so it makes no sense to apply them in an instance.
This was causing trouble when compiling an instance of a runtime
unit that violates the -gnatyO switch.
* stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
one of the two case statements, causing spurious errors.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* uname.adb: Minor reformatting.
* gnatcmd.adb: Minor reformatting.
* exp_attr.adb: Minor reformatting.

From-SVN: r177131

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 10:36:15 +0000 (12:36 +0200)]
[multiple changes]

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
No_Dispatching_Calls, do not look for the Assign primitive, because
predefined primitives are not created in this case.

2011-08-02  Bob Duff  <duff@adacore.com>

* stylesw.ads: Minor comment fixes.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* freeze.adb (Add_To_Result): New procedure.

2011-08-02  Jose Ruiz  <ruiz@adacore.com>

* exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
time, if the specific run-time routines for handling streams of strings
are not available, use the default mechanism.

2011-08-02  Arnaud Charlet  <charlet@adacore.com>

* s-regpat.ads: Fix typo.

2011-08-02  Vincent Celier  <celier@adacore.com>

* prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
not null, call it to create the in memory config project file without
parsing an existing default config project file.

2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>

* atree.adb (Allocate_Initialize_Node): Remove useless temporaries.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_elim.adb: an abstract subprogram does not need an eliminate
pragma for its descendant to be eliminable.

2011-08-02  Ed Falis  <falis@adacore.com>

* init.c: revert to handling before previous checkin for VxWorks
* s-intman-vxworks.adb: delete unnecessary declarations related to
using Ada interrupt facilities for handling signals.
Delete Initialize_Interrupts. Use __gnat_install_handler instead.
* s-intman-vxworks.ads: Import __gnat_install_handler as
Initialize_Interrupts.
* s-taprop-vxworks.adb: Delete Signal_Mask.
(Abort_Handler): change construction of mask to unblock exception
signals.

From-SVN: r177130

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 10:31:12 +0000 (12:31 +0200)]
[multiple changes]

2011-08-02  Jerome Guitton  <guitton@adacore.com>

* a-except-2005.adb (Raise_From_Signal_Handler): Call
Debug_Raise_Exception before propagation starts.

2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>

* exp_ch6.adb (Expand_Call): Guard restriction checks with a call
to Restriction_Check_Required.
* sem_ch3.adb (Analyze_Object_Declaration): Likewise.
* sem_res.adb (Resolve_Call): Likewise.
* sem_attr.adb (Check_Stream_Attribute): Likewise.

2011-08-02  Bob Duff  <duff@adacore.com>

* stylesw.ads: Update comment.
* style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
* errout.ads: Remove obsolete comment.

2011-08-02  Javier Miranda  <miranda@adacore.com>

* einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
(Set_Is_Safe_To_Reevaluate): new procedure.
* sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
assignment is allowed on safe-to-reevaluate variables.
(Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
temporary created to remove side effects in expressions that use
the secondary stack as safe-to-reevaluate.
* exp_util.adb (Side_Effect_Free): Add missing code to handle well
variables that are not true constants.

From-SVN: r177129

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 10:27:16 +0000 (12:27 +0200)]
[multiple changes]

2011-08-02  Robert Dewar  <dewar@adacore.com>

* sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
sem_res.adb, sem_ch6.adb: Minor reformatting.

2011-08-02  Jerome Guitton  <guitton@adacore.com>

* a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.

From-SVN: r177127

13 years agosem_ch6.adb (New_Overloaded_Entity, [...]): Do not set Overridden_Operation if subpro...
Ed Schonberg [Tue, 2 Aug 2011 10:25:26 +0000 (10:25 +0000)]
sem_ch6.adb (New_Overloaded_Entity, [...]): Do not set Overridden_Operation if subprogram is an initialization procedure.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
not set Overridden_Operation if subprogram is an initialization
procedure.

From-SVN: r177126

13 years agopar-ch6.adb: Correct obsolete name in comments
Yannick Moy [Tue, 2 Aug 2011 10:21:47 +0000 (10:21 +0000)]
par-ch6.adb: Correct obsolete name in comments

2011-08-02  Yannick Moy  <moy@adacore.com>

* par-ch6.adb: Correct obsolete name in comments
* restrict.adb, restrict.ads (Check_Formal_Restriction): new function
which takes two message arguments (existing function takes one), with
second message used for continuation.
* sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
block statements that originate from a source block statement, not
generated block statements
* sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
symmetry with procedure case
* sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
function to issue an error in formal mode if a package specification
contains more than one tagged type or type extension.
* sem_res.adb (Resolve_Actuals): in formal mode, check that actual
parameters matching formals of tagged types are objects (or ancestor
type conversions of objects), not general expressions. Issue an error
on view conversions that are not involving ancestor conversion of an
extended type.
(Resolve_Type_Conversion): in formal mode, issue an error on the
operand of an ancestor type conversion which is not an object
* sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
procedure so that it works also for actuals of function calls
(Is_Actual_Tagged_Parameter): new function which determines if its
argument is an actual parameter of a formal of tagged type in a
subprogram call
(Is_SPARK_Object_Reference): new function which determines if the tree
referenced by its argument represents an object in SPARK

From-SVN: r177125

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 10:16:43 +0000 (12:16 +0200)]
[multiple changes]

2011-08-02  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb: Minor reformatting
Minor comment addition
Minor error msg text change

2011-08-02  Javier Miranda  <miranda@adacore.com>

* sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
function. Used to be more precise when we generate a variable plus one
assignment to remove side effects in the evaluation of the Bound
expressions.
(Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
of the bound expression to force its re-analysis and thus expand the
associated transient scope (if required). Code cleanup replacing the
previous code that declared the constant entity by an invocation to
routine Force_Evaluation which centralizes this work in the frontend.

From-SVN: r177124

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 10:14:09 +0000 (12:14 +0200)]
[multiple changes]

2011-08-02  Robert Dewar  <dewar@adacore.com>

* einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
(Base_Type): Now uses improved Is_Base_Type function
* einfo.ads (Base_Type): Inline this function

2011-08-02  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
(Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas

2011-08-02  Arnaud Charlet  <charlet@adacore.com>

* gcc-interface/Make-lang.in: Update dependencies.
* gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
targets.

2011-08-02  Yannick Moy  <moy@adacore.com>

* par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
non-simple expression used in delta constraint
(P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
index constraint which is not a subtype mark
* par.adb: With and use Restrict
* sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
mode on component type which is not a subtype mark and default
expression on component
(Analyze_Subtype_Declaration): issue an error in formal mode on subtype
of string which does not have a lower index bound equal to 1
(Array_Type_Declaration): issue an error in formal mode on index or
component type which is not a subtype mark, and on aliased keyword on
component
(Derived_Type_Declaration): issue an error in formal mode on interface,
limited or abstract type
(Record_Type_Declaration): issue an error in formal mode on interface
(Record_Type_Definition): issue an error in formal mode on tagged types
and type extensions not declared in the specification of a library unit
package; on null non-tagged record; on variant part

2011-08-02  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
not declared for qualified library project when Library_Name is not
declared, but Library_Dir is.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
pragmas (affects aspects [Component_]Default_Value
(Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
component type for the resolution

From-SVN: r177123

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 10:07:34 +0000 (12:07 +0200)]
[multiple changes]

2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>

* einfo.adb (Base_Type): Tune implementation for speed.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* freeze.adb: Minor reformatting.

From-SVN: r177122

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 10:06:14 +0000 (12:06 +0200)]
[multiple changes]

2011-08-02  Thomas Quinot  <quinot@adacore.com>

* scos.ads: Update comments.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
base type, because the parent may be a subtype of a private type whose
convention is established in a private part.

2011-08-02  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
statement in a block when the expansion of the return expression has
created a finalization chain.
* freeze.adb (Freeze_Expression): Alphabetize all choices associated
with the parent node.
Add N_Extended_Return_Statement to handle the case where a transient
object declaration appears in the Return_Object_Declarations list of
an extended return statement.

2011-08-02  Matthew Gingell  <gingell@adacore.com>

* adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
unused parameter 'name'.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_elim.adb (Set_Eliminated): If the overridden operation is an
inherited operation, check whether its alias, which is the source
operastion that it renames, has been marked eliminated.

From-SVN: r177121

13 years agoexp_util.adb (Safe_Prefixed_Reference): Do not consider safe an in-mode parameter...
Javier Miranda [Tue, 2 Aug 2011 10:02:23 +0000 (10:02 +0000)]
exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an in-mode parameter whose type is an access type since it...

2011-08-02  Javier Miranda  <miranda@adacore.com>

* exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
in-mode parameter whose type is an access type since it can be used to
modify its designated object. Enforce code that handles as safe an
access type that is not access-to-constant but it is the result of a
previous removal of side-effects.
(Remove_Side_Effects): Minor code reorganization of cases which require
no action. Done to incorporate documentation on new cases uncovered
working in this ticket: no action needed if this routine was invoked
too early and the nodes are not yet decorated.
* sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
to routine Remove_Side_Effects by calls to Force_Evaluation since they
were issued with actuals that are implicitly provided by
Force_Evaluation.

From-SVN: r177120

13 years agosem_ch3.adb, [...]: Minor reformatting.
Robert Dewar [Tue, 2 Aug 2011 10:00:08 +0000 (10:00 +0000)]
sem_ch3.adb, [...]: Minor reformatting.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, sem_res.adb: Minor reformatting.

From-SVN: r177119

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 09:57:33 +0000 (11:57 +0200)]
[multiple changes]

2011-08-02  Yannick Moy  <moy@adacore.com>

* sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
to issue an error in formal mode on attribute not supported in this mode
(Analyze_Attribute): issue errors on standard attributes not supported
in formal mode.
* sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
comment, and issue error in formal mode on modulus which is not a power
of 2.
(Process_Range_Expr_In_Decl): issue error in formal mode on non-static
range.
* sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
subtype mark.
* sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
operator on modular type (except 'not').

2011-08-02  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Minor reformatting.

From-SVN: r177118

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 09:55:51 +0000 (11:55 +0200)]
[multiple changes]

2011-08-02  Arnaud Charlet  <charlet@adacore.com>

* s-osinte-linux.ads: Minor comment update and reformatting.
* i-cexten.ads: Make this unit pure, as for its parent.
Will allow its usage in more contexts if needed.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* s-utf_32.ads: Minor comment fix.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
operation of a tagged synchronized type, handle the case where the
controlling argument is overloaded.

2011-08-02  Yannick Moy  <moy@adacore.com>

* gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
Replace pragma SPARK_95 with pragma Restrictions (SPARK)
* par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
SPARK mode and formal verification mode on processing SPARK restriction
* s-rident.ads (Restriction_Id): add SPARK restriction in those not
requiring consistency checking.

From-SVN: r177117

13 years agoMinor reformatting.
Arnaud Charlet [Tue, 2 Aug 2011 09:53:23 +0000 (11:53 +0200)]
Minor reformatting.

From-SVN: r177116

13 years agosem_res.adb: Minor reformatting.
Robert Dewar [Tue, 2 Aug 2011 09:52:49 +0000 (09:52 +0000)]
sem_res.adb: Minor reformatting.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* sem_res.adb: Minor reformatting.

From-SVN: r177115

13 years agoa-cfdlli.ads, [...]: Remove unneeded with of Ada.Containers Remove commented out...
Robert Dewar [Tue, 2 Aug 2011 09:50:34 +0000 (09:50 +0000)]
a-cfdlli.ads, [...]: Remove unneeded with of Ada.Containers Remove commented out pragma Inline's...

2011-08-02  Robert Dewar  <dewar@adacore.com>

* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
a-cforse.ads: Remove unneeded with of Ada.Containers
Remove commented out pragma Inline's
Move specifications of new subprograms to the actual specs

From-SVN: r177114

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 09:48:59 +0000 (11:48 +0200)]
[multiple changes]

2011-08-02  Yannick Moy  <moy@adacore.com>

* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
a-cforse.ads: Update comments.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_attr.adb: add attribute name when 'Result has the wrong prefix.

From-SVN: r177113

13 years agoa-cfdlli.ads, [...]: Minor reformatting.
Robert Dewar [Tue, 2 Aug 2011 09:47:35 +0000 (09:47 +0000)]
a-cfdlli.ads, [...]: Minor reformatting.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
a-cforse.ads, a-cofove.ads: Minor reformatting.

From-SVN: r177112

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 09:46:08 +0000 (11:46 +0200)]
[multiple changes]

2011-08-02  Claire Dross  <dross@adacore.com>

* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
a-cofove.ads: Add comments.

2011-08-02  Yannick Moy  <moy@adacore.com>

* gnat_rm.texi: Document formal containers.

2011-08-02  Emmanuel Briot  <briot@adacore.com>

* g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
are empty sections.

From-SVN: r177111

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 09:41:50 +0000 (11:41 +0200)]
[multiple changes]

2011-08-02  Robert Dewar  <dewar@adacore.com>

* mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
reformatting.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* aspects.adb: New aspects Default_Value and Default_Component_Value
New format of Aspect_Names table checks for omitted entries
* aspects.ads: Remove mention of Aspect_Cancel and add documentation on
handling of boolean aspects for derived types.
New aspects Default_Value and Default_Component_Value
New format of Aspect_Names table checks for omitted entries
* einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
(Has_Default_Value): New flag
(Has_Default_Component_Value): New flag
(Has_Default_Value): New flag
* par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
table.
* par-prag.adb: New pragmas Default_Value and Default_Component_Value
* sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
Default_Value and Default_Component_Value
* sem_prag.adb: New pragmas Default_Value and Default_Component_Value
New aspects Default_Value and Default_Component_Value
* snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
* sprint.adb: Print N_Aspect_Specification node when called from gdb

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
Minor reformatting.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* i-cstrin.ads: Updates to make Interfaces.C.Strings match RM

From-SVN: r177110

13 years agoFix typo.
Arnaud Charlet [Tue, 2 Aug 2011 09:41:30 +0000 (11:41 +0200)]
Fix typo.

From-SVN: r177109

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 09:28:26 +0000 (11:28 +0200)]
[multiple changes]

2011-08-02  Yannick Moy  <moy@adacore.com>

* sem_aggr.adb (Resolve_Aggregate): Fix thinko.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* impunit.adb: Add comment.

From-SVN: r177108

13 years agoCode clean up.
Arnaud Charlet [Tue, 2 Aug 2011 09:25:38 +0000 (11:25 +0200)]
Code clean up.

From-SVN: r177107

13 years agoMinor reformatting.
Arnaud Charlet [Tue, 2 Aug 2011 09:24:53 +0000 (11:24 +0200)]
Minor reformatting.

From-SVN: r177106

13 years agoMinor reformatting.
Arnaud Charlet [Tue, 2 Aug 2011 09:24:25 +0000 (11:24 +0200)]
Minor reformatting.

From-SVN: r177105

13 years agosem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type has a discriminant...
Arnaud Charlet [Tue, 2 Aug 2011 09:23:40 +0000 (11:23 +0200)]
sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type has a discriminant specification so that it does not...

        * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
        has a discriminant specification so that it does not include the case
        of derived types
        (Derived_Type_Declaration): move here the test that a derived type has a
        discriminant specification

From-SVN: r177104

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 09:21:47 +0000 (11:21 +0200)]
[multiple changes]

2011-08-02  Yannick Moy  <moy@adacore.com>

* sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
qualification of aggregates in formal mode
(Is_Top_Level_Aggregate): returns True for an aggregate not contained in
another aggregate
(Resolve_Aggregate): complete the test that an aggregate is adequately
qualified in formal mode

2011-08-02  Pascal Obry  <obry@adacore.com>

* make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
* mlib-prj.adb: Supress warning when compiling binder generated file.
(Build_Library): Supress all warnings when compiling the binder
generated file.

From-SVN: r177103

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 09:17:46 +0000 (11:17 +0200)]
[multiple changes]

2011-08-02  Yannick Moy  <moy@adacore.com>

* errout.adb, errout.ads (Check_Formal_Restriction): move procedure
from here...
* restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
* sem_aggr.adb, sem_ch5.adb, sem_util.adb:
Add with/use clauses to make Check_Formal_Restriction visible

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Check_Generic_Actuals): handle properly actual
in-parameters when type of the generic formal is private in the generic
spec and non-private in the body.

2011-08-02  Claire Dross  <dross@adacore.com>

* a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
a-cofove.adb, a-cofove.ads: New files implementing formal containers.
* impunit.adb, Makefile.rtl: Take new files into account.

From-SVN: r177102

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 09:09:07 +0000 (11:09 +0200)]
[multiple changes]

2011-08-02  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
inherit library kind.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.

From-SVN: r177101

13 years agosem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in formal mode
Yannick Moy [Tue, 2 Aug 2011 09:07:35 +0000 (09:07 +0000)]
sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in formal mode

2011-08-02  Yannick Moy  <moy@adacore.com>

* sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
formal mode
* sem_util.adb (Matching_Static_Array_Bounds): proper detection of
matching static array bounds, taking into account the special case of
string literals
* sem_ch3.adb: Typo in comment.

From-SVN: r177100

13 years agoerrout.adb, errout.ads (Check_Formal_Restriction): new procedure which issues an...
Yannick Moy [Tue, 2 Aug 2011 09:05:58 +0000 (09:05 +0000)]
errout.adb, errout.ads (Check_Formal_Restriction): new procedure which issues an error in formal mode if...

2011-08-02  Yannick Moy  <moy@adacore.com>

* errout.adb, errout.ads (Check_Formal_Restriction): new procedure
which issues an error in formal mode if its argument node is originally
from source
* sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
has a discriminant specification so that it does not include the case
of derived types
(Derived_Type_Declaration): move here the test that a derived type has a
discriminant specification
* sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
first element of a component association before accessing its choices
(presence of component association is not enough)
* exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
declaration is a library item before accessing the next element in a
list, as library items are not member of lists
* sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
Check_Formal_Restriction whenever possible.

From-SVN: r177099

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 09:03:13 +0000 (11:03 +0200)]
[multiple changes]

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
reference when needed.

2011-08-02  Bob Duff  <duff@adacore.com>

* gnat_ugn.texi: Fix typo.

2011-08-02  Vincent Celier  <celier@adacore.com>

* make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
archive file name. Do not use the full path name of archives for Open
VMS.

From-SVN: r177097

13 years agore PR target/47766 ([x32] -fstack-protector doesn't work)
Uros Bizjak [Tue, 2 Aug 2011 09:01:37 +0000 (11:01 +0200)]
re PR target/47766 ([x32] -fstack-protector doesn't work)

PR target/47766
* doc/md.texi (stack_protect_set): The pattern moves ptr_mode value.
(stack_protect_test): The pattern compares ptr_mode value.

From-SVN: r177096

13 years agosem_ch12.adb, [...]: New calling sequence for Analyze_Aspect_Specifications
Robert Dewar [Tue, 2 Aug 2011 08:58:37 +0000 (08:58 +0000)]
sem_ch12.adb, [...]: New calling sequence for Analyze_Aspect_Specifications

2011-08-02  Robert Dewar  <dewar@adacore.com>

* sem_ch12.adb, sem_ch11.adb: New calling sequence for
Analyze_Aspect_Specifications
* sem_ch13.adb
(Analyze_Aspect_Specifications): New handling for boolean aspects
* sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
* sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
sequence for Analyze_Aspect_Specifications
* sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
* sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used

2011-08-02  Robert Dewar  <dewar@adacore.com>

* freeze.adb (Freeze_Entity): Remove handling of delayed boolean
aspects, since these no longer exist.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* par-ch13.adb (Aspect_Specifications_Present): Always return false on
semicolon, do not try to see if there are aspects following it.
* par-ch3.adb (P_Declarative_Items): Better message for unexpected
aspect spec.

From-SVN: r177095

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 08:19:12 +0000 (10:19 +0200)]
[multiple changes]

2011-08-02  Robert Dewar  <dewar@adacore.com>

* sem_ch8.adb, aspects.ads: Minor reformatting.

2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>

* sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
* sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
extracted from...
(Analyze_Aspect_Specifications): ...here.  Call above procedure.

From-SVN: r177094

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 08:16:45 +0000 (10:16 +0200)]
[multiple changes]

2011-08-02  Yannick Moy  <moy@adacore.com>

* exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
mode on subprogram declaration outside of package specification, unless
it is followed by a pragma Import
* sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
Access_Type_Declaration): issue error in formal mode on access type
(Analyze_Incomplete_Type_Decl): issue error in formal mode on
incomplete type
(Analyze_Object_Declaration): issue error in formal mode on object
declaration which does not respect SPARK restrictions
(Analyze_Subtype_Declaration): issue error in formal mode on subtype
declaration which does not respect SPARK restrictions
(Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
error in formal mode on digits or delta constraint
(Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
decimal fixed point type
(Derived_Type_Declaration): issue error in formal mode on derived type
other than type extensions of tagged record types
* sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
with check on access definition
* sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
mode on protected definition.
(Analyze_Task_Definition): issue error in formal mode on task definition

2011-08-02  Robert Dewar  <dewar@adacore.com>

* make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.

From-SVN: r177093

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 08:13:21 +0000 (10:13 +0200)]
[multiple changes]

2011-08-02  Javier Miranda  <miranda@adacore.com>

* sem_ch6.adb (Can_Override_Operator): New function.
(Verify_Overriding_Indicator): Add missing code to check overriding
indicator in operators. Fixes regression.
(Check_Overriding_Indicator): Minor reformating after replacing the
code that evaluates if the subprogram can override an operator by
invocations to the above new function.
* einfo.adb
(Write_Field26_Name): Add missing code to ensure that, following
the documentation in einfo.ads, this field is not shown as attribute
"Static_Initialization" on non-dispatching functions.

2011-08-02  Jose Ruiz  <ruiz@adacore.com>

* sem_res.adb (Resolve_Call): A call to
Ada.Real_Time.Timing_Events.Set_Handler violates restriction
No_Relative_Delay (AI-0211) only when it sets a relative timing event,
i.e., when the second parameter is of type Time_Span.

2011-08-02  Vincent Celier  <celier@adacore.com>

* make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
with an archive instead of -L<library dir> -l<library name>.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
mark the base types In_Use in addition to making the operations
use_visible.

2011-08-02  Ed Falis  <falis@adacore.com>

* init.c: add and setup __gnat_signal_mask for the exception signals
* s-inmaop-vxworks.adb: new file.
* s-intman-vxworks.adb: remove unnecessary initializations and
simplify remaining
* s-intman-vxworks.ads: remove unnecessary variable
* s-taprop-vxworks.adb: simplify signal initialization

From-SVN: r177092

13 years agosem_ch8.adb: Minor code reorganization, comment updates.
Robert Dewar [Tue, 2 Aug 2011 08:06:18 +0000 (08:06 +0000)]
sem_ch8.adb: Minor code reorganization, comment updates.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* sem_ch8.adb: Minor code reorganization, comment updates.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
* sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
here from Sem_Res.
(Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
(Matching_Static_Array_Bounds): Moved here from Sem_Res

From-SVN: r177091

13 years agoatree.h, [...]: New subprograms to manipulate Elist5.
Ed Schonberg [Tue, 2 Aug 2011 08:03:11 +0000 (08:03 +0000)]
atree.h, [...]: New subprograms to manipulate Elist5.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
* par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
* sinfo.ads, sinfo.adb (Used_Operations): new attribute of
use_type_clauses, to handle more efficiently use_type and use_all_type
constructs.
* sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
Ada2012 Use_All_Type clause.
(Use_Class_Wide_Operations): new procedure.

From-SVN: r177090

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 07:53:29 +0000 (09:53 +0200)]
[multiple changes]

2011-08-02  Robert Dewar  <dewar@adacore.com>

* exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
expression to expression function.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb: transform simple Ada2012 membership into equality only
if types are compatible.

2011-08-02  Yannick Moy  <moy@adacore.com>

* sem_res.adb (Matching_Static_Array_Bounds): new function which
returns True if its argument array types have same dimension and same
static bounds at each index.
(Resolve_Actuals): issue an error in formal mode on actuals passed as
OUT or IN OUT paramaters which are not view conversions in SPARK.
(Resolve_Arithmetic_Op): issue an error in formal mode on
multiplication or division with operands of fixed point types which are
not qualified or explicitly converted.
(Resolve_Comparison_Op): issue an error in formal mode on comparisons of
Boolean or array type (except String) operands.
(Resolve_Equality_Op): issue an error in formal mode on equality
operators for array types other than String with non-matching static
bounds.
(Resolve_Logical_Op): issue an error in formal mode on logical operators
for array types with non-matching static bounds. Factorize the code in
Matching_Static_Array_Bounds.
(Resolve_Qualified_Expression): issue an error in formal mode on
qualified expressions for array types with non-matching static bounds.
(Resolve_Type_Conversion): issue an error in formal mode on type
conversion for array types with non-matching static bounds

From-SVN: r177089

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 07:48:59 +0000 (09:48 +0200)]
[multiple changes]

2011-08-02  Robert Dewar  <dewar@adacore.com>

* par-ch10.adb: Minor code reorganization (use Nkind_In).

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

* par-ch9.adb: save location of entry for proper error message.

From-SVN: r177088

13 years agosem_type.ads, [...] (Is_Ancestor): Addition of a new formal (Use_Full_View) which...
Javier Miranda [Tue, 2 Aug 2011 07:46:39 +0000 (07:46 +0000)]
sem_type.ads, [...] (Is_Ancestor): Addition of a new formal (Use_Full_View) which permits this routine to climb...

2011-08-02  Javier Miranda  <miranda@adacore.com>

* sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
(Use_Full_View) which permits this routine to climb through the
ancestors using the full-view of private parents.
* sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
Use_Full_View to true in calls to Is_Ancestor.
* sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
true in call to Is_Ancestor.
* exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
Use_Full_View to true in call to Is_Ancestor.
* exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
call to Is_Ancestor.
* exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
Use_Full_View to true in calls to Is_Ancestor.
* exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
Make_Select_Specific_Data_Table, Register_Primitive,
Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
* exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
to true in call to Is_Ancestor.
* exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
Use_Full_View to true in calls to Is_Ancestor.
* exp_cg.adb
(Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
(Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.

From-SVN: r177087

13 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Aug 2011 07:42:46 +0000 (09:42 +0200)]
[multiple changes]

2011-08-02  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Minor reformatting.
* sem_prag.adb: Minor reformatting.

2011-08-02  Tristan Gingold  <gingold@adacore.com>

* vms_data.ads: Add VMS qualifier for -gnateP.

2011-08-02  Robert Dewar  <dewar@adacore.com>

* par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
* par-ch7.adb (P_Package): Proper placement of aspects for package
decl/instantiation.
* par-endh.adb (Check_End): Ad Is_Sloc parameter
(End_Statements): Add Is_Sloc parameterr
* par.adb (P_Aspect_Specification): New meaning of Decl = Empty
(Check_End): Ad Is_Sloc parameter
(End_Statements): Add Is_Sloc parameterr

2011-08-02  Vincent Celier  <celier@adacore.com>

* ug_words: Add VMS qualifier equivalent to -gnateP:
/SYMBOL_PREPROCESSING.

2011-08-02  Jose Ruiz  <ruiz@adacore.com>

* gnat-style.texi: For hexadecimal numeric literals the typical
grouping of digits is 4 to represent 2 bytes.
A procedure spec which is split into several lines is indented two
characters.

2011-08-02  Yannick Moy  <moy@adacore.com>

* exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
* sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
(Resolve_Aggregate): issue errors in formal modes when aggregate is not
properly qualified
(Resolve_Array_Aggregate): issue errors in formal modes on non-static
choice in array aggregate
(Resolve_Extension_Aggregate): issue errors in formal modes on subtype
mark as ancestor
(Resolve_Record_Aggregate): issue errors in formal modes on mixed
positional and named aggregate for record, or others in record
aggregate, or multiple choice in record aggregate
* sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
array operands to logical operations AND, OR and XOR do not have the
same static lower and higher bounds
* sem_ch5.adb, sinfo.ads: Correct typos in comments

From-SVN: r177086

13 years agors6000.c (rs6000_emit_prologue): Add REG_CFA_RESTORE note for save_LR_around_toc_setu...
Alan Modra [Tue, 2 Aug 2011 05:12:37 +0000 (14:42 +0930)]
rs6000.c (rs6000_emit_prologue): Add REG_CFA_RESTORE note for save_LR_around_toc_setup sequence.

* config/rs6000/rs6000.c (rs6000_emit_prologue): Add REG_CFA_RESTORE
note for save_LR_around_toc_setup sequence.

From-SVN: r177084

13 years agoReplace long with long long on __lzcnt64.
H.J. Lu [Tue, 2 Aug 2011 00:31:07 +0000 (00:31 +0000)]
Replace long with long long on __lzcnt64.

2011-08-01  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/lzcntintrin.h (__lzcnt64): Replace long with
long long.

From-SVN: r177081