aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-09-01Add missing prototypes.Arnaud Charlet2-0/+6
From-SVN: r178419
2011-09-01[multiple changes]Arnaud Charlet12-127/+260
2011-09-01 Robert Dewar <dewar@adacore.com> * sem_ch3.adb, s-taprop-linux.adb, gnatls.adb: Minor reformatting. 2011-09-01 Jose Ruiz <ruiz@adacore.com> * adaint.h (__gnat_cpu_free): Fix the name of this profile. * adaint.c (__gnat_cpu_alloc, __gnat_cpu_alloc_size, __gnat_cpu_free, __gnat_cpu_zero, __gnat_cpu_set): Create version of these subprograms specific for systems where their glibc version does not define the routines to handle dynamically allocated CPU sets. 2011-09-01 Vincent Celier <celier@adacore.com> * prj-proc.adb, prj.ads, prj-nmsc.adb, prj-util.adb, prj-util.ads, prj-env.adb: Implement inheritance of naming exceptions in extending projects. From-SVN: r178418
2011-09-01[multiple changes]Arnaud Charlet4-121/+180
2011-09-01 Romain Berrendonner <berrendo@adacore.com> * gnatls.adb: Display simple message instead of content of gnatlic.adl. 2011-09-01 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch3.adb: (Build_Derived_Record_Type) Remove the kludgy update of access discriminant and anonymous access component scopes. (Inherit_Component): Reuse the itype of an access discriminant or anonymous access component by copying it in order to set the proper scope. This is done only when the parent and the derived type are in different scopes. (Set_Anonymous_Etype): New routine. 2011-09-01 Robert Dewar <dewar@adacore.com> * a-convec.adb: Minor reformatting throughout. From-SVN: r178417
2011-09-01adaint.c, adaint.h (__gnat_cpu_alloc, [...]): Create these wrappers around ↵Jose Ruiz6-48/+117
the CPU_ALLOC... 2011-09-01 Jose Ruiz <ruiz@adacore.com> * adaint.c, adaint.h (__gnat_cpu_alloc, __gnat_cpu_alloc_size, __gnat_cpu_set_free): Create these wrappers around the CPU_ALLOC, CPU_ALLOC_SIZE and CPU_FREE linux macros. (__gnat_cpu_zero, __gnat_cpu_set): Use the CPU_ZERO_S and CPU_SET_S respectively because we are now using dynamically allocated CPU sets which are more portable across different glibc versions. * s-osinte-linux.ads (cpu_set_t_ptr, CPU_ALLOC, CPU_ALLOC_SIZE, CPU_FREE): Add this type and subprograms to be able to create cpu_set_t masks dynamically according to the number of processors in the target platform. (CPU_ZERO, CPU_SET): They are now mapped to the CPU_ZERO_S and CPU_SET_S respectively, so we need to pass the size of the masks as parameters. * s-taprop-linux.adb (Create_Task, Set_Task_Affinity): Use dynamically created cpu_set_t masks with the number of processors available in the target platform, instead of static bit arrays. It enhances portability because it uses the information from the target platform. * sem_ch8.adb: (Attribute_Renaming): When checking whether we are using a restricted run-time library, use the flag Configurable_Run_Time_Mode instead of Restricted_Profile. From-SVN: r178416
2011-09-01[multiple changes]Arnaud Charlet4-7/+36
2011-09-01 Vincent Celier <celier@adacore.com> * ug_words: Add /MULTI_UNIT_INDEX= -> -gnateI * vms_data.ads: Add new VMS qualifier equivalent for -gnateInnn 2011-09-01 Nicolas Roche <roche@adacore.com> * adaint.c (__gnat_tmp_name): Don't use tmpnam function from the system on VxWorks in kernel mode. From-SVN: r178415
2011-09-01[multiple changes]Arnaud Charlet12-266/+302
2011-09-01 Jose Ruiz <ruiz@adacore.com> * s-taprop-linux.adb (Create_Task, Set_Task_Affinity): Use the linux macros for handling CPU sets (CPU_ZERO, CPU_SET) instead of modifying directly the bit array. * s-osinte-linux.ads (CPU_ZERO, CPU_SET): Import these wrappers around the linux macros with the same name. * adaint.h, adaint.c (__gnat_cpu_zero, __gnat_cpu_set): Create these wrappers around the CPU_ZERO and CPU_SET linux macros. 2011-09-01 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Find_Insertion_List): Removed. (Process_Transient_Objects): Insert the declarations of the hook access type and the hook object before the associated transient object. 2011-09-01 Jose Ruiz <ruiz@adacore.com> * sem_ch8.adb (Attribute_Renaming): Add missing check to avoid loading package System.Aux_Dec when using restricted run-time libraries which do not have this package. 2011-09-01 Tristan Gingold <gingold@adacore.com> * s-vaflop-vms-alpha.adb: Remove pragma optimize, useless. 2011-09-01 Bob Duff <duff@adacore.com> * sem_attr.adb (Analyze_Access_Attribute): Do not call Kill_Current_Values for P'Unrestricted_Access, where P is library level 2011-09-01 Thomas Quinot <quinot@adacore.com> * exp_ch5.adb: Minor reformatting * gnat_ugn.texi: Fix minor typos. * gcc-interface/Make-lang.in: Update dependencies. From-SVN: r178414
2011-09-01[multiple changes]Arnaud Charlet4-8/+21
2011-09-01 Robert Dewar <dewar@adacore.com> * inline.adb, sem_aggr.adb: Minor reformatting. 2011-09-01 Ed Schonberg <schonberg@adacore.com> * a-convec.adb: Proper handling of cursors for Ada2012 iterators. From-SVN: r178413
2011-09-01[multiple changes]Arnaud Charlet6-16/+36
2011-09-01 Robert Dewar <dewar@adacore.com> * prj-proc.adb, exp_ch6.adb, prj-env.adb: Minor reformatting. 2011-09-01 Bob Duff <duff@adacore.com> * sem_aggr.adb (Resolve_Aggregate): Need to treat "in instance body" the same as "in inlined body", because visibility shouldn't apply there. 2011-09-01 Eric Botcazou <ebotcazou@adacore.com> * inline.adb (Add_Inlined_Body): Refine previous change. From-SVN: r178412
2011-09-01[multiple changes]Arnaud Charlet6-58/+123
2011-09-01 Gary Dismukes <dismukes@adacore.com> * exp_ch6.ads (Needs_BIP_Alloc_Form): New utility function. * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Test for case where call initializes an object of a return statement before testing for a constrained call, to ensure that all such cases get handled by simply passing on the caller's parameters. Also, in that case call Needs_BIP_Alloc_Form to determine whether to pass on the BIP_Alloc_Form parameter of the enclosing function rather than testing Is_Constrained. Add similar tests for the return of a BIP call to later processing to ensure consistent handling. (Needs_BIP_Alloc_Form): New utility function. * sem_ch6.adb: (Create_Extra_Formals): Replace test for adding a BIP_Alloc_Form formal with call to new utility function Needs_BIP_Alloc_Form. 2011-09-01 Pascal Obry <obry@adacore.com> * prj-part.adb: Minor reformatting. 2011-09-01 Vincent Celier <celier@adacore.com> * prj-env.adb (Create_Mapping_File.Process): Encode the upper half character in the unit name. From-SVN: r178411
2011-09-01[multiple changes]Arnaud Charlet4-23/+40
2011-09-01 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb: Minor code and comment reformatting. 2011-09-01 Thomas Quinot <quinot@adacore.com> * exp_ch6.adb (Expand_Inlined_Call): Remove redundant tests for Is_Limited_Type and Is_Tagged_Type in condition checking for by-reference type. * inline.adb (Add_Inlined_Body): Only exclude init_procs. Other subprograms may have a completion because of a previous Inline_Always clause, but the enclosing package must be marked inlined for the subprogram body to become visible to the backend. From-SVN: r178410
2011-09-01sem_aux.adb, [...]: Minor reformattingThomas Quinot3-5/+9
2011-09-01 Thomas Quinot <quinot@adacore.com> * sem_aux.adb, exp_ch4.adb: Minor reformatting From-SVN: r178409
2011-09-01expr.c (expand_expr_real_2): Move COND_EXPR and VEC_COND_EXPR handling here, ↵Richard Guenther14-187/+220
from ... 2011-08-31 Richard Guenther <rguenther@suse.de> * expr.c (expand_expr_real_2): Move COND_EXPR and VEC_COND_EXPR handling here, from ... (expand_expr_real_1): ... here. * gimple-pretty-print.c (dump_ternary_rhs): Handle COND_EXPR and VEC_COND_EXPR. * gimple.c (gimple_rhs_class_table): Make COND_EXPR and VEC_COND_EXPR a GIMPLE_TERNARY_RHS. * tree-cfg.c (verify_gimple_assign_ternary): Handle COND_EXPR and VEC_COND_EXPR here ... (verify_gimple_assign_single): ... not here. * gimple-fold.c (fold_gimple_assign): Move COND_EXPR folding. * tree-object-size.c (cond_expr_object_size): Adjust. (collect_object_sizes_for): Likewise. * tree-scalar-evolution.c (interpret_expr): Don't handle ternary RHSs. * tree-ssa-forwprop.c (forward_propagate_into_cond): Fix and simplify. (ssa_forward_propagate_and_combine): Adjust. * tree-ssa-loop-im.c (move_computations_stmt): Build the COND_EXPR as ternary. * tree-ssa-threadedge.c (fold_assignment_stmt): Adjust. * tree-vect-loop.c (vect_is_simple_reduction_1): Likewise. * tree-vect-stmt.c (vectorizable_condition): Likewise. * tree-vrp.c (extract_range_from_cond_expr): Likewise. (extract_range_from_assignment): Likewise. From-SVN: r178408
2011-09-01[multiple changes]Arnaud Charlet6-50/+68
2011-09-01 Pascal Obry <obry@adacore.com> * prj-proc.adb, prj.ads, sinput-p.adb: Minor reformatting. 2011-09-01 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Generate references to the formals of a subprogram stub that acts as a spec. 2011-09-01 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Expand_Inlined_Call): If an actual is a by_reference type, declare a renaming for it, not an object declaration. From-SVN: r178407
2011-09-01[multiple changes]Arnaud Charlet10-58/+145
2011-09-01 Yannick Moy <moy@adacore.com> * ali-util.adb, ali-util.ads (Read_Withed_ALIs): Add parameter Ignore_Errors to ignore failures to read ALI files when True. 2011-09-01 Javier Miranda <miranda@adacore.com> * exp_ch3.adb (Expand_N_Object_Declaration): Handle non-default constructor calls associated with non-tagged record types. 2011-09-01 Robert Dewar <dewar@adacore.com> * g-socthi-vms.adb: Minor reformatting. 2011-09-01 Nicolas Roche <roche@adacore.com> * sysdep.c: Don't use macro functions for stdio functions on VxWorks in order to avoid impact of imcompatible changes. * cstreams.c: Likewise * cio.c: Likewise * aux-io.c: Likewise 2011-09-01 Yannick Moy <moy@adacore.com> * lib-writ.adb (Write_With_Lines): Always output complete information on "with" line in Alfa mode, as this is required by formal verification back-end. From-SVN: r178406
2011-09-01[multiple changes]Arnaud Charlet3-6/+16
2011-09-01 Tristan Gingold <gingold@adacore.com> * g-socthi-vms.adb: Add comments. 2011-09-01 Pascal Obry <obry@adacore.com> * prj.ads: Minor reformatting. From-SVN: r178405
2011-09-01[multiple changes]Arnaud Charlet3-2/+21
2011-09-01 Vincent Celier <celier@adacore.com> * prj-env.adb (Create_Config_Pragmas_File.Check): Put all naming exceptions in the config pragmas file. 2011-09-01 Tristan Gingold <gingold@adacore.com> * gnat_ugn.texi: Document GNAT_STACK_SIZE on IVMS. From-SVN: r178404
2011-09-01[multiple changes]Arnaud Charlet3-41/+204
2011-09-01 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Find_Insertion_List): New routine. (Process_Transient_Objects): Add code to handle the abnormal finalization of a controlled transient associated with a subprogram call. Since transients are cleaned up right after the associated context, an exception raised during a subprogram call may bypass the finalization code. 2011-09-01 Robert Dewar <dewar@adacore.com> * exp_ch6.adb (Expand_Call): Check actual for aliased parameter is aliased. From-SVN: r178403
2011-09-01exp_ch4.adb, [...]: Minor reformatting.Robert Dewar3-20/+27
2011-09-01 Robert Dewar <dewar@adacore.com> * exp_ch4.adb, a-exexda.adb: Minor reformatting. From-SVN: r178402
2011-09-01[multiple changes]Arnaud Charlet11-51/+141
2011-09-01 Robert Dewar <dewar@adacore.com> * s-taskin.ads, s-tassta.adb, sem_ch13.adb: Minor reformatting. 2011-09-01 Thomas Quinot <quinot@adacore.com> * Makefile.rtl: Move s-oscons.o from GNATRTL_TASKING_OBJS to GNATRTL_NONTASKING_OBJS. 2011-09-01 Robert Dewar <dewar@adacore.com> * einfo.ads (Is_Aliased): Fix existing documentation and add note on possibility of this flag being set for formals in Ada 2012 mode. * par-ch6.adb (P_Formal_Part): Handle aliased for parameters for Ada 2012. * sem_ch6.adb (Process_Formals): Handle aliased parameters in Ada 2012 mode. * sinfo.adb (Aliased_Present): Allowed in N_Parameter_Specification for Ada 2012. * sinfo.ads (Aliased_Present): Allowed in N_Parameter_Specification for Ada 2012. 2011-09-01 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Find_Insertion_Node): New routine. Determines the proper insertion node in a tree of nested Expression_With_Actions nodes. (Process_Transient_Object): In the case where a complex if statement has been converted into nested Expression_With_Actions nodes, the "hook" object and the associated access type must be inserted before the top most Expression_With_Actions. From-SVN: r178401
2011-09-01[multiple changes]Arnaud Charlet15-41/+165
2011-09-01 Robert Dewar <dewar@adacore.com> * a-cbprqu.adb, a-cbprqu.ads, a-cuprqu.adb, a-cuprqu.ads, a-cbsyqu.adb, a-cbsyqu.ads: Minor reformatting. 2011-09-01 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb: Conditionalize aliasing predicates to Ada2012. 2011-09-01 Jose Ruiz <ruiz@adacore.com> * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the CPU aspect. * aspects.adb (Canonical_Aspect): Add entry for the CPU aspect. * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the CPU aspect in a similar way as we do for the Priority or Dispatching_Domain aspect. * s-mudido-affinity.adb (Dispatching_Domain_Tasks, Dispatching_Domains_Frozen): Move this local data to package System.Tasking because with the CPU aspect we need to have access to this data when creating the task in System.Tasking.Stages.Create_Task * s-taskin.ads (Dispatching_Domain_Tasks, Dispatching_Domains_Frozen): Move these variables from the body of System.Multiprocessors.Dispatching_Domains because with the CPU aspect we need to have access to this data when creating the task in System.Tasking.Stages.Create_Task. * s-taskin.adb (Initialize): Signal the allocation of the environment task to a CPU, if any, so that we know whether the CPU can be transferred to a different dispatching domain. * s-tassta.adb (Create_Task): Check whether the CPU to which this task is being allocated belongs to the dispatching domain where the task lives. Signal the allocation of the task to a CPU, if any, so that we know whether the CPU can be transferred to a different dispatching domain. From-SVN: r178400
2011-09-01exp_attr.adb, [...]: Implementation of attributes Same_Storage and ↵Ed Schonberg4-0/+214
Overlaps_Storage. 2011-09-01 Ed Schonberg <schonberg@adacore.com> * exp_attr.adb, sem_attr.adb, snames.ads-tmpl: Implementation of attributes Same_Storage and Overlaps_Storage. From-SVN: r178399
2011-09-01[multiple changes]Arnaud Charlet29-88/+1366
2011-09-01 Hristian Kirtchev <kirtchev@adacore.com> * exp_strm.adb: Remove with and use clause for Opt. (Build_Array_Input_Function): Remove the version-dependent generation of the return statement. The Ada 2005 tree is now the default. 2011-09-01 Yannick Moy <moy@adacore.com> * put_alfa.adb: Unconditionnally write files in Alfa section, so that it is never empty when compiling in Alfa mode. 2011-09-01 Robert Dewar <dewar@adacore.com> * sem_aggr.adb, sem_ch3.adb, a-direct.adb, s-taprop-vxworks.adb, comperr.adb, exp_ch9.adb, exp_pakd.adb, sem_ch12.adb, freeze.adb, s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb, gnat1drv.adb, a-rbtgbo.adb, exp_dist.adb: Minor reformatting 2011-09-01 Matthew Heaney <heaney@adacore.com> * Makefile.rtl, impunit.adb: Add a-csquin.ads, a-cusyqu.ad[sb], a-cuprqu.ad[sb], a-cbsyqu.ad[sb], a-cbprqu.ad[sb] * a-csquin.ads: New Ada 2012 unit that specifies the queue interface * a-cusyqu.ads, a-cusyqu.adb: New Ada 2012 unit that specifies the unbounded queue container. * a-cbsyqu.ads, a-cbsyqu.adb: New Ada 2012 unit that specifies the bounded queue container. * a-cuprqu.ads, a-cuprqu.adb: New Ada 2012 unit that specifies the unbounded priority queue container. * a-cbprqu.ads, a-cbprqu.adb: New Ada 2012 unit that specifies the bounded priority queue container. From-SVN: r178398
2011-09-01re PR tree-optimization/50178 (ICE with gfortran -O3, not with gfortran -02)Ira Rosen2-0/+34
PR tree-optimization/50178 * gfortran.dg/vect/pr50178.f90: New test. From-SVN: r178397
2011-09-01Daily bump.GCC Administrator1-1/+1
From-SVN: r178393
2011-08-31i386.md: Use (match_test ...) for attribute tests.Richard Sandiford6-195/+150
gcc/ * config/i386/i386.md: Use (match_test ...) for attribute tests. * config/i386/mmx.md: Likewise. * config/i386/sse.md: Likewise. * config/i386/predicates.md (call_insn_operand): Use (not (match_test "...")) instead of (match_test "!...") * config/i386/constraints.md (w): Likewise. From-SVN: r178389
2011-08-31md.texi: Describe the use of match_tests in attribute tests.Richard Sandiford4-3/+47
gcc/ * doc/md.texi: Describe the use of match_tests in attribute tests. * rtl.def (MATCH_TEST): Update commentary. * genattrtab.c (attr_copy_rtx, check_attr_test, clear_struct_flag) (write_test_expr, walk_attr_value): Handle MATCH_TEST. From-SVN: r178388
2011-08-31genattrtab.c (attr_rtx_1): Hash SYMBOL_REFs.Richard Sandiford2-2/+14
gcc/ * genattrtab.c (attr_rtx_1): Hash SYMBOL_REFs. (attr_string): Use copy_md_ptr_loc. From-SVN: r178387
2011-08-31re PR middle-end/49886 (pass_split_functions cannot deal with function type ↵Martin Jambor5-20/+154
attributes) 2011-08-31 Martin Jambor <mjambor@suse.cz> PR middle-end/49886 * ipa-inline-analysis.c (compute_inline_parameters): Set can_change_signature of noes with typde attributes. * ipa-split.c (split_function): Do not skip any arguments if can_change_signature is set. * testsuite/gcc.c-torture/execute/pr49886.c: New testcase. From-SVN: r178386
2011-08-31cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Alias check removed.Martin Jambor2-3/+6
2011-08-31 Martin Jambor <mjambor@suse.cz> * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Alias check removed. From-SVN: r178384
2011-08-31fold-const.c (extract_muldiv_1): Remove bogus TYPE_IS_SIZETYPE special-casing.Richard Guenther2-5/+8
2011-08-31 Richard Guenther <rguenther@suse.de> * fold-const.c (extract_muldiv_1): Remove bogus TYPE_IS_SIZETYPE special-casing. From-SVN: r178377
2011-08-31chrono (operator*(const _Rep1&, const duration<>&)): Fix order of template ↵Paolo Carlini2-1/+6
parameters per LWG 2004. 2011-08-31 Paolo Carlini <paolo.carlini@oracle.com> * include/std/chrono (operator*(const _Rep1&, const duration<>&)): Fix order of template parameters per LWG 2004. From-SVN: r178374
2011-08-31[multiple changes]Arnaud Charlet9-215/+278
2011-08-31 Pascal Obry <obry@adacore.com> * a-direct.adb: Do not try to create an UNC path on Windows. (Create_Path): Skip leading computer name in UNC path if any. 2011-08-31 Hristian Kirtchev <kirtchev@adacore.com> * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): Remove the version-dependent generation of the return statement. The Ada 2005 tree is now the default. 2011-08-31 Thomas Quinot <quinot@adacore.com> * rtsfind.ads, exp_dist.adb (Find_Numeric_Representation): Predefined types Stream_Element_Offset and Storage_Offset have a different native type depending on whether the platform is 32 or 64 bits. When exchanging them, always convert to 64 bits. 2011-08-31 Yannick Moy <moy@adacore.com> * debug.adb: Reserve debug option -gnatd.E for passing gnatprove option --force-alfa to gnat2why. 2011-08-31 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Save_References): If the node has aspects, save references within the corresponding expressions in a separate step, because the aspects are not directly in the tree for the declaration to which they belong. 2011-08-31 Arnaud Charlet <charlet@adacore.com> * freeze.adb (Freeze_Record_Type): Omit test on variable size component in CodePeer mode, since representation clauses are partially ignored. * gcc-interface/Make-lang.in: Update dependencies. From-SVN: r178373
2011-08-31[multiple changes]Arnaud Charlet11-81/+151
2011-08-31 Jose Ruiz <ruiz@adacore.com> * s-taprop-vxworks.adb, s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb (Create_Task): Not_A_Specific_CPU can be assigned to any dispatching domain. 2011-08-31 Thomas Quinot <quinot@adacore.com> * exp_ch4.adb: Minor reformatting. 2011-08-31 Bob Duff <duff@adacore.com> * sem_ch6.adb (Get_Generic_Parent_Type): Don't query Subtype_Indication on nodes for which it is not defined. (Is_Non_Overriding_Operation): Exit the loop when we find a generic parent type. 2011-08-31 Bob Duff <duff@adacore.com> * sem_ch3.adb (Process_Full_View): Disable legality check if In_Instance, to avoid spurious errors. * sem_ch12.adb (Validate_Derived_Type_Instance): Disable legality check if In_Instance, to avoid spurious errors. 2011-08-31 Pascal Obry <obry@adacore.com> * a-direct.adb: Use Dir_Seps everywhere to properly handle all directory speparators. (Compose): Use Dir_Seps to handle both forms. (Create_Path): Use Dir_Seps instead of explicit check, no semantic changes. (Extension): Use Dir_Seps to handle both forms. 2011-08-31 Pascal Obry <obry@adacore.com> * prj-conf.adb: Minor reformatting. From-SVN: r178372
2011-08-31[multiple changes]Arnaud Charlet27-54/+385
2011-08-31 Jose Ruiz <ruiz@adacore.com> * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the dispatching domain aspect. * aspects.adb (Canonical_Aspect): Add entry for the dispatching domain aspect. * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the Dispatching_Domain aspect in a similar way as we do for the Priority aspect. * exp_ch9.adb (Expand_N_Task_Type_Declaration): Add the Dispatching_Domain component if a Dispatching_Domain pragma or aspect is present. (Make_Task_Create_Call): Add the Dispatching_Domain when creating a task * par-prag.adb (Prag): Add Pragma_Dispatching_Domain as a known pragma. * sem_prag.adb (Analyze_Pragma): Check the correctness of a pragma Dispatching_Domain and add it to the task definition. (Sig_Flags): Add Pragma_Dispatching_Domain. * rtsfind.ads, rtsfind.adb (RTU_Id, RE_Id, Get_Unit_Name): Add the support to find the types Dispatching_Domain and Dispatching_Domain_Access. * sinfo.ads, sinfo.adb (Has_Pragma_Dispatching_Domain, Set_Has_Pragma_Dispatching_Domain): Add these subprograms to set and query the availability of a pragma Dispatching_Domain. * snames.ads-tmpl (Name_uDispatching_Domain): Add this name required by the expander to pass the Dispatching_Domain when creating a task. (Name_Dispatching_Domain): Add this new name for a pragma. (Pragma_Id): Add the new Pragma_Dispatching_Domain. * s-tassta.ads, s-tassta.adb (Create_Task): Set the domain to which the task has been allocated at creation time. * s-tarest.adb (Create_Restricted_Task): The dispatching domain using Ravenscar is always null. * s-taskin.ads, s-taskin.adb (Initialize_ATCB): Set the domain to which the task has been allocated at creation time. * s-tporft.adb (Register_Foreign_Thread): A foreign task will not have a specific dispatching domain. * s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-vxworks.adb, s-taprop-mingw.adb (Create_Task): Check whether both Dispatching_Domain and CPU are specified for the task, and the CPU value is not contained within the range of processors for the domain. 2011-08-31 Vincent Celier <celier@adacore.com> * make.adb (Original_Gcc) : New constant String_Access. (Gnatmake): For VM targets, do not use VM version of the compiler if --GCC= has been specified. 2011-08-31 Thomas Quinot <quinot@adacore.com> * sem_ch5.adb: Minor reformatting. 2011-08-31 Ed Schonberg <schonberg@adacore.com> * exp_pakd.adb (Convert_To_PAT_Type): If prefix is a function call, do not reanalyze it. 2011-08-31 Bob Duff <duff@adacore.com> * exp_ch4.adb (Expand_N_Selected_Component): Use the full type, in case the access type is private; we don't care about privacy in expansion. 2011-08-31 Ed Schonberg <schonberg@adacore.com> * sem_aggr.adb (Resolve_Aggregate): In an instance, ignore aggregate subcomponents tnat may be limited, because they originate in view conflicts. If the original aggregate is legal and the actuals are legal, the aggregate itself is legal. From-SVN: r178371
2011-08-31[multiple changes]Arnaud Charlet5-10/+41
2011-08-31 Matthew Heaney <heaney@adacore.com> * a-rbtgbo.adb (Clear_Tree): Assert representation invariant for lock status. 2011-08-31 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb: Set kind of loop parameter properly, to preserve all errors in B tests. 2011-08-31 Jose Ruiz <ruiz@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): For the Priority and Interrupt_Priority aspects, force the analysis of the aspect expression (when building the equivalent pragma). Otherwise, its analysis is done too late, after the task or protected object has been created. * sem_ch9.adb (Analyze_Single_Protected_Declaration, Analyze_Single_Task_Declaration): Remove the code to move the aspects to the object declaration because they are needed in the type declaration. From-SVN: r178370
2011-08-31generic.texi (Types for C++): CP_TYPE_QUALS -> cp_type_quals.Marc Glisse2-3/+7
2011-08-31 Marc Glisse <marc.glisse@inria.fr> * doc/generic.texi (Types for C++): CP_TYPE_QUALS -> cp_type_quals. From-SVN: r178369
2011-08-31[multiple changes]Arnaud Charlet19-71/+171
2011-08-31 Robert Dewar <dewar@adacore.com> * exp_ch5.adb, exp_ch7.ads, sem_ch5.adb, put_scos.adb, s-rannum.adb, a-rbtgbo.adb, exp_intr.adb, a-cbdlli.adb, a-cbdlli.ads: Minor reformatting. 2011-08-31 Hristian Kirtchev <kirtchev@adacore.com> * exp_util.adb (Find_Protection_Type): Do not look for fields _object if the corresponding type is malformed due to restriction violations. 2011-08-31 Robert Dewar <dewar@adacore.com> * s-ransee.ads, s-ransee.adb: Minor reformatting. 2011-08-31 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Expand_N_Allocator): Correct faulty condition which would cause the generation of Set_Finalize_Address if the target is a VM and the designated type is not derived from [Limited_]Controlled. 2011-08-31 Arnaud Charlet <charlet@adacore.com> * comperr.adb, comperr.ads, gnat1drv.adb (Delete_SCIL_Files): New subprogram. (Compiler_Abort, Gnat1drv): Call Delete_SCIL_Files in codepeer mode in case of a compilation error. 2011-08-31 Hristian Kirtchev <kirtchev@adacore.com> * init.c (__gnat_error_handler): Standardize the stack overflow or erroneous memory access message. * seh_init.c (__gnat_SEH_error_handler): Standardize the stack overflow or erroneous memory access message. From-SVN: r178368
2011-08-31[multiple changes]Arnaud Charlet5-26/+60
2011-08-31 Robert Dewar <dewar@adacore.com> * sem_ch4.adb: Minor reformatting. * sem_ch6.adb: Minor code reorganization (use Ekind_In). 2011-08-31 Thomas Quinot <quinot@adacore.com> * scos.ads: Minor documentation clarification. * put_scos.adb: Do not generate SCO unit header line for a unit that has no SCO lines. From-SVN: r178367
2011-08-31a-rbtgbo.adb, [...]: Minor reformatting.Robert Dewar3-41/+49
2011-08-31 Robert Dewar <dewar@adacore.com> * a-rbtgbo.adb, alfa_test.adb: Minor reformatting. From-SVN: r178366
2011-08-31[multiple changes]Arnaud Charlet22-339/+473
2011-08-31 Tristan Gingold <gingold@adacore.com> * exp_ch7.ads, exp_ch7.adb (Finalization_Exception_Data): New type to hold variables between these following subprograms. (Build_Exception_Handler, Build_Object_Declarations, Build_Raise_Statement): Use the above type as parameter. Make the above adjustments. * exp_intr.adb (Expand_Unc_Deallocation): Adjust. 2011-08-31 Pascal Obry <obry@adacore.com> * projects.texi: Minor reformatting. 2011-08-31 Tristan Gingold <gingold@adacore.com> * s-ransee.ads, s-ransee.adb: Add system.random_seed unit. * s-rannum.adb (Reset): Use Get_Seed from s-ransee. 2011-08-31 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb: Minor code cleanup. * sem_ch5.adb (Analyze_Iteration_Scheme): Set ekind of loop variable to prevent cascaded errors. (Analyze_Loop_Statement): In semantics-only mode, introduce loop variable of an iterator specification in current scope. * sem_ch6.adb (Analyze_Return_Statement, Find_what_It_Apples_To): Skip postconditions on the stack, as they contain no return statements. 2011-08-31 Yannick Moy <moy@adacore.com> * exp_alfa.adb (Expand_Alfa_N_Package_Declaration, Expand_Alfa_N_Subprogram_Body): Remove useless procedures which simply call Qualify_Entity_Names. (Expand_Alfa): call Qualify_Entity_Names in more cases * lib-xref-alfa.adb: Take into account system package. * sem_prag.adb Take into account restrictions in Alfa mode, contrary to CodePeer mode in which we are interested in finding bugs even if compiler cannot compile source. * sem_util.adb, sem_util.ads (Unique_Entity): Take into account case of deferred constant. 2011-08-31 Gary Dismukes <dismukes@adacore.com> * sem_ch3.adb (Constrain_Concurrent): Retrieve Base_Type of the subtype denoted by the subtype mark to ensure getting the concurrent type in the case where the subtype mark denotes a private subtype of a concurrent type (needed when using -gnatc). (Process_Subtype): For the processing specific to type kinds, case on the Base_Type kind of the Subtype_Mark_Id, to handle cases where the subtype denotes a private subtype whose base type is nonprivate (needed for subtypes of private fulfilled by task types when compiling with -gnatc). 2011-08-31 Gary Dismukes <dismukes@adacore.com> * sem_disp.adb (Check_Dispatching_Operation): Bypass registration of late primitives that override interface operations when the full expander is not active, to avoid blowups in Register_Primitive when types don't have associated secondary dispatch tables. 2011-08-31 Yannick Moy <moy@adacore.com> * alfa_test.adb: Code clean up. 2011-08-31 Marc Sango <sango@adacore.com> * restrict.adb (Check_SPARK_Restriction): Change Comes_From_Source (N) by Comes_From_Source (Original_Node (N)) in order to treat also the nodes which have been rewritten. * sem_ch4.adb (Analyze_Explicit_Dereference, Analyze_Slice): Guard the explicit dereference and slice violation in spark mode on the nodes coming only from the source code. From-SVN: r178365
2011-08-31[multiple changes]Arnaud Charlet12-44/+353
2011-08-31 Robert Dewar <dewar@adacore.com> * exp_ch5.adb, exp_alfa.ads, prj.ads, sem_attr.adb, lib-xref-alfa.adb: Minor reformatting. 2011-08-31 Matthew Heaney <heaney@adacore.com> * a-crbltr.ads (Tree_Type): Default-initialize the Nodes component. 2011-08-31 Javier Miranda <miranda@adacore.com> * sem_ch4.adb (Try_Object_Operation): Addition of one formal to search only for class-wide subprograms conflicting with entities of concurrent tagged types. 2011-08-31 Matthew Heaney <heaney@adacore.com> * a-rbtgbo.adb (Generic_Allocate): Initialize pointer components of node to null value. 2011-08-31 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Provide a more general description of the routine. 2011-08-31 Ed Schonberg <schonberg@adacore.com> * a-cbdlli.adb, a-cbdlli.ads: Add iterator machinery to bounded doubly-linked lists. From-SVN: r178363
2011-08-31exp_ch5.adb (Expand_N_Assignment_Statement): When a discriminant check is ↵Gary Dismukes2-6/+31
needed for a left-hand side that is a dereference... 2011-08-31 Gary Dismukes <dismukes@adacore.com> * exp_ch5.adb (Expand_N_Assignment_Statement): When a discriminant check is needed for a left-hand side that is a dereference, and the base type is private without discriminants (whereas the full type does have discriminants), an extra retrieval of the underlying type may be needed in the case where the subtype is a record subtype whose base type is private. Update comments. From-SVN: r178362
2011-08-31[multiple changes]Arnaud Charlet12-125/+339
2011-08-31 Javier Miranda <miranda@adacore.com> * sem_ch4.adb (Try_Object_Operation): When a dispatching primitive is found check if there is a class-wide subprogram covering the primitive. 2011-08-31 Yannick Moy <moy@adacore.com> * sem_res.adb: Further cases where full expansion test is needed, rather than expansion test. 2011-08-31 Pascal Obry <obry@adacore.com> * prj-attr.adb: Fix Source_File_Switches attribute kind (must be a list) 2011-08-31 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb: Handle iterators over derived container types. 2011-08-31 Hristian Kirtchev <kirtchev@adacore.com> * einfo.ads, einfo.adb: Add new flag Has_Anonymous_Master. (Has_Anonymous_Master): New routine. (Set_Has_Anonymous_Master): New routine. (Write_Entity_Flags): Add an entry for Has_Anonymous_Master. * exp_ch4.adb: Add with and use clause for Sem_Ch8. (Current_Anonymous_Master): New routine. (Current_Unit_First_Declaration): Removed. (Current_Unit_Scope): Removed. (Expand_N_Allocator): Anonymous access-to-controlled types now chain their objects on a per-unit heterogeneous finalization master. 2011-08-31 Matthew Heaney <heaney@adacore.com> * a-cbhama.adb, a-cbhase.adb (Insert): Check for zero-length buckets array. 2011-08-31 Jose Ruiz <ruiz@adacore.com> * s-taprop-linux.adb (Create_Task): Avoid changing the affinity mask when not needed. 2011-08-31 Gary Dismukes <dismukes@adacore.com> * sem_disp.adb (Propagate_Tag): Return without propagating in the case where the actual is an unexpanded call to 'Input. From-SVN: r178361
2011-08-31[multiple changes]Arnaud Charlet17-88/+365
2011-08-31 Yannick Moy <moy@adacore.com> * sem_ch4.adb: Code clean up. 2011-08-31 Yannick Moy <moy@adacore.com> * exp_alfa.adb, exp_alfa.ads: Minor correction of copyright notice. 2011-08-31 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Build_Array_Deep_Procs): Do not generate Deep_Finalize and TSS primitive Finalize_Address if finalization is suppressed. (Build_Record_Deep_Procs): Do not generate Deep_Finalize and TSS primitive Finalize_Address if finalization is suppressed. 2011-08-31 Jose Ruiz <ruiz@adacore.com> * s-mudido-affinity.adb, s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-solaris.adb, s-taprop-vxworks.adb (Set_Task_Affinity): Make sure that the underlying task has already been created before trying to change its affinity. (Set_CPU): Use the term processor instead of CPU, as we do in Assign_Task. 2011-08-31 Vincent Celier <celier@adacore.com> * prj-attr.adb: New Compiler attribute Source_File_Switches. * prj-nmsc.adb (Process_Compiler): Process attribute Source_File_Switches. * prj.ads (Language_Config): New name list component Name_Source_File_Switches. * snames.ads-tmpl (Name_Source_File_Switches): New standard name. 2011-08-31 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Analyze_Attribute, case 'Old): If prefix may be a discriminated component of an actual, expand at once to prevent ouf-of-order references with generated subtypes. 2011-08-31 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb (Add_Alfa_Xrefs): Do not take into account read reference to operator in Alfa xrefs. 2011-08-31 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch12.adb (Freeze_Subprogram_Body): Add code to handle the case where the parent instance was frozen before the current instance due to the presence of a source body. Update calls to Insert_After_Last_Decl. (Insert_After_Last_Decl): Renamed to Insert_Freeze_Node_For_Instance. Update the comment which illustrates the purpose of the routine. Package instances are now frozen by source bodies which appear after the instance. This ensures that entities coming from within the instance are available for use in the said bodies. (Install_Body): Add code to handle the case where the parent instance was frozen before the current instance due to the presence of a source body. Update calls to Insert_After_Last_Decl. From-SVN: r178360
2011-08-31Complete log of previous change.Arnaud Charlet1-1/+8
From-SVN: r178359
2011-08-31[multiple changes]Arnaud Charlet39-303/+327
2011-08-31 Jose Ruiz <ruiz@adacore.com> * s-taprop-linux.adb (Set_Task_Affinity): Avoid the use of anonymous access types. * affinity.c (__gnat_set_affinity_mask): Declare index variable. 2011-08-31 Yannick Moy <moy@adacore.com> * sem_ch8.adb (Analyze_Subprogram_Renaming): Refine expander test in full-expander test. Minor reformatting, renaming ALFA in Alfa (we dropped acronym) * einfo.adb (Primitive_Operations): Correctly return list of primitive operations in a case where it returned previously No_Elist. From-SVN: r178358
2011-08-31s-taprop-vxworks.adb, [...]: Minor reformatting.Robert Dewar23-388/+410
2011-08-31 Robert Dewar <dewar@adacore.com> * s-taprop-vxworks.adb, sem_ch5.adb, s-taprop-tru64.adb, exp_alfa.adb, s-taprop-vms.adb, bindgen.adb, s-mudido.adb, s-mudido.ads, sem_res.adb, expander.adb, s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb, s-mudido-affinity.adb, vms_conv.adb, s-taprop-irix.adb, s-taprop.ads, s-taskin.adb, s-taskin.ads, s-taprop-hpux-dce.adb, a-chtgbo.adb, s-taprop-posix.adb: Minor reformatting. From-SVN: r178357
2011-08-31[multiple changes]Arnaud Charlet7-16/+67
2011-08-31 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch12 (Check_Private_View): Revert previous change. * sem_res.adb (Conversion_Check): Do not emit the error message if the conversion is in a generic instance. 2011-08-31 Matthew Heaney <heaney@adacore.com> * a-cbhase.adb (Symmetric_Difference): Dereference correct node array. * a-chtgbo.adb (Free): Allow 0 as index value. 2011-08-31 Matthew Heaney <heaney@adacore.com> * a-cborma.adb (Insert): Add comment to explain why no element assignment. 2011-08-31 Gary Dismukes <dismukes@adacore.com> * sem_util.adb (Find_Body_Discriminal): Test whether the scope of the spec discriminant is already a concurrent type, in which case just use it, otherwise fetch the Corresponding_Concurrent_Type as before. From-SVN: r178356
2011-08-31re PR middle-end/43513 (The stack pointer is adjusted twice)Tom de Vries2-0/+24
2011-08-31 Tom de Vries <tom@codesourcery.com> PR middle-end/43513 * gcc.dg/pr43513.c: New test. From-SVN: r178354
2011-08-31re PR middle-end/43513 (The stack pointer is adjusted twice)Tom de Vries3-1/+69
2011-08-31 Tom de Vries <tom@codesourcery.com> PR middle-end/43513 * Makefile.in (tree-ssa-ccp.o): Add $(PARAMS_H) to rule. * tree-ssa-ccp.c (params.h): Include. (fold_builtin_alloca_for_var): New function. (ccp_fold_stmt): Use fold_builtin_alloca_for_var. From-SVN: r178353