aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-10-27Add var in push_fields_onto_fieldstackTom de Vries2-5/+11
2015-10-27 Tom de Vries <tom@codesourcery.com> * tree-ssa-structalias.c (push_fields_onto_fieldstack): Add and use var field_type. From-SVN: r229403
2015-10-27loop-invariant.c (struct def): New field can_prop_to_addr_uses.Bin Cheng2-2/+51
* loop-invariant.c (struct def): New field can_prop_to_addr_uses. (inv_can_prop_to_addr_use): New function. (record_use): Call can_prop_to_addr_uses, set the new field. (get_inv_cost): Count cost if inv can't be propagated into its address uses. From-SVN: r229402
2015-10-27re PR libffi/65441 (FAIL: libffi.call/float2.c -W -Wall -Wno-psabi (test for ↵John David Anglin3-1/+8
excess errors)) PR libffi/65441 * testsuite/lib/libffi.exp: Load target-supports-dg.exp. * testsuite/libffi.call/float2.c: Don't run on hppa*-*-hpux*. From-SVN: r229400
2015-10-27Daily bump.GCC Administrator1-1/+1
From-SVN: r229399
2015-10-26DR 2179Jason Merrill3-8/+25
DR 2179 * pt.c (process_partial_specialization): Handle error_mark_node from most_specialized_partial_spec. From-SVN: r229395
2015-10-26* config/linux.h (INCLUDE_DEFAULTS): Add INCLUDE_DEFAULTS_MUSL_LOCAL.Doug Evans2-0/+5
From-SVN: r229392
2015-10-26re PR fortran/66056 (ICEs and endless compilation for lonely labels/numbers ↵Louis Krupp6-2/+29
in type) 2015-10-26 Louis Krupp <louis.krupp@zoho.com> PR fortran/66056 * fortran.h: Include namespace pointer in statement label structure. * symbol.c (gfc_get_st_label): Store pointer to namespace that owns the statement label tree in each label. (gfc_free_st_label): Use namespace owning statement label tree when deleting statement label. * io.c: Initialize format_asterisk with NULL namespace pointer. 2015-10-26 Louis Krupp <louis.krupp@zoho.com> PR fortran/66056 * gfortran.dg/empty_label_typedecl.f90: New test From-SVN: r229390
2015-10-26libjava: fix locale handling when sorting JNI methodsMike Frysinger2-2/+7
When building under LANG=cs_CZ.UTF-8, the JNI method check fails: /bin/bash ../../scripts/check_jni_methods.sh Found a problem with the JNI methods declared and implemented. (<) missing in implementation, (>) missing in header files > Java_gnu_java_awt_peer_gtk_GtkClipboard_advertiseContent > Java_gnu_java_awt_peer_gtk_GtkClipboard_initNativeState ... lots more ... While the sed commands are run under LC_ALL=C, the two sort commands are not, and they end up producing unexpected output (for the test). Once we run both under LC_ALL=C, the check passes. While we're here, we can also combine latter the `sort|uniq` into `sort -u` to match the earlier code. URL: https://bugs.gentoo.org/563710 Reported-by: Miroslav Šulc <fordfrog@gentoo.org> From-SVN: r229388
2015-10-26re PR fortran/36192 (ICE with wrong index types and bad parens)Steven G. Kargl4-2/+24
2015-10-26 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/36192 * array.c (gfc_ref_dimen_size): Check for BT_INTEGER before calling mpz_set. 2015-10-26 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/36192 * gfortran.dg/pr36192.f90: New test. From-SVN: r229387
2015-10-26match.pd (fold_widened_comparison): Apply simplifications to all integral types.Eric Botcazou7-20/+53
* match.pd (fold_widened_comparison): Apply simplifications to all integral types. From-SVN: r229384
2015-10-26target.def (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): New hook.Simon Dardis9-1/+108
gcc/ * target.def (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): New hook. * doc/tm.texi.in (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): Document. * doc/tm.texi: Regenerated. * reorg.c (dbr_schedule): Use new hook. * config/mips/mips.c (mips_no_speculation_in_delay_slots_p): New. testsuite/ * gcc.target/mips/ds-schedule-1.c: New. * gcc.target/mips/ds-schedule-2.c: New. From-SVN: r229383
2015-10-26abort might not flush all open streams before process terminationThomas Schwinge3-2/+7
libgomp/ * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr. * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. From-SVN: r229382
2015-10-26libgomp testsuite: Remove some explicit acc_device_nvidia usage.Thomas Schwinge5-42/+18
libgomp/ * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit acc_device_nvidia usage. * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise. From-SVN: r229381
2015-10-26libgomp: Additional acc_shutdown bug fixing and testingThomas Schwinge3-0/+24
libgomp/ * oacc-init.c (acc_shutdown): Call gomp_init_targets_once. * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file. From-SVN: r229380
2015-10-26[libgomp/66518] Resolve XFAIL in libgomp.oacc-c-c++-common/lib-3.cThomas Schwinge2-3/+7
libgomp/ PR libgomp/66518 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL. From-SVN: r229379
2015-10-26[PR libgomp/65437, libgomp/66518] Initialize runtime in acc_update_device, ↵Thomas Schwinge3-6/+11
acc_update_self libgomp/ PR libgomp/65437 PR libgomp/66518 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize. * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL. From-SVN: r229378
2015-10-26[multiple changes]Arnaud Charlet9-170/+264
2015-10-26 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Add_Item_To_Name_Buffer): Update the comment on usage. Add an output string for loop parameters. (Analyze_Global_Items): Loop parameters are now a valid global item. The share the legality checks of constants. (Analyze_Input_Output): Loop parameters are now a valid dependency item. (Find_Role): Loop parameters share the role of constants. 2015-10-26 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Generalized_Indexing): In ASIS mode, preserve the Generalized_ indexing link if the context is not a spec expression that will be analyzed anew. 2015-10-26 Javier Miranda <miranda@adacore.com> * exp_ch6.ads, exp_ch6.adb (Build_Procedure_Body_Form): Promote it to library level (to invoke this routine from the semantic analyzer). * sem_ch6.adb (Analyze_Subprogram_Body_Helper): When generating C code, invoke Build_Procedure_Body_Form to transform a function that returns a constrained array type into a procedure with an out parameter that carries the return value. 2015-10-26 Arnaud Charlet <charlet@adacore.com> * a-reatim.ads: Add "Clock_Time with Synchronous" contract in package Ada.Real_Time. * a-taside.ads: Add "Tasking_State with Synchronous" contract in package Ada.Task_Identification. * sem_ch12.adb: minor typo in comment From-SVN: r229377
2015-10-26contracts.adb (Analyze_Object_Contract): Set and restore the SPARK_Mode for ↵Hristian Kirtchev9-69/+184
both constants and objects. 2015-10-26 Hristian Kirtchev <kirtchev@adacore.com> * contracts.adb (Analyze_Object_Contract): Set and restore the SPARK_Mode for both constants and objects. Factor out the semantic checks concerning Ghost objects. * freeze.adb (Freeze_Array_Type): A Ghost array type cannot have a concurrent component type. (Freeze_Entity): A Ghost type cannot also be concurrent. (Freeze_Record_Type): A Ghost record type cannot have a concurrent component. * sem_prag.adb (Analyze_Abstract_State): A Ghost abstract state cannot also be synchronized. (Check_Ghost_Synchronous): New routine. * sem_util.adb (Yields_Synchronized_Object): Correct the case of record components to account for the case where the type has no component list. 2015-10-26 Hristian Kirtchev <kirtchev@adacore.com> * expander.adb (Expand): Expand a single protected declaration. * exp_ch9.ads, exp_ch9.adb (Expand_N_Single_Protected_Declaration): New routine. 2015-10-26 Hristian Kirtchev <kirtchev@adacore.com> * sem_res.adb (Is_OK_Volatile_Context): A volatile object may appear in an object declaration as long as it denotes the name. From-SVN: r229376
2015-10-26[PATCH] [PR tree-optimization/68013] Make sure first block in FSM pathJeff Law4-0/+33
is in VISITED_BBs PR tree-optimization/68013 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): Make sure the first block in the path is in VISITED_BBs. PR tree-optimization/68013 * gcc.c-torture/compile/pr68013.c: New test. From-SVN: r229375
2015-10-26[multiple changes]Arnaud Charlet4-26/+73
2015-10-26 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch9.adb (Analyze_Single_Protected_Declaration): The anonymous object no longer comes from source. (Analyze_Single_Task_Declaration): The anonymous object no longer comes from source. * sem_prag.adb (Analyze_Pragma): The analysis of pragma SPARK_Mode now recognizes the internal anonymous object created for a single concurren type as a valid context. (Find_Related_Context): The internal anonymous object created for a single concurrent type is now a valid context. (Find_Related_Declaration_Or_Body): The internal anonymous object created for a single concurrent type is now a valid context. 2015-10-26 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Inherit_Rep_Item_Chain): Another another guard to prevent circularities in the rep_item_chain of the full view of a type extension in a child unit that extends a private type from the parent. From-SVN: r229374
2015-10-26[multiple changes]Arnaud Charlet14-50/+521
2015-10-26 Hristian Kirtchev <kirtchev@adacore.com> * atree.ads, atree.adb (Ekind_In): New 10 and 11 parameter versions. * contracts.ads, contracts.adb (Analyze_Initial_Declaration_Contract): New routine. * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Analyze the contract of the initial declaration. (Analyze_Subprogram_Body_Helper): Analyze the contract of the initial declaration. * sem_ch7.adb (Analyze_Package_Body_Helper): Analyze the contract of the initial declaration. * sem_ch9.adb (Analyze_Entry_Body): Analyze the contract of the initial declaration. (Analyze_Protected_Body): Analyze the contract of the initial declaration. (Analyze_Task_Body): Analyze the contract of the initial declaration. * sem_prag.adb (Add_Entity_To_Name_Buffer): Use "type" rather than "unit" as it makes the error messages sound better. (Add_Item_To_Name_Buffer): Update comment on usage. The routine now supports discriminants and current instances of concurrent types. (Analyze_Depends_In_Decl_Part): Install the discriminants of a task type. (Analyze_Global_In_Decl_Part): Install the discriminants of a task type. (Analyze_Global_Item): Add processing for current instances of concurrent types and include discriminants as valid global items. (Analyze_Input_Output): Discriminants and current instances of concurrent types are now valid items. Update various error messages. (Check_Usage): Current instances of protected and task types behaves as formal parameters. (Collect_Subprogram_Inputs_Outputs): There is no longer need to manually analyze [Refined_]Global thanks to freezing of initial declaration contracts. Add processing for the current instance of a concurrent type. (Find_Role): Add categorizations for discriminants, protected and task types. (Is_CCT_Instance): New routine. (Match_Items): Update the comment on usage. Update internal comments. * sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update the comment on usage. * sem_util.adb (Entity_Of): Ensure that the entity is an object when traversing a potential renaming chain. (Fix_Msg): Use "type" rather than "unit" as it makes the error messages sound better. * sem_util.ads (Fix_Msg): Update the comment on usage. 2015-10-26 Arnaud Charlet <charlet@adacore.com> * par.adb (Par): Do not generate an error when generating SCIL for predefined units or new children of system and co. 2015-10-26 Ed Schonberg <schonberg@adacore.com> * einfo.adb: Access_Disp_Table applies to a private extension. From-SVN: r229373
2015-10-26re PR rtl-optimization/67443 (DSE removes required store instruction)Richard Biener4-7/+70
2015-10-26 Richard Biener <rguenther@suse.de> Dominik Vogt <vogt@linux.vnet.ibm.com> PR middle-end/67443 * alias.c (ao_ref_from_mem): Remove promoted subreg handling. Properly prune ref->ref for accesses outside of ref. * gcc.target/s390/pr67443.c: New testcase. Co-Authored-By: Dominik Vogt <vogt@linux.vnet.ibm.com> From-SVN: r229372
2015-10-26Allow more complex call replacements in gimple-fold.cRichard Sandiford2-1/+19
An upcoming patch adds a match.pd rule that folds pow(pow(x,y),z) to pow(x,y*z). This fold can reuse the existing pow gimple statement and simply replace the operands with x and y*z. However, the y*z itself requires a separate gimple statement and the code wasn't prepared to handle that. Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi. gcc/ * gimple-fold.c (replace_stmt_with_simplification): Don't allow new statements to be inserted if inplace. Allow calls to have nonempty sequences. From-SVN: r229371
2015-10-26offload_host.cpp (OffloadDescriptor::setup_misc_data): Use calloc instead of ↵Ilya Verbin2-2/+10
malloc. liboffloadmic/ * runtime/offload_host.cpp (OffloadDescriptor::setup_misc_data): Use calloc instead of malloc. (__offload_fini_library): Set mic_engines_total to zero. Co-Authored-By: Aleksander Ivanushenko <aleksander.ivanushenko@intel.com> From-SVN: r229368
2015-10-26Fix attribution in ChangeLogRichard Sandiford1-1/+1
While going through some history, I noticed that I'd committed one of Alan's changes with my email address rather than his. Sorry for the screw-up. From-SVN: r229366
2015-10-26tree-object-size.c: Remove builtins.h include, include tree-cfg.h.Richard Biener3-97/+75
2015-10-26 Richard Biener <rguenther@suse.de> * tree-object-size.c: Remove builtins.h include, include tree-cfg.h. (do_valueize): New function. (pass_object_sizes::execute): Use gimple_fold_stmt_to_constant and replace_uses_by. * tree-ssa-threadedge.c: Remove builtins.h include, include gimple-fold.h (fold_assignment_stmt): Remove. (threadedge_valueize): New function. (record_temporary_equivalences_from_stmts): Use gimple_fold_stmt_to_constant_1, note additional cleanup opportunities. From-SVN: r229364
2015-10-26[multiple changes]Arnaud Charlet6-266/+33
2015-10-26 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Generalized_Indexing): In ASIS mode, when restoring original node, remove Generalized_Indexing operation so that it is recreated during re- analysis. 2015-10-26 Javier Miranda <miranda@adacore.com> * exp_unst.adb: (Unnest_Subprogram): Replace absolute references to 1 and 0 by their counterpart relative references through Subps_First. 2015-10-26 Ed Schonberg <schonberg@adacore.com> * par-ch3.adb (P_Declarative_Items): In case of misplaced aspect specifications, ensure that flag Done is properly set to continue parse. * sem_prag.adb, sem_prag.ads: Remove Build_Generic_Class_Condition, unused. From-SVN: r229362
2015-10-26[multiple changes]Arnaud Charlet4-26/+31
2015-10-26 Emmanuel Briot <briot@adacore.com> * s-os_lib.adb (Argument_String_To_List): Remove backslashes in argument value. 2015-10-26 Javier Miranda <miranda@adacore.com> * exp_unst.ads, exp_unst.adb (Is_Uplevel_Referenced): Removed. From-SVN: r229361
2015-10-26match.pd ((A & ~B) - (A & B) -> (A ^ B) - B): Add missing :c.Richard Biener2-2/+7
2015-10-26 Richard Biener <rguenther@suse.de> * match.pd ((A & ~B) - (A & B) -> (A ^ B) - B): Add missing :c. ( (X & ~Y) | (~X & Y) -> X ^ Y): Remove redundant :c. From-SVN: r229360
2015-10-26[multiple changes]Arnaud Charlet8-21/+42
2015-10-26 Hristian Kirtchev <kirtchev@adacore.com> * exp_util.adb, sem_aux.adb, exp_attr.adb, sem_eval.adb: Minor reformatting. * sem_util.adb, sem_ch5.adb: Minor reformatting. 2015-10-26 Ed Schonberg <schonberg@adacore.com> * exp_unst.adb (Unnest_Subprogram): Add guard to prevent compiler abort when handling a reference to a formal in an aspect of a nested subprogram declaration as an uplevel reference. From-SVN: r229359
2015-10-26[multiple changes]Arnaud Charlet9-15/+153
2015-10-26 Bob Duff <duff@adacore.com> * snames.ads-tmpl, aspects.adb, aspects.ads: Add the aspect and pragma names and enter into relevant tables. * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze aspect Predicate_Failure. * sem_prag.adb (Predicate_Failure): Analyze pragma Predicate_Failure. * exp_util.adb (Make_Predicate_Check): When building the Check pragma, if Predicate_Failure has been specified, add the relevant String argument to the pragma. * par-prag.adb (Prag): Add Predicate_Failure to list of pragmas handled during semantic analysis. 2015-10-26 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Assignment): If the left-hand side is an indexed component with generalized indexing, discard interpretation that yields a reference type, which is not assignable. This prevent spurious ambiguities when the right-hand side is an aggregate which does not provide a target type. From-SVN: r229358
2015-10-26[multiple changes]Arnaud Charlet22-821/+1962
2015-10-26 Bob Duff <duff@adacore.com> * exp_ch7.adb, exp_ch6.adb: Minor comment fix. 2015-10-26 Hristian Kirtchev <kirtchev@adacore.com> * aspects.adb (Move_Or_Merge_Aspects): Move all aspects related to a single concurrent type declaration to the declaration of the anonymous object if they qualify. (Relocate_Aspect): Update comment on usage. * aspects.ads Add new sectioon on aspect specifications on single concurrent types. Add new table Aspect_On_Anonymous_Object_OK. (Move_Or_Merge_Aspects): Udate the comment on usage. * atree.adb (Elist36): New routine. (Set_Elist36): New routine. * atree.ads (Elist36): New routine along with pragma Inline. (Set_Elist36): New routine along with pragma Inline. * atree.h: Elist36 is now an alias for Field36. * contracts.adb (Add_Contract_Item): Add processing for protected units and extra processing for variables. (Analyze_Object_Contract): Code cleanup. The processing of Part_Of now depends on wherer the object is a constant or a variable. Add processing for pragmas Depends and Global when they apply to a single concurrent object. Verify that a variable which is part of a single concurrent type has full default initialization. Set/restore the SPARK_Mode of a single concurrent object. (Analyze_Protected_Contract): New routine. * contracts.ads (Add_Contract_Item): Update the comment on usage. (Analyze_Object_Contract): Update the comment on usage. (Analyze_Protected_Contract): New routine. (Analyze_Task_Contract): Update the comment on usage. * einfo.adb Part_Of_Constituents now uses Elist10. (Anonymous_Object): New routine. (Contract): Code cleanup. (Has_Option): Remove the assumption that the only simple option is External. (Is_Synchronized_State): New routine. (Part_Of_Constituents): This attribute applies to variables and uses Elist10. (Set_Anonymous_Object): New routine. (Set_Contract): Code cleanup. (Set_Part_Of_Constituents): This attribute applies to variables and uses Elist10. (Set_SPARK_Aux_Pragma): Code cleanup. (Set_SPARK_Aux_Pragma_Inherited): Code cleanup. (Set_SPARK_Pragma): Code cleanup. This attribute applies to variables. (Set_SPARK_Pragma_Inherited): Code cleanup. This attribute applies to variables. (SPARK_Aux_Pragma): Code cleanup. (SPARK_Aux_Pragma_Inherited): Code cleanup. (SPARK_Pragma): Code cleanup. This attribute applies to variables. (SPARK_Pragma_Inherited): Code cleanup. This attribute applies to variables. (Write_Field9_Name): Remove the output for Part_Of_Constituents. (Write_Field10_Name): Add output for Part_Of_Constituents. (Write_Field30_Name): Add output for Anonymous_Object. (Write_Field34_Name): Output SPARK_Pragma for protected types and variables. * einfo.ads: New attributes Anonymous_Object and Is_Synchronized_State along with usage in entities. Update the documentation of attributes Contract Encapsulating_State Part_Of_Constituents SPARK_Aux_Pragma SPARK_Aux_Pragma_Inherited SPARK_Pragma SPARK_Pragma_Inherited (Anonymous_Object): New routine along with pragma Inline. (Is_Synchronized_State): New routine. (Set_Anonymous_Object): New routine along with pragma Inline. * freeze.adb (Freeze_Record_Type): Ensure that a non-synchronized record does not have synchronized components. * sem_ch3.adb (Analyze_Declarations): Code cleanup. Analyze the contract of protected units. * sem_ch9.adb Add with and use clauses for Sem_Prag. Code cleanup. (Analyze_Single_Protected_Declaration): Reimplemented. (Analyze_Single_Task_Declaration): Reimplemented. * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Part_Of can now apply to a single concurrent type declaration. Rely on Insert_Pragma to place the pragma. Update the error message on usage to reflect the new context. (Insert_Pragma): When inserting pragmas for a protected or task type, create a definition if the type lacks one. * sem_elab.adb (Check_A_Call): Code cleanup. Issue error message related to elaboration issues for SPARK when SPARK_Mode is "on" and the offending entity comes from source. * sem_prag.adb (Analyze_Abstract_State): Add new flag Synchronous_Seen. Update the analysis of simple options Externa, Ghost and Synchronous. Update various error messages to reflect the use of single concurrent types. (Analyze_Depends_Global): Pragmas Depends and Global can now apply to a single task type or a single concurrent object created for a task type. (Analyze_Depends_In_Decl_Part): Do not push a scope when the context is a single concurrent object. (Analyze_Part_Of): Moved out of Analyze_Pragma. The routine has a new profile and comment on usage. (Analyze_Part_Of_In_Decl_Part): New routine. (Analyze_Part_Of_Option): Update the call to Analyze_Part_Of. (Analyze_Pragma): Pragma Abstract_State can now carry simple option Synchronous. Pragma Part_Of can now apply to a single concurrent type declaration. The analysis of pragma Part_Of is delayed when the context is a single concurrent object. (Analyze_Refined_Depends_In_Decl_Part): Use the anonymous object when the context is a single concurren type. (Analyze_Refined_Global_In_Decl_Part): Use the anonymous object when the context is a single concurren type. (Check_Ghost_Constituent): Removed. (Check_Matching_Constituent): Renamed to Match_Constituent. (Check_Matching_State): Renamed to Match_State. (Collect_Constituent): Update the comment on usage. Verify various legality rules related to ghost and synchronized entities. (Find_Related_Declaration_Or_Body): A single task declaration is no longer a valid context for a pragma. (Fix_Msg): Moved to Sem_Util. (Process_Overloadable): Add processing for single task objects. (Process_Visible_Part): Add processing for single concurrent types. (Relocate_Pragmas_To_Anonymous_Object): New routine. * sem_prag.ads Add new table Pragma_On_Anonymous_Object_OK. (Analyze_Part_Of_In_Decl_Part): New routine. (Relocate_Pragmas_To_Anonymous_Object): New routine. * sem_util.adb (Defining_Entity): Code cleanup. (Fix_Msg): Moved from Sem_Prag and augmented to handle mode replacements. (Has_Full_Default_Initialization): New routine. (Is_Descendant_Of_Suspension_Object): Moved out of Is_Effectively_Volatile. (Is_Single_Concurrent_Object): New routine. (Is_Single_Concurrent_Type): New routine. (Is_Single_Concurrent_Type_Declaration): New routine. (Is_Synchronized_Object): New routine. (Yields_Synchronized_Object): New routine. * sem_util.ads (Fix_Msg): Moved form Sem_Prag. Update the comment on usage. (Has_Full_Default_Initialization): New routine. (Is_Single_Concurrent_Object): New routine. (Is_Single_Concurrent_Type): New routine. (Is_Single_Concurrent_Type_Declaration): New routine. (Is_Synchronized_Object): New routine. (Yields_Synchronized_Object): New routine. * snames.ads-tmpl: Add name Synchronous. From-SVN: r229357
2015-10-26sysdep.c (__gnat_get_task_options): Refine the workaround for the ↵Jerome Lambourg3-5/+17
VX_USR_TASK_OPTION bug in VxWorks 7... 2015-10-26 Jerome Lambourg <lambourg@adacore.com> * sysdep.c (__gnat_get_task_options): Refine the workaround for the VX_USR_TASK_OPTION bug in VxWorks 7, as we cannot check the value of VX_DEALLOC_TCB in RTP mode, the macro value not being defined in the headers. * g-arrspl.ads: Fix typo. From-SVN: r229356
2015-10-26[multiple changes]Arnaud Charlet5-22/+195
2015-10-26 Jerome Lambourg <lambourg@adacore.com> * sysdep.c (__gnat_get_task_options): Workaround a VxWorks bug where VX_DEALLOC_TCB task option is forbidden when calling taskCreate but allowed in VX_USR_TASK_OPTIONS. 2015-10-26 Javier Miranda <miranda@adacore.com> * exp_unst.ads, exp_unst.adb (Is_Uplevel_Referenced): New subprogram. 2015-10-26 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Constant_Indexing_OK): New predicate, subsidiary of Try_Container_Indexing, that implements the name resolution rules given in RM 4.1.6 (13-15). From-SVN: r229355
2015-10-26sem_ch3.adb, [...]: Minor reformatting.Hristian Kirtchev3-21/+32
2015-10-26 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch3.adb, sem_util.adb: Minor reformatting. From-SVN: r229354
2015-10-26re PR fortran/66927 (ICE in gfc_conf_procedure_call)Andre Vehreschild2-4/+30
gcc/fortran/ChangeLog: 2015-10-26 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/66927 * trans-array.c (evaluate_bound): For deferred length arrays get the bounds directly from the descriptor, i.e., prevent using constant zero lower bound from the gfc_conv_array_lbound () routine. (gfc_conv_section_startstride): Hand deferred array status to evaluate_bound (). (gfc_conv_expr_descriptor): Same. From-SVN: r229353
2015-10-26[multiple changes]Arnaud Charlet7-52/+97
2015-10-26 Javier Miranda <miranda@adacore.com> * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Return False when generating C code. * sem_ch3.adb: Fix typos. 2015-10-26 Bob Duff <duff@adacore.com> * sem_ch13.adb (Build_Predicate_Functions): Change the structure of the predicate functions to reflect the requirements of AI12-0071. (Add_Condition): New procedure to do the "and-then-ing" in Add_Call and Add_Predicates. * einfo.ads (Static_Real_Or_String_Predicate): Change the documentation to reflect the new structure. * sem_eval.adb (Real_Or_String_Static_Predicate_Matches): Change the walking of the predicate expression to reflect the new structure. * exp_util.adb: Minor comment fix. From-SVN: r229352
2015-10-26s-rident.ads (No_Dynamic_Sized_Objects): New restriction name.Bob Duff6-0/+131
2015-10-26 Bob Duff <duff@adacore.com> * s-rident.ads (No_Dynamic_Sized_Objects): New restriction name. * sem_util.ads, sem_util.adb (All_Composite_Constraints_Static): New function to check that all relevant constraints are static. * sem_aggr.adb (Resolve_Array_Aggregate): Call All_Composite_Constraints_Static on the bounds of named array aggregates. * sem_ch3.adb (Analyze_Subtype_Declaration): Call All_Composite_Constraints_Static if the type is composite and the subtype is constrained. From-SVN: r229351
2015-10-26[multiple changes]Arnaud Charlet3-8/+21
2015-10-26 Javier Miranda <miranda@adacore.com> * exp_ch6.adb (Expand_N_Subprogram_Declaration): Skip the frontend transformation of functions that return a constrained array into a procedure when they are unchecked_conversion instances. 2015-10-26 Gary Dismukes <dismukes@adacore.com> * s-os_lib.ads: Minor reformatting/rewording. From-SVN: r229350
2015-10-26debug.adb: Introduce debug flag -gnatd.5.Arnaud Charlet2-1/+9
2015-10-26 Arnaud Charlet <charlet@adacore.com> * debug.adb: Introduce debug flag -gnatd.5. From-SVN: r229349
2015-10-26s-os_lib.ads, [...] (Kill): New routine.Pascal Obry6-50/+71
2015-10-26 Pascal Obry <obry@adacore.com> * s-os_lib.ads, s-os_lib.adb (Kill): New routine. This routine makes visible support for killing processes in expect.c. * expect.c (__gnat_kill): Removed from here. * adaint.c (__gnat_kill): Added here to be usable in the compiler (System.OS_Lib). * make.adb (Sigint_Intercepted): Use the Kill routine from System.OS_Lib. From-SVN: r229348
2015-10-26einfo.ads, [...] (Needs_Typedef, [...]): Removed, no longer used.Arnaud Charlet4-32/+6
2015-10-26 Arnaud Charlet <charlet@adacore.com> * einfo.ads, einfo.adb, exp_unst.adb (Needs_Typedef, Set_Needs_Typedef): Removed, no longer used. From-SVN: r229347
2015-10-26tree-vect-loop.c (vect_create_epilog_for_reduction): Fix VEC_COND_EXPR types.Alan Hayward2-2/+8
2015-10-26 Alan Hayward <alan.hayward@arm.com> * tree-vect-loop.c (vect_create_epilog_for_reduction): Fix VEC_COND_EXPR types. From-SVN: r229346
2015-10-26[multiple changes]Arnaud Charlet8-33/+83
2015-10-26 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb (First_Component): Update the assertion to allow for concurrent types. (First_Component_Or_Discriminant): Update the assertion to allow for concurrent types. * einfo.ads: Update the documentation of attributes First_Component and First_Component_Or_Discriminant along with uses in entities. 2015-10-26 Hristian Kirtchev <kirtchev@adacore.com> * sem_res.adb (Resolve_Actuals): An effectively volatile object may act as an actual when the corresponding formal is of a non-scalar effectively volatile type, not just a non-scalar volatile type. 2015-10-26 Bob Duff <duff@adacore.com> * sinfo.ads, sem_util.ads: Update comments. 2015-10-26 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Analyze_Refined_Depends_Global_Post): When dealing with protected entries or protected subprograms, use the enclosing protected type to ensure that the protected type declaration is declared in a package spec. Remove an obsolete attempt to ensure the aggregate for of pragma Refined_State as this routine is never called in that case. 2015-10-26 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): For an element iterator loop, the element is a constant if the container object is a constant, even if the container type has a Variable_Indexing aspect. From-SVN: r229345
2015-10-26[auto-inc-dec.c] Account for cost of move operation in FORM_PRE_ADD and ↵Kyrylo Tkachov2-22/+23
FORM_POST_ADD cases * auto-inc-dec.c (insert_move_insn_before): Delete. (attempt_change): Remember to cost the simple move in the FORM_PRE_ADD and FORM_POST_ADD cases. From-SVN: r229344
2015-10-26[multiple changes]Arnaud Charlet16-23/+105
2015-10-26 Bob Duff <duff@adacore.com> * s-fileio.adb (Fopen_Mode): Use "r+" for Out_File/Stream_IO, so the file won't be truncated on 'fopen', as required by AI95-00283-1. 2015-10-26 Bob Duff <duff@adacore.com> * gnat1drv.adb, prj.adb, sem_ch6.adb, s-regpat.adb, sem_prag.adb: Fix typos. * einfo.ads, restrict.ads: Minor comment fixes. * err_vars.ads, sem_util.adb, errout.ads: Code clean up. 2015-10-26 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Assignment): Do not check that the Left-hand side is legal in an inlined body, check is done on the original template. 2015-10-26 Ed Schonberg <schonberg@adacore.com> * exp_util.ads, exp_util.adb (Find_Primitive_Operations): New subprogram to retrieve by name the possibly overloaded set of primitive operations of a type. * sem_ch4.adb (Try_Container_Indexing): Use Find_Primitive_Operations to handle overloaded indexing operations of a derived type. From-SVN: r229343
2015-10-26osint-c.ads: Minor comment update.Arnaud Charlet9-28/+32
2015-10-26 Arnaud Charlet <charlet@adacore.com> * osint-c.ads: Minor comment update. 2015-10-26 Arnaud Charlet <charlet@adacore.com> * s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads, s-osinte-darwin.ads, s-osinte-android.ads, s-osinte-freebsd.ads, s-taprop-posix.adb (Get_Page_Size): C function returns an int. Adjust callers accordingly. From-SVN: r229342
2015-10-26[multiple changes]Arnaud Charlet4-45/+106
2015-10-26 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Is_OK_Object_Reference): New routine. (Substitute_Valid_Check): Perform the 'Valid subsitution but do not suggest the use of the attribute if the left hand operand does not denote an object as it leads to illegal code. 2015-10-26 Hristian Kirtchev <kirtchev@adacore.com> * exp_unst.adb: Minor reformatting. 2015-10-26 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb: Improve error msg. From-SVN: r229341
2015-10-26[multiple changes]Arnaud Charlet7-15/+92
2015-10-26 Ed Schonberg <schonberg@adacore.com> * sem_disp.adb (Check_Controlling_Type): Handle properly the case of an incomplete type whose full view is tagged, when a primitive operation of the type is declared between the two views. 2015-10-26 Bob Duff <duff@adacore.com> * adaint.c (__gnat_locate_exec_on_path): If the PATH environment variable is not set, do not return NULL, because we can still find the executable if it includes a directory name. 2015-10-26 Ed Schonberg <schonberg@adacore.com> * sem_elab.adb (Elab_Warning): Under dynamic elaboration, when elaboration warnings are enabled, emit proper warning header when triggered by an access attribute. 2015-10-26 Steve Baird <baird@adacore.com> * exp_ch11.adb: If CodePeer_Mode is true, generate simplified SCIL for exception declarations. * exp_ch11.adb (Expand_N_Exception_Declaration) If CodePeer_Mode is True, initialize the Full_Name component of the exception record to null instead of to the result of an unchecked conversion. 2015-10-26 Ed Schonberg <schonberg@adacore.com> * exp_unst.adb (Note_Uplevel_Ref) : Handle properly a reference that denotes a function returning a constrained array, that has been rewritten as a procedure. * makeutl.ads: Minor edit. From-SVN: r229340
2015-10-26Minor reformatting.Arnaud Charlet1-3/+3
From-SVN: r229339