aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
AgeCommit message (Collapse)AuthorFilesLines
2014-08-04[multiple changes]Arnaud Charlet3-5/+38
2014-08-04 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Is_Potentially_Unevaluated): If the original node of a parent node in the tree is a short-circuit operation, the node is potentially unevaluated. 2014-08-04 Robert Dewar <dewar@adacore.com> * sem_res.adb (Resolve_Type_Conversion): Set Do_Range_Check on conversion from a real type to an integer type. From-SVN: r213538
2014-08-04[multiple changes]Arnaud Charlet20-200/+225
2014-08-04 Yannick Moy <moy@adacore.com> * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_ch7.adb, sem_ch9.adb, sem_ch12.adb, sem_util.adb, sem_util.ads, sem_res.adb, sem_attr.adb, exp_ch6.adb, sem_ch4.adb, restrict.adb, restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb: Update some subprogram names to refer to SPARK_05 instead of SPARK. 2014-08-04 Robert Dewar <dewar@adacore.com> * sem.ads: Minor reformatting. * sem_ch13.adb (Analyze_Aspect_External_Or_Link_Name): Minor reformatting. (Analyze_Aspect_Specifications, case Convention): Put External_Name before Link_Name when constructing pragma. From-SVN: r213537
2014-08-04sem.adb, sem.ads (In_Default_Expr): Global flag that is set to True during ↵Yannick Moy6-7/+51
analysis of a default component expression. 2014-08-04 Yannick Moy <moy@adacore.com> * sem.adb, sem.ads (In_Default_Expr): Global flag that is set to True during analysis of a default component expression. (Semantics): Save and restore In_Default_Expr around analysis. * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration): Call new wrapper Preanalyze_Default_Expression. (Preanalyze_Default_Expression): New wrapper on Preanalyze_Spec_Expression which sets and restores In_Default_Expr. * sem_res.adb (Resolve_Call): Mark calls inside default expressions as not inlined in GNATprove mode. From-SVN: r213536
2014-08-04[multiple changes]Arnaud Charlet8-18/+86
2014-08-04 Robert Dewar <dewar@adacore.com> * exp_ch4.adb: Minor reformatting. 2014-08-04 Olivier Hainque <hainque@adacore.com> * link.c: remove const on __gnat_objlist_file_supported for AIX 2014-08-04 Robert Dewar <dewar@adacore.com> * sem_util.ads: Minor addition of comment. 2014-08-04 Vincent Celier <celier@adacore.com> * prj-dect.adb (Check_Package_Allowed): Allow package IDE in all projects, including aggregate and aggregate library projects. 2014-08-04 Yannick Moy <moy@adacore.com> * back_end.adb (Call_Back_End): Do not call gigi in GNATprove mode. 2014-08-04 Robert Dewar <dewar@adacore.com> * sem_eval.adb (Test_In_Range): Always in range for Is_Known_Valid target type, where input type has smaller or equal size and does not have biased rep. 2014-08-04 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Eval_Attribute): Constrained is not treated as a static attribute, and the Static flag must not be set on it during resolution. It may be constant-folded during expansion, but if expansion is disabled it is not a static expression. From-SVN: r213535
2014-08-04[multiple changes]Arnaud Charlet3-7/+32
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch8.adb (Build_Class_Wide_Wrapper): Mark the primitive as referenced once resolution has taken place. 2014-08-04 Gary Dismukes <dismukes@adacore.com> * exp_ch4.adb (Expand_N_Type_Conversion): Don't compare access levels in the case where the target type is the anonymous type of an access discriminant, since the level of such types is defined based on context. Add comment. From-SVN: r213534
2014-08-04[multiple changes]Arnaud Charlet6-89/+173
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch8.adb (Build_Class_Wide_Wrapper): Handle various special cases related to equality. Remove the special processing for dispatching abstract subprograms as it is not needed. (Interpretation_Error): Add a specialized error message for predefined operators. (Is_Intrinsic_Equality): New routine. (Is_Suitable_Candidate): New routine. 2014-08-04 Gary Dismukes <dismukes@adacore.com> * checks.adb: Minor comment reformatting. 2014-08-04 Ed Schonberg <schonberg@adacore.com> * restrict.adb (Check_Restriction): For checked max_parameter restrictions reset Violated flag, so that subsequent violations are properly detected. 2014-08-04 Robert Dewar <dewar@adacore.com> * sem_ch3.adb (Check_Initialization): Fix bad test of GNATprove mode. (Process_Discriminants): Fix bad test of GNATprove mode 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch12.adb (Instantiate_Formal_Subprogram): Move variable to their own section. Propagate the source location of a formal parameter to the corresponding formal of the subprogram renaming declaration. Code reformatting. From-SVN: r213533
2014-08-04[multiple changes]Arnaud Charlet4-75/+135
2014-08-04 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Expand_Array_Aggregate): Do not attempt expansion if error already detected. We may reach this point in spite of previous errors when compiling with -gnatq, to force all possible errors (this is the usual ACATS mode). 2014-08-04 Gary Dismukes <dismukes@adacore.com> * checks.adb (Generate_Range_Check): For the case of converting a base type with a larger range to a smaller target subtype, only use unchecked conversions of bounds in the range check followed by conversion in the case where both types are discrete. In other cases, convert to the target base type and save in a temporary followed by the range check. (Convert_And_Check_Range): New procedure factoring code to save conversion to a temporary followed by a range check (called two places in Generate_Range_Check). * exp_ch4.adb (Expand_N_Type_Conversion): Relax previous check-in, to generate range checks for conversions between any floating-point types rather than limiting it to matching base types. From-SVN: r213532
2014-08-04Removed.Arnaud Charlet2-652/+0
From-SVN: r213531
2014-08-02add a hash_set based on hash_tableTrevor Saunders2-6/+10
This allows us to replace the usage of pointer_set outside of pointer_map with a nicer interface. gcc/ada/ * gcc-interface/trans.c: Use hash_set instead of pointer_set. gcc/c-family/ * c-gimplify.c: Use hash_set instead of pointer_set. gcc/c/ * c-decl.c: Use hash_set instead of pointer_set. gcc/cp/ * class.c, cp-gimplify.c, cp-tree.h, decl.c, decl2.c, error.c, method.c, name-lookup.c, pt.c, semantics.c, tree.c: Use hash_set instead of pointer_set. gcc/fortran/ * openmp.c, trans-decl.c: Use hash_set instead of pointer_set. gcc/ * hash-set.h: new File. * cfgexpand.c, cfgloop.c, cgraph.c, cgraphbuild.c, cgraphunit.c, cprop.c, cse.c, gimple-walk.c, gimple-walk.h, gimplify.c, godump.c, ipa-devirt.c, ipa-pure-const.c, ipa-visibility.c, ipa.c, lto-cgraph.c, lto-streamer-out.c, stmt.c, tree-cfg.c, tree-core.h, tree-eh.c, tree-inline.c, tree-inline.h, tree-nested.c, tree-pretty-print.c, tree-ssa-loop-niter.c, tree-ssa-phiopt.c, tree-ssa-threadedge.c, tree-ssa-uninit.c, tree.c, tree.h, value-prof.c, varasm.c, varpool.c: Use hash_set instead of pointer_set. gcc/lto/ * lto-partition.c, lto-partition.h: Use hash_set instead of pointer_set. From-SVN: r213516
2014-08-01restrict.adb (Update_Restrictions): For restrictions with a maximum ↵Ed Schonberg3-16/+42
parameter (e.g. 2014-08-01 Ed Schonberg <schonberg@adacore.com> * restrict.adb (Update_Restrictions): For restrictions with a maximum parameter (e.g. number of protected entries in Ravenscar) do not compute the maximum of the violation over several objects, because the restriction is per-object. (Check_Restriction): After possible message, reset the value of of a checked max_parameter restriction to zero, to prevent cascaded errors. * sem_ch3.adb (Build_Derived_Private_Type): Use base of parent (sub)type to determine whether derived type should be on the list of private dependents of a type whose full view may become visible subsequently. From-SVN: r213483
2014-08-01[multiple changes]Arnaud Charlet7-32/+383
2014-08-01 Olivier Hainque <hainque@adacore.com> * gcc-interface/Make-lang.in (ADA_TOOLS_FLAGS_TO_PASS, native): use $(CXX) instead of ../../xg++ to feed CXX. (CXX_LFLAGS): Remove. Now unused as the proper flags are expected to be included in the CXX variable. 2014-08-01 Pierre-Marie Derodat <derodat@adacore.com> * gcc-interface/decl.c (elaborate_expression_1): Return the new variable when debug info is needed and the expression is not constant. Tag as external only new variables that are global. (gnat_to_gnu_entity): Call it after the GNU declaration is saved. * gcc-interface/trans.c (Attribute_to_gnu): Do not cache attributes for IN array parameters when their actual subtype needs debug info. (Compilation_Unit_to_gnu): Call it to process all remaining nodes. * gcc-interface/gigi.h (process_deferred_decl_context): New. * gcc-interface/utils.c (gnat_write_global_declarations): Do not emit debug info for ignored global declarations. (struct deferred_decl_context_node, add_deferred_decl_context, add_deferred_type_context, compute_deferred_decl_context, defer_or_set_type_context, deferred_decl_context_queue, get_debug_scope, get_global_context, process_deferred_decl_context): New. (gnat_pushdecl): Re-implement the DECL_CONTEXT and TYPE_CONTEXT computation machinery to rely on the GNAT Scope attribute. 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/utils2.c (build_simple_component_ref): Add guard. From-SVN: r213482
2014-08-01[multiple changes]Arnaud Charlet6-44/+111
2014-08-01 Robert Dewar <dewar@adacore.com> * sem_ch8.adb, opt.ads Minor comment updates. 2014-08-01 Hristian Kirtchev <kirtchev@adacore.com> * exp_intr.adb (Expand_Unc_Deallocation): Request a renaming from the side effects removal machinery. * exp_util.adb (Duplicate_Subexpr): Add formal parameter Renaming_Req. Update the nested call to Remove_Side_Effects. (Duplicate_Subexpr_No_Checks): Add formal parameter Renaming_Req. Update the nested call to Remove_Side_Effects. (Duplicate_Subexpr_Move_Checks): Add formal parameter Renaming_Req. Update the nested call to Remove_Side_Effects. (Remove_Side_Effects): Add formal parameter Renaming_Req. Generate an object renaming declaration when the caller requests it. * exp_util.ads (Duplicate_Subexpr): Add formal parameter Renaming_Req. Update comment on usage. (Duplicate_Subexpr_No_Checks): Add formal parameter Renaming_Req. (Duplicate_Subexpr_Move_Checks): Add formal parameter Renaming_Req. From-SVN: r213480
2014-08-01[multiple changes]Arnaud Charlet4-107/+121
2014-08-01 Bob Duff <duff@adacore.com> * gnat_ugn.texi: Minor updates. 2014-08-01 Robert Dewar <dewar@adacore.com> * atree.adb: Minor reformatting. 2014-08-01 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Init_Hidden_Discriminants): If some ancestor is a private extension, get stored constraint, if any, from full view. From-SVN: r213479
2014-08-01[multiple changes]Arnaud Charlet6-30/+172
2014-08-01 Robert Dewar <dewar@adacore.com> * opt.ads (No_Elab_Code_All_Pragma): New global variable. * sem_ch10.adb (Check_No_Elab_Code_All): New procedure (Analyze_Compilation_Unit): Call Check_No_Elab_Code_All (Analyze_Subunit_Context): Call Check_No_Elab_Code_All. * sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All): Remove code for checking with's, now in sem_ch10.adb, set Opt.No_Elab_Code_All_Pragma. 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> * sem_ch3.adb (Copy_And_Build): Copy the declaration for access types as well and adjust the subtype mark if there are no constraints. 2014-08-01 Robert Dewar <dewar@adacore.com> * sem_eval.adb (Test_In_Range): Return Unknown if error posted. From-SVN: r213478
2014-08-01sem_ch3.adb, [...]: Code clean ups.Robert Dewar4-13/+36
2014-08-01 Robert Dewar <dewar@adacore.com> * sem_ch3.adb, einfo.ads, exp_ch4.adb: Code clean ups. From-SVN: r213477
2014-08-01einfo.ads (Has_Private_Ancestor): Remove obsolete usage.Eric Botcazou5-211/+177
2014-08-01 Eric Botcazou <ebotcazou@adacore.com> * einfo.ads (Has_Private_Ancestor): Remove obsolete usage. * exp_ch4.adb (Expand_Composite_Equality): Add conversion of the actuals in the case of untagged record types too. * sem_ch3.adb (Build_Full_Derivation): New procedure to create the full derivation of a derived private type, extracted from... (Copy_And_Build): In the case of record types and most enumeration types, copy the original declaration. Build the full derivation according to the approach extracted from... (Build_Derived_Private_Type): ...here. Call Build_Full_Derivation to create the full derivation in all existing cases and also create it in the no-discriminants/discriminants case instead of deriving directly from the full view. (Is_Visible_Component): Remove obsolete code. * sem_aggr.adb (Resolve_Record_Aggregate): Likewise. From-SVN: r213476
2014-08-01Minor reformatting.Arnaud Charlet1-2/+2
From-SVN: r213474
2014-08-01fe.h (GNAT_Mode): New.Arnaud Charlet3-1/+10
* fe.h (GNAT_Mode): New. * gcc-interface/decl.c (gnat_to_gnu_entity): Do not error out on reverse SSO in GNAT mode. From-SVN: r213473
2014-08-01[multiple changes]Arnaud Charlet126-2572/+7146
2014-08-01 Thomas Quinot <quinot@adacore.com> * freeze.adb: Minor reformatting. 2014-08-01 Thomas Quinot <quinot@adacore.com> * exp_ch3.adb (Default_Initialize_Object): Do not generate default initialization for an imported object. 2014-08-01 Olivier Hainque <hainque@adacore.com> * seh_init.c (__gnat_map_SEH): Cast argument of IsBadCodePtr to the expected FARPROC type instead of void *. * adaint.c (f2t): Expect __time64_t * as second argument, in line with other datastructures. (__gnat_file_time_name_attr): Adjust accordingly. (__gnat_check_OWNER_ACL): Declare pSD as PSECURITY_DESCRIPTOR, in line with uses. (__gnat_check_OWNER_ACL): Declare AccessMode parameter as ACCESS_MODE instead of DWORD, in line with callers and uses. (__gnat_set_executable): Add ATTRIBUTE_UNUSED on mode, unused on win32. Correct cast of "args" on call to spawnvp. (add_handle): Cast realloc calls into their destination types. (win32_wait): Remove declaration and initialization of unused variable. (__gnat_locate_exec_on_path): Cast alloca calls into their destination types. * initialize.c (append_arg, __gnat_initialize): Cast xmalloc calls into their destination types. 2014-08-01 Gary Dismukes <dismukes@adacore.com> * exp_ch4.adb (Expand_N_Type_Conversion): Expand range checks for conversions between floating-point subtypes when the target and source types are the same. 2014-08-01 Robert Dewar <dewar@adacore.com> * exp_aggr.adb: Minor reformatting. 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> * sem_ch13.adb (Check_Indexing_Functions): Initialize Indexing_Found. 2014-08-01 Arnaud Charlet <charlet@adacore.com> * gnat1drv.adb (Gnat1drv): In gnatprove mode, we now write the ALI file before we call the backend (so that gnat2why can append to it). 2014-08-01 Thomas Quinot <quinot@adacore.com> * exp_pakd.adb (Expand_Bit_Packed_Element_Set, Expand_Packed_Element_Reference): Pass additional Rev_SSO parameter indicating whether the packed array type has reverse scalar storage order to the s-pack* Set/Get routines. * s-pack*.ad* (Get, Set, GetU, SetU): New formal Rev_SSO indicating reverse scalar storage order. 2014-08-01 Robert Dewar <dewar@adacore.com> * sem_ch3.adb (Check_Initialization): Set Do_Range_Check for initial component value in -gnatc or GNATprove mode. (Process_Discriminants): Same fix for default discriminant values. * sem_eval.adb (Test_In_Range): Improve accuracy of results by checking subtypes. 2014-08-01 Robert Dewar <dewar@adacore.com> * sinfo.ads: Minor comment clarification. From-SVN: r213471
2014-08-01[multiple changes]Arnaud Charlet9-47/+175
2014-08-01 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): Code reformatting. Store the generated pragma Import in the related subprogram as routine Wrap_Imported_Subprogram will need it later. * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): An item of a private type with discriminants is considered to fall in the category of unconstrained or tagged items. 2014-08-01 Arnaud charlet <charlet@adacore.com> * s-os_lib.adb (Open_Append): New functions to open a file for appending. This binds to the already existing (but not used) __gnat_open_append. * osint.ads, osint.adb (Open_File_To_Append_And_Check): New procedure to open a file for appending. * osint-c.ads, osint-c.adb (Open_Output_Library_Info): New procedure to open the ALI file for appending. From-SVN: r213470
2014-08-01[multiple changes]Arnaud Charlet10-28/+67
2014-08-01 Robert Dewar <dewar@adacore.com> * sem_ch8.adb: Minor reformatting. 2014-08-01 Yannick Moy <moy@adacore.com> * sem_ch13.adb (Insert_Pragma): Add special case for precondition pragmas from aspects, which need to be inserted in proper order. 2014-08-01 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Expand_Record_Aggregate, Init_Hidden_Discriminants): Handle properly a type extension that constrains a discriminated derived type that renames other discriminants of an ancestor. 2014-08-01 Thomas Quinot <quinot@adacore.com> * s-pack06.adb, s-pack10.adb, s-pack03.ads, s-pack12.adb, s-pack14.ads, s-pack25.adb: Fix minor inconsistencies and typos. From-SVN: r213469
2014-08-01sem_ch8.adb (Analyze_Subprogram_Renaming): Alphabetize globals and move ↵Hristian Kirtchev2-180/+447
certain variables to the "local variable" section. 2014-08-01 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch8.adb (Analyze_Subprogram_Renaming): Alphabetize globals and move certain variables to the "local variable" section. Call Build_Class_Wide_Wrapper when renaming a default actual subprogram with a class-wide actual. (Build_Class_Wide_Wrapper): New routine. (Check_Class_Wide_Actual): Removed. (Find_Renamed_Entity): Code reformatting. (Has_Class_Wide_Actual): Alphabetize. Change the logic of the predicate as the renamed name may not necessarely denote the correct subprogram. From-SVN: r213467
2014-08-01[multiple changes]Arnaud Charlet22-364/+396
2014-08-01 Eric Botcazou <ebotcazou@adacore.com> * sem_ch7.adb: Fix minor oversight in condition. 2014-08-01 Bob Duff <duff@adacore.com> * projects.texi: Minor documentation improvements. 2014-08-01 Robert Dewar <dewar@adacore.com> * aspects.ads, aspects.adb: Add aspect No_Elaboration_Code_All. * gnat_rm.texi: Document No_Elaboration_Code_All pragma and aspect. * lib-load.adb: Initialize No_Elab_Code_All field. * lib-writ.adb: Initialize No_Elab_Code_All. * lib.ads, lib.adb: New field No_Elab_Code_All. * par-prag.adb: Add dummy entry for pragma No_Elaboration_Code_All. * restrict.ads, restrict.adb: Restriction No_Elaboration_Code_All no longer exists. * sem_ch10.adb (Analyze_Context): Processing for No_Elaboration_Code_All removed. (Generate_Parent_References): Moved to Sem_Util. * sem_prag.adb: Add processing for pragma No_Elaboration_Code_All. * sem_util.ads, sem_util.adb (Get_Parent_Entity): Moved here from Sem_Ch10. * snames.ads-tmpl: Add entry for pragma No_Elaboration_Code_All. * targparm.adb: Minor comment updates Add comments on ignoring pragma No_Elaboration_Code_All. 2014-08-01 Nicolas Roche <roche@adacore.com> * adaint.c (__gnat_set_close_on_exec): Ensure that we can unset "close_on_exec" flag. 2014-08-01 Ed Schonberg <schonberg@adacore.com> * exp_ch9.adb (Build_Wrapper_Spec, Replicate_Formals): When building the parameter specs of the wrapper program for a primitive operation of a synchronized type that implements an interface, copy the null_exclusion indicator as well. 2014-08-01 Robert Dewar <dewar@adacore.com> * sem_eval.ads: Minor reformatting. From-SVN: r213466
2014-08-01exp_ch3.adb (Build_Initialization_Call): Call Underlying_Type to go down the ↵Eric Botcazou3-12/+18
chain of private derivations. 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> * exp_ch3.adb (Build_Initialization_Call): Call Underlying_Type to go down the chain of private derivations. * freeze.adb (Freeze_Entity): Fix typo in comment. From-SVN: r213465
2014-08-01sem_ch3.adb (Access_Type_Declaration): If designated type is a limited view...Ed Schonberg3-2/+45
2014-08-01 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Access_Type_Declaration): If designated type is a limited view, create a master entity (as is already done for class-wide types) in case the full view designates a type that contains tasks. * sem_ch8.adb (Find_Selected_Component): If prefix is a dereference and the designated type is a limited view, use the non-limited view if available. From-SVN: r213464
2014-08-01[multiple changes]Arnaud Charlet12-92/+162
2014-08-01 Hristian Kirtchev <kirtchev@adacore.com> * sem_attr.adb (Analyze_Attribute): Preanalyze and resolve the prefix of attribute Loop_Entry. * sem_prag.adb (Analyze_Pragma): Verify the placement of pragma Loop_Variant with respect to an enclosing loop (if any). (Contains_Loop_Entry): Update the parameter profile and all calls to this routine. * sem_res.adb (Resolve_Call): Code reformatting. Do not ask for the corresponding body before determining the nature of the ultimate alias's declarative node. 2014-08-01 Robert Dewar <dewar@adacore.com> * gnat1drv.adb, sem_ch4.adb: Minor reformatting. 2014-08-01 Robert Dewar <dewar@adacore.com> * sem_eval.adb (Rewrite_In_Raise_CE): Don't try to reuse inner constraint error node since it is a list member. 2014-08-01 Robert Dewar <dewar@adacore.com> * sem_warn.adb: Minor reformatting. 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> * einfo.adb (Underlying_Type): Return the underlying full view of a private type if present. * freeze.adb (Freeze_Entity): Build a single freeze node for partial, full and underlying full views, if any. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Private_Type>: Add a missing guard before the access to the Underlying_Full_View. * gcc-interface/trans.c (process_freeze_entity): Deal with underlying full view if present. * gcc-interface/utils.c (make_dummy_type): Avoid superfluous work. From-SVN: r213463
2014-08-01ada-tree.h (DECL_BY_DESCRIPTOR_P): Delete.Arnaud Charlet8-1518/+314
2014-08-01 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/ada-tree.h (DECL_BY_DESCRIPTOR_P): Delete. (DECL_FUNCTION_STUB): Likewise. (SET_DECL_FUNCTION_STUB): Likewise. (DECL_PARM_ALT_TYPE): Likewise. (SET_DECL_PARM_ALT_TYPE): Likewise. (TYPE_VAX_FLOATING_POINT_P): Delete. (TYPE_DIGITS_VALUE): Likewise. (SET_TYPE_DIGITS_VALUE): Likewise. * gcc-interface/gigi.h (standard_datatypes): Remove ADT_malloc32_decl. (malloc32_decl): Delete. (build_vms_descriptor): Likewise. (build_vms_descriptor32): Likewise. (fill_vms_descriptor): Likewise. (convert_vms_descriptor): Likewise. (TARGET_ABI_OPEN_VMS): Likewise. (TARGET_MALLOC64): Likewise. * gcc-interface/decl.c (add_parallel_type_for_packed_array): New. (gnat_to_gnu_entity): Call it to add the original type as a parallel type to the implementation type of a packed array type. <E_Procedure>: Remove now obsolete kludge. <E_Exception>: Delete obsolete comment. <object>: Small tweak. <E_Subprogram_Type>: Remove support for stub subprograms, as well as for the descriptor passing mechanism. (gnat_to_gnu_param): Likewise. * gcc-interface/misc.c (gnat_init_gcc_fp): Remove special case. (gnat_print_type): Adjust. * gcc-interface/trans.c (gigi): Remove obsolete initializations. (vms_builtin_establish_handler_decl): Delete. (gnat_vms_condition_handler_decl): Likewise. (establish_gnat_vms_condition_handler): Likewise. (build_function_stub): Likewise. (Subprogram_Body_to_gnu): Do not call above functions. (Call_to_gnu): Remove support for the descriptor passing mechanism. * gcc-interface/utils.c (make_descriptor_field): Delete. (build_vms_descriptor32): Likewise. (build_vms_descriptor): Likewise. (fill_vms_descriptor): Likewise. (convert_vms_descriptor64): Likewise. (convert_vms_descriptor32): Likewise. (convert_vms_descriptor): Likewise. * gcc-interface/utils.c (unchecked_convert): Likewise. * gcc-interface/utils2.c (maybe_wrap_malloc): Remove obsolete stuff. 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/trans.c (gigi): Use gnat_to_gnu_type for the exception type and get_unpadded_type for the longest FP type. (Attribute_to_gnu) <Machine>: Compare the precision of the types. (convert_with_check): Adjust formatting and remove FIXME. 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Do not convert the RM bounds to the base type. (E_Floating_Point_Subtype): Likewise. (E_Array_Subtype): Convert the bounds to the base type. * gcc-interface/trans.c (get_type_length): New function. (Attribute_to_gnu) <Range_Length>: Call it. <Length>: Likewise. (Loop_Statement_to_gnu): Convert the bounds to the base type. (gnat_to_gnu) <N_In>: Likewise. * gcc-interface/utils.c (make_type_from_size): Do not convert the RM bounds to the base type. (create_range_type): Likewise. (convert): Convert the bounds to the base type for biased types. * gcc-interface/utils2.c (compare_arrays): Convert the bounds to the base type. 2014-08-01 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/trans.c (gnat_to_gnu) <N_Selected_Component>: Remove incorrect implicit type derivation. * gcc-interface/utils.c (max_size) <tcc_reference>: Convert the bounds to the base type. From-SVN: r213462
2014-08-01sem_res.adb (Resolve_Entry_Call): When an entry has preconditions...Ed Schonberg2-1/+14
2014-08-01 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Entry_Call): When an entry has preconditions, the entry call is wrapped in a procedure call that incorporates the precondition checks. To prevent a double expansion, with possible duplication of extra formals, that procedure call must only be pre-analyzed and resolved. Expansion takes place upon return to the caller Resolve_Call. From-SVN: r213461
2014-08-01[multiple changes]Arnaud Charlet3-5/+29
2014-08-01 Hristian Kirtchev <kirtchev@adacore.com> * sem_res.adb (Resolve_Call): Do not perform GNATprove-specific inlining while within a generic. 2014-08-01 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Analyze_Case_Expression): Handle properly a case expression with incompatible alternatives, when the first alternative is overloaded. From-SVN: r213460
2014-08-01[multiple changes]Arnaud Charlet4-17/+31
2014-08-01 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Check_Parameterless_Call): Use Relocate_Node to create the name of the parameterless call, rather than New_Copy, to preserve the tree structure when the name is a complex expression, e.g. a selected component that denotes a protected operation, whose prefix is itself a selected component. 2014-08-01 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use Unit_Declaration_Node to retrieve body when inlining, to handle properly subprogram child units. 2014-08-01 Robert Dewar <dewar@adacore.com> * sem_attr.adb: Minor reformatting. From-SVN: r213459
2014-08-01[multiple changes]Arnaud Charlet9-15/+48
2014-08-01 Vincent Celier <celier@adacore.com> * debug.adb: Minor documentation addition for -dn switch. 2014-08-01 Robert Dewar <dewar@adacore.com> * sem_aggr.adb, exp_ch9.adb, sem_prag.adb, sem_util.adb, sem_attr.adb, sem_eval.ads, sem_cat.adb, sem_ch13.adb: Improve documentation of Is_Static_Expression vs Is_OK_Static_Expression. In several places, use the Is_OK version as suggested by the spec. 2014-08-01 Vincent Celier <celier@adacore.com> * gnatcmd.adb: Revert last change which was not correct. 2014-08-01 Hristian Kirtchev <kirtchev@adacore.com> * freeze.adb (Find_Constant): Ensure that the constant being inspected is still an object declaration (i.e. not a renaming). From-SVN: r213458
2014-08-01[multiple changes]Arnaud Charlet10-31/+110
2014-08-01 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Loop_Parameter_Specification): a) An attribute_reference to Loop_Entry denotes an iterator specification: its prefix is an object, as is the case for 'Old. b) If the domain of iteration is an expression whose type has the Iterable aspect defined, this is an iterator specification. 2014-08-01 Robert Dewar <dewar@adacore.com> * gnatcmd.adb: Minor reformatting. 2014-08-01 Robert Dewar <dewar@adacore.com> * atree.ads (Info_Messages): New counter. * err_vars.ads: Minor comment update. * errout.adb (Delete_Warning_And_Continuations): Deal with new Info_Messages counter. (Error_Msg_Internal): ditto. (Delete_Warning): ditto. (Initialize): ditto. (Write_Error_Summary): ditto. (Output_Messages): ditto. (To_Be_Removed): ditto. * erroutc.adb (Delete_Msg): Deal with Info_Messages counter. (Compilation_Errors): ditto. * errutil.adb (Error_Msg): Deal with Info_Messages counter. (Finalize): ditto. (Initialize): ditto. * sem_prag.adb (Analyze_Pragma): Minor comment addition. * gnat_ugn.texi: Document that -gnatwe does not affect info messages. From-SVN: r213457
2014-08-01[multiple changes]Arnaud Charlet4-3/+49
2014-08-01 Robert Dewar <dewar@adacore.com> * debug.adb: Document debug switch -gnatd.Z. * sem.adb (Semantics): Force expansion on in no or configurable run time mode. 2014-08-01 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Loop_Parameter_Specification): An unchecked conversion denotes an iterator specification. Such a conversion will be inserted in the context of an inlined call when needed, and its argument is always an object. From-SVN: r213456
2014-08-01[multiple changes]Arnaud Charlet6-85/+88
2014-08-01 Robert Dewar <dewar@adacore.com> * make.adb, makeutl.ads: Minor reformatting. * debug.adb, opt.ads: Clarify documentation of Front_End_Inlining and Back_End_Inlining. 2014-08-01 Tristan Gingold <gingold@adacore.com> * gnatcmd.adb (GNATCmd): Set AAMP_On_Target using command name. From-SVN: r213453
2014-08-01gnat1drv.adb (Adjust_Global_Switches): Reverse meaning of -gnatd.z.Javier Miranda4-18/+25
2014-08-01 Javier Miranda <miranda@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Reverse meaning of -gnatd.z. * debug.adb: Updating documentation. * exp_ch6.adb (Expand_Call): Remove assertion. From-SVN: r213452
2014-08-01[multiple changes]Arnaud Charlet13-28/+51
2014-08-01 Robert Dewar <dewar@adacore.com> * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_util.adb, sem_res.adb: Minor reformatting. 2014-08-01 Vincent Celier <celier@adacore.com> * make.adb (Initialize): Set Keep_Temporary_Files to True when -dn is specified. * makeusg.adb: Add line for new switch --keep-temp-files. * makeutl.ads (Keep_Temp_Files_Option): New constant String. * opt.ads (Keep_Temporary_Files): Document that it is also used by gnatmake and gprbuild. * switch-m.adb: Recognize new switch --keep-temp-files. From-SVN: r213451
2014-08-01[multiple changes]Arnaud Charlet10-66/+187
2014-08-01 Tristan Gingold <gingold@adacore.com> * sem_ch9.adb (Analyze_Task_Type_Declaration): Move code from ... * exp_ch9.adb (Make_Task_Create_Call): ... here. 2014-08-01 Vincent Celier <celier@adacore.com> * gnat1drv.adb: Do not try to get the target parameters when invoked with -gnats. 2014-08-01 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Find_Last_Init): Nothing to do for an object declaration subject to No_Initialization. 2014-08-01 Ed Schonberg <schonberg@adacore.com> * sem_aggr.adb (Resolve_Array_Aggregate): Reject choice that is a subtype with dynamic predicates, or a non-static subtype with predicates. * sem_ch3.adb (Analyze_Number_Declaration): Reject qualified expression if subtype has a dynamic predicate. (Constrain_Index): Reject subtype indication if subtype mark has predicates. (Inerit_Predicate_Flags): Inherit Has_Predicates as well. (Make_Index): If index is a subtype indication, itype inhereits predicate flags for subsequent testing. * sem_ch5.adb (Analyze_Loop_Parameter_Specification): New procedure Check_Predicate_Use, to reject illegal uses of domains of iteration that have dynamic predicates. * sem_res.adb (Resolve_Slice): Reject slices given by a subtype indication to which a predicate applies. * sem_util.adb (Bad_Predicated_Subtype_Use): Add guard to prevent cascaded errors when subtype is invalid. From-SVN: r213450
2014-08-01[multiple changes]Arnaud Charlet7-26/+94
2014-08-01 Robert Dewar <dewar@adacore.com> * sem_ch10.adb: Minor reformatting. 2014-08-01 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Same_Generic_Actual): Make function symmetric, because either type may be a subtype of the other. 2014-08-01 Vincent Celier <celier@adacore.com> * makeusg.adb: Add documentation for debug switch -dn. 2014-08-01 Ed Schonberg <schonberg@adacore.com> * sem_dim.adb (Process_Minus, Process_Divide): Label dimension expression with standard operator and type, for pretty-printing use, when in ASIS_Mode. When generating code dimensional analysis is not involved and dimension expressions are handled statically, and other operators are resolved in the usual way. 2014-08-01 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Build_Derived_Record_Type): Remove setting of Parent_Subtype in ASIS mode, leads to several failures. * sem_ch4.adb (Analyze_Selected_Component): In an instance, if the prefix is a type extension, check whether component is declared in the parent type, possibly in a parent unit. Needed in ASIS mode when Parent_Subtype is not set. From-SVN: r213449
2014-08-01[multiple changes]Arnaud Charlet6-14/+58
2014-08-01 Robert Dewar <dewar@adacore.com> * sem_prag.adb: Minor reformatting. * s-regpat.adb: Minor reformatting. * sem_ch3.adb (Analyze_Object_Declaration): Do not set Treat_As_Volatile on constants. 2014-08-01 Tristan Gingold <gingold@adacore.com> * exp_ch9.adb (Make_Task_Create_Call): Improve error message. 2014-08-01 Ed Schonberg <schonberg@adacore.com> * sem_ch10.adb (Analyze_Compilation_Unit): Do not place a warning on a with_clause created for the renaming of a parent unit in an explicit with_clause. From-SVN: r213448
2014-08-01[multiple changes]Arnaud Charlet5-28/+97
2014-08-01 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications, case Aspect_Import): Set Is_Imported flag at once, to simplify subsequent legality checks. Reject the aspect on an object whose declaration has an explicit initial value. * sem_prag.adb (Process_Import_Or_Interface): Use original node to check legality of an initial value for an imported entity. Set Is_Imported flag in case of error to prevent cascaded errors. Do not set the Is_Imported flag if the pragma comes from an aspect, because it is already done when analyzing the aspect. 2014-08-01 Emmanuel Briot <briot@adacore.com> * g-regpat.adb (Parse): Add support for non-capturing parenthesis. From-SVN: r213447
2014-08-01[multiple changes]Arnaud Charlet12-73/+322
2014-08-01 Robert Dewar <dewar@adacore.com> * sem_ch7.adb, einfo.adb, einfo.ads, sem_ch13.adb: Minor change of identifier name. 2014-08-01 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch3.adb (Analyze_Object_Contract): Enable the volatility checks when the related variable comes from source. * sem_res.adb (Resolve_Actuals): Enable the volatility checks when the related actual parameter comes from source. Update comment. * freeze.adb (Freeze_Record_Type): Do not freeze the designated type of an array of pointers when the designated type is class-wide and its root type is the record being currently frozen. 2014-08-01 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Iterator_Specification): Preserve Ekind of renaming declaration created for domain of iteration. * sem_aggr.adb (Resolve_Array_Aggregate): Better placement for error messages on aggregates whose index subtypes have predicates. The new placement avoids posting messages on previous subtype declarations rather than on the aggregate itself. * sem_disp.adb (Is_Inherited_Public_Operation): New predicate for Add_Dispatching_Operation, to handle properly the overriding of the predefined operations on controlled types, when the partial view of a type is not visibly controlled. 2014-08-01 Ben Brosgol <brosgol@adacore.com> * gnat_ugn.texi: Add tutorial on portable fixed-point types as an appendix. From-SVN: r213446
2014-08-01[multiple changes]Arnaud Charlet8-31/+47
2014-08-01 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb (Is_Hidden_Non_Overridden_Subprogram): Remove the assertion check as the attribute is defined for all entities. (Set_Is_Hidden_Non_Overridden_Subprogram): Remove the assertion check as the attribute is defined for all entities. * einfo.ads Update the documentation of attribute Is_Hidden_Non_Overridden_Subprogram. * sem_ch7.adb (Install_Package_Entity): No need to check the entity kind of the Id. * sem_ch13.adb (Hide_Matching_Homograph): Update the comment on usage. Ensure that the homographs are of the same entity kind and not fully conformant. (Hide_Non_Overridden_Subprograms): Update the comment on usage. 2014-08-01 Robert Dewar <dewar@adacore.com> * inline.adb: Minor code reorganization. * sem_ch12.adb, s-tasdeb.ads: Minor reformatting. From-SVN: r213445
2014-08-01[multiple changes]Arnaud Charlet6-3/+71
2014-08-01 Robert Dewar <dewar@adacore.com> * inline.adb, s-os_lib.ads: Minor reformatting. 2014-08-01 Arnaud Charlet <charlet@adacore.com> * s-tasdeb.ads, s-tasdeb.adb (Master_Hook, Master_Completed_Hook): New. * s-tassta.adb (Task_Wrapper, Vulnerable_Complete_Master): Call new hooks. From-SVN: r213444
2014-08-01[multiple changes]Arnaud Charlet6-16/+38
2014-08-01 Yannick Moy <moy@adacore.com> * inline.adb (Cannot_Inline): Issue info message instead of warning for subprograms not inlined in GNATprove mode. * sem_res.adb (Resolve_Call): Take body into account for deciding whether subprogram can be inlined in GNATprove mode or not. 2014-08-01 Claire Dross <dross@adacore.com> * exp_util.ads (Get_First_Parent_With_Ext_Axioms_For_Entity): Renaming of Get_First_Parent_With_External_Axiomatization_For_Entity for shorter. * sem_ch12.adb (Analyze_Associations): Only call Build_Wrapper for parameters of packages with external axiomatization. From-SVN: r213443
2014-08-01[multiple changes]Arnaud Charlet9-36/+33
2014-08-01 Robert Dewar <dewar@adacore.com> * sem_res.adb: Minor comment addition. 2014-08-01 Arnaud Charlet <charlet@adacore.com> * s-crtl.ads, i-cstrea.ads, adaint.c, adaint.h, osint.adb, s-fileio.adb (__gnat_fopen, __gnat_freopen): Remove vms_form parameter, no longer used. * s-os_lib.ads: Minor reformatting. From-SVN: r213441
2014-08-01[multiple changes]Arnaud Charlet22-118/+133
2014-08-01 Arnaud Charlet <charlet@adacore.com> * exp_attr.adb (Is_Inline_Floating_Point_Attribute): Restore more completely previous code since only GCC back-ends are prepared to handle e.g. 'Machine attribute. * targparm.adb, targparm.ads: Remove remaining refs and handling of OpenVMS_On_Target, VAX_Float_On_Target and RTX_RTSS_Kernel_Module_On_Target. * hostparm.ads (OpenVMS, Max_Debug_Name_Length): Removed, no longer used. 2014-08-01 Robert Dewar <dewar@adacore.com> * exp_dist.adb, exp_attr.adb: Minor reformatting. * sem_ch3.adb, mlib-tgt-specific-hpux.adb, a-direct.ads, a-synbar-posix.adb, exp_ch9.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem.ads, sem_res.adb, s-exctra.adb, s-soflin.ads, g-alveop.ads, sem_ch8.adb, vxaddr2line.adb, sem_cat.ads: Remove improper use of shall. From-SVN: r213440
2014-08-01sem_aggr.adb, [...]: Minor reformatting & code reorganization.Robert Dewar11-92/+94
2014-08-01 Robert Dewar <dewar@adacore.com> * sem_aggr.adb, exp_atag.adb, layout.adb, nlists.adb, nlists.ads, exp_attr.adb, exp_ch9.adb, par-ch12.adb, exp_aggr.adb, exp_ch3.adb: Minor reformatting & code reorganization. From-SVN: r213439
2014-08-01[multiple changes]Arnaud Charlet24-2846/+86
2014-08-01 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Remove VMS specific rules for pragma Ident. * Makefile.rtl, adaint.c, gnat_rm.texi, s-asthan.adb, s-asthan.ads, s-filofl.ads, s-fishfl.ads, s-fvadfl.ads, s-fvaffl.ads, s-fvagfl.ads, s-po32gl.adb, s-po32gl.ads, s-vaflop.adb, s-vaflop.ads, s-vmexta.adb, s-vmexta.ads, sem_vfpt.adb, sem_vfpt.ads, socket.c: Remove VMS specific code. * gcc-interface/decl.c, gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Ditto. Also remove refs to rTX. 2014-08-01 Pascal Obry <obry@adacore.com> * s-os_lib.ads: Rename File_Size to Large_File_Size. From-SVN: r213438
2014-08-01a-numaux-vxworks.ads, [...]: Fix bad package header comments.Robert Dewar45-766/+145
2014-08-01 Robert Dewar <dewar@adacore.com> * a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads, a-numaux-darwin.adb, a-numaux-darwin.ads, a-numaux.ads, a-numaux-libc-x86.ads: Fix bad package header comments. * elists.ads, elists.adb (Append_New_Elmt): New procedure. * gnat_rm.texi, a-calend.adb, gnatcmd.adb, einfo.adb, einfo.ads, checks.adb, sem_prag.adb, sem_prag.ads, rtsfind.ads, freeze.adb, sem_util.adb, sem_attr.adb, exp_dbug.adb, exp_dbug.ads, gnat1drv.adb, targparm.adb, targparm.ads, exp_ch6.adb, switch-b.adb, s-shasto.ads, stand.ads, s-auxdec.ads, opt.adb, opt.ads, mlib-tgt.ads, s-fatgen.adb, s-fatgen.ads, system.ads, snames.ads-tmpl, s-stalib.ads, s-os_lib.adb: Remove VMS-specific code. From-SVN: r213437
2014-08-01exp_attr.adb (Is_Inline_Floating_Point_Attribute): Revert to previous state ↵Arnaud Charlet2-3/+19
in CodePeer_Mode. 2014-08-01 Arnaud Charlet <charlet@adacore.com> * exp_attr.adb (Is_Inline_Floating_Point_Attribute): Revert to previous state in CodePeer_Mode. From-SVN: r213435