- 26 May, 2015 40 commits
-
-
* gcc-interface/gigi.h (gnat_stabilize_reference): Adjust prototype. * gcc-interface/decl.c (gnat_to_gnu_entity): Do not rely on const_flag to detect constant renamings. Be prepared for specific pattern of renamed object based on function calls. Create a constant object for the renaming of a NULL_EXPR or of a CONSTRUCTOR. Adjust calls to gnat_stabilize_reference and tidy up. Remove redundant tests. (elaborate_expression_1): Remove obsolete test and tidy up. * gcc-interface/trans.c (Call_to_gnu): Do not stabilize In/Out or Out parameters passed by reference. (gnat_to_gnu) <N_Selected_Component>: Remove redundant protection again side-effects. Use gnat_protect_expr instead of gnat_stabilize_reference for general protection against side-effects. * gcc-interface/utils2.c (gnat_stable_expr_p): New predicate. (gnat_save_expr): Invoke it. (gnat_protect_expr): Likewise. (gnat_stabilize_reference_1): Likewise. Remove useless propagation of TREE_THIS_NOTRAP. (gnat_stabilize_reference): Remove parameter and adjust throughout. Delete ADDR_EXDR, COMPOUND_EXPR and CONSTRUCTOR cases. Restrict CALL_EXPR case to atomic loads and tweak ERROR_MARK case. From-SVN: r223708
Eric Botcazou committed -
2015-05-26 Andreas Tobler <andreast@gcc.gnu.org> * testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation): Add libiconv for FreeBSD to cxxflags. From-SVN: r223706
Andreas Tobler committed -
line-map.c (LINE_MAP_MAX_COLUMN_NUMBER LINE_MAP_MAX_LOCATION_WITH_COLS,LINE_MAP_MAX_SOURCE_LOCATION): New constants. libcpp/ChangeLog: 2015-05-26 Manuel López-Ibáñez <manu@gcc.gnu.org> * line-map.c (LINE_MAP_MAX_COLUMN_NUMBER LINE_MAP_MAX_LOCATION_WITH_COLS,LINE_MAP_MAX_SOURCE_LOCATION): New constants. (linemap_line_start): Use them. (linemap_position_for_column): Use them. From-SVN: r223705
Manuel López-Ibáñez committed -
PR middle-end/66251 * tree-vect-stmts.c (vect_model_store_cost): Handled strided group stores. (vect_create_vectorized_demotion_stmts): Always set STMT_VINFO_VEC_STMT, also with SLP. (vectorizable_store): Handle strided group stores. testsuite/: PR middle-end/66251 * gcc.dg/vect/pr66251.c: New test. From-SVN: r223704
Michael Matz committed -
re PR target/66049 (Few AArch64 extend and add with shift tests generates sub optimal code with trunk gcc 6.0.) 2015-05-26 Venkataramanan Kumar <venkataramanan.kumar@amd.com> PR target/66049 * config/aarch64/aarch64.md (*adds_shift_imm_<mode>): New pattern. (*subs_shift_imm_<mode>): Likewise. (*adds_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise. (*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise. (*add_uxt<mode>_shift2): Likewise. (*add_uxtsi_shift2_uxtw): Likewise. (*sub_uxt<mode>_shift2): Likewise. (*sub_uxtsi_shift2_uxtw): Likewise. From-SVN: r223703
Venkataramanan Kumar committed -
From-SVN: r223702
David Edelsohn committed -
From-SVN: r223701
Christian Bruel committed -
From-SVN: r223700
Christian Bruel committed -
re PR target/52144 (ARM should support arm/thumb function attribute to permit different instruction sets in the same source) 2015-05-13 Christian Bruel <christian.bruel@st.com> PR target/52144 * config/arm/arm.c (arm_option_check_internal) (arm_option_params_internal): Check opts->target_flags to set macros. (TREE_TARGET_ARM, TREE_TARGET_THUMB) (TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Replace with... (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P) (builtin_define): Replaced with def_or_undef_macro. * config/arm/arm.h (TREE_TARGET_ARM, TREE_TARGET_THUMB) TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Redefine with... (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P) (TARGET_32BIT_P, TARGET_ARM_QBIT_P, TARGET_ARM_SAT_P, TARGET_IDIV_P) (TARGET_HAVE_LDREX_P, TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P) (TARGET_ARM_FEATURE_LDREX_P) (TARGET_DSP_MULTIPLY_P, TARGET_INT_SIMD_P): New macros. (def_or_undef_macro): New function. From-SVN: r223699
Christian Bruel committed -
* c-common.h (builtin_define_with_int_value) (builtin_define_type_sizeof): Declare. * c-cppbuiltin.c (builtin_define_with_int_value) (builtin_define_type_sizeof): Externalize. (builtin_define_std): Cleanup declaration. * config/arm/arm-protos.h (arm_cpu_cpp_builtins): Declare. * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Move macro defines into... * config/arm/arm-c.c (arm_cpu_cpp_builtins): New function. (builtin_define, builtin_assert): New macros. From-SVN: r223698
Christian Bruel committed -
re PR tree-optimization/66142 (Loop is not vectorized because not sufficient support for GOMP_SIMD_LANE) 2015-05-26 Richard Biener <rguenther@suse.de> PR tree-optimization/66142 * tree-ssa-sccvn.c (vn_reference_lookup_3): Manually compare MEM_REFs for the same base address. * gcc.dg/tree-ssa/ssa-fre-44.c: New testcase. From-SVN: r223697
Richard Biener committed -
2015-05-26 Ed Schonberg <schonberg@adacore.com> * sinfo.ads: Minor reformatting. * sem_aux.ads: Clarify use of First_Discriminant. * sem_ch4.adb (Analyze_Explicit_Dereference): The use of a limited view is replaced with the non-limited view in an instance body, where the enclosing unit must have a regular with_clause on the relevant unit. * sem_ch12.adb (Install_Body): Freeze instantation after its body. Remove useless freeze nodes for incomplete actuals to prevent multiple generation of internal operations. (Instantiate_Package_Body): Set sloc of body appropriately when there are incomplete actuals and the instance body is placed in the body of the enclosing unit. * errout.ads: Consistent punctuation, better alignment and trivial typos in comments. * err_vars.ads: Fix typo. 2015-05-26 Eric Botcazou <ebotcazou@adacore.com> * sem_ch8.adb (Analyze_Object_Renaming): Lift restriction on components of Volatile_Full_Access objects. 2015-05-26 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Is_Non_Overriding_Operation, Get_Generic_Parent_Type): Handle properly the case of a derived scalar type by using the first subtype rather than its generated anonymous base type. 2015-05-26 Eric Botcazou <ebotcazou@adacore.com> * einfo.adb (Write_Field17_Name): Move E_Incomplete_Subtype case to... (Write_Field19_Name): ...here. From-SVN: r223696
Arnaud Charlet committed -
Fix PR ipa/66181 2015-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR ipa/66181 * tree.c (verify_type_variant): Do not check TYPE_NO_FORCE_BLK. From-SVN: r223695
Ramana Radhakrishnan committed -
* configure.ac: Set CXXFLAGS for ISL test. * configure: Regenerate. From-SVN: r223694
Jason Merrill committed -
* configure.ac: When bootstrapping with GCC, add -std=c++98 to CXX. * configure: Regenerate. From-SVN: r223692
Jason Merrill committed -
* configure.ac: Use C++ for all tests. Use AC_CHECK_DECLS for strstr and basename. * configure: Regenerate. From-SVN: r223691
Jason Merrill committed -
fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and X % C -> X & (C - 1) for C being a power-of two to ... 2015-05-26 Richard Biener <rguenther@suse.de> * fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and X % C -> X & (C - 1) for C being a power-of two to ... * match.pd: ... patterns. From-SVN: r223690
Richard Biener committed -
2015-05-26 Marc Glisse <marc.glisse@inria.fr> * match.pd (swapped_tcc_comparison): New operator list. (-A CMP -B): New simplification. * fold-const.c (fold_comparison): Remove corresponding code. From-SVN: r223689
Marc Glisse committed -
caller-save.c (init_caller_save): Base temporary register numbers on LAST_VIRTUAL_REGISTER + 1 rather than... gcc/ * caller-save.c (init_caller_save): Base temporary register numbers on LAST_VIRTUAL_REGISTER + 1 rather than FIRST_PSEUDO_REGISTER. * cfgloopanal.c (init_set_costs): Likewise. * dojump.c (prefer_and_bit_test): Likewise. * expr.c (init_expr_target): Likewise. * ira.c (setup_prohibited_mode_move_regs): Likewise. * lower-subreg.c (init_lower_subreg): Likewise. * postreload.c (reload_cse_regs_1): Likewise. From-SVN: r223688
Richard Sandiford committed -
gcc/ * gensupport.h (compute_test_codes): Declare. * gensupport.c (compute_predicate_codes): Rename to... (compute_test_codes): ...this. Generalize error message. (process_define_predicate): Update accordingly. * genpreds.c (compute_maybe_allows): Delete. (add_constraint): Use compute_test_codes to determine whether something can accept a SUBREG, REG or MEM. From-SVN: r223687
Richard Sandiford committed -
2015-05-26 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb: sem_ch13.adb (Add_Predicates): Undo analysis of original expression in ASIS mode: does not solve the ASIS problem of a usable type information, and crashes the back-end when performing type annotations. 2015-05-26 Robert Dewar <dewar@adacore.com> * sem_disp.adb (Inherited_Subprograms): Add One_Only parameter. (Is_Overriding_Subprogram): Use One_Only_Parameter. * sem_disp.ads (Inherited_Subprograms): Add One_Only parameter. From-SVN: r223686
Arnaud Charlet committed -
2015-05-26 Robert Dewar <dewar@adacore.com> * exp_prag.adb, sem_ch3.adb, sem_ch5.adb, exp_ch11.adb, ghost.adb, exp_ch6.adb, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb, sem_ch13.adb, exp_ch3.adb: Minor reformatting. 2015-05-26 Bob Duff <duff@adacore.com> * treepr.adb: Minor improvement to debugging routines (pp, pn) robustness. Rearrange the code so passing a nonexistent Node_Id prints "No such node" rather than crashing, and causing gdb to generate confusing messages. 2015-05-26 Gary Dismukes <dismukes@adacore.com> * sem_util.adb: Minor typo fix. 2015-05-26 Yannick Moy <moy@adacore.com> * sem_aux.adb (Subprogram_Body_Entity): Deal with subprogram stubs. From-SVN: r223685
Arnaud Charlet committed -
2015-05-26 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch3.adb (Expand_N_Full_Type_Declaration): Capture, set and restore the Ghost mode. (Expand_N_Object_Declaration): Capture, set and restore the Ghost mode. (Freeze_Type): Update the call to Set_Ghost_Mode. (Restore_Globals): New routine. * exp_ch5.adb Add with and use clauses for Ghost. (Expand_N_Assignment_Statement): Capture, set and restore the Ghost mode. (Restore_Globals): New routine. * exp_ch6.adb Add with and use clauses for Ghost. (Expand_N_Procedure_Call_Statement): Capture, set and restore the Ghost mode. (Expand_N_Subprogram_Body): Code cleanup. Capture, set and restore the Ghost mode. (Expand_N_Subprogram_Declaration): Capture, set and restore the Ghost mode. (Restore_Globals): New routine. * exp_ch7.adb Add with and use clauses for Ghost. (Expand_N_Package_Body): Capture, set and restore the Ghost mode. (Expand_N_Package_Declaration): Capture, set and restore the Ghost mode. (Wrap_HSS_In_Block): Create a proper identifier for the block. * exp_ch8.adb Add with and use clauses for Ghost. (Expand_N_Exception_Renaming_Declaration): Code cleanup. Capture, set and restore the Ghost mode. (Expand_N_Object_Renaming_Declaration): Capture, set and restore the Ghost mode. (Expand_N_Package_Renaming_Declaration): Capture, set and restore the Ghost mode. (Expand_N_Subprogram_Renaming_Declaration): Capture, set and restore the Ghost mode. * exp_ch11.adb (Expand_N_Exception_Declaration): Code cleanup. Capture, set and restore the Ghost mode. * exp_disp.adb (Make_DT): Update the call to Set_Ghost_Mode. Do not initialize the dispatch table slot of a Ghost subprogram. * exp_prag.adb Add with and use clauses for Ghost. (Expand_Pragma_Check): Capture, set and restore the Ghost mode. (Expand_Pragma_Contract_Cases): Capture, set and restore the Ghost mode. (Expand_Pragma_Initial_Condition): Capture, set and restore the Ghost mode. (Expand_Pragma_Loop_Variant): Capture, set and restore the Ghost mode. (Restore_Globals): New routine. * exp_util.adb Add with and use clauses for Ghost. (Make_Predicate_Call): Code cleanup. Capture, set and restore the Ghost mode. (Restore_Globals): New routine. * freeze.adb (Freeze_Entity): Code cleanup. Update the call to Set_Ghost_Mode. * ghost.adb Add with and use clause for Sem_Prag. (Check_Ghost_Completion): Code cleanup. (Check_Ghost_Overriding): New routine. (Check_Ghost_Policy): Code cleanup. (Ghost_Entity): New routine. (Is_Ghost_Declaration): Removed. (Is_Ghost_Statement_Or_Pragma): Removed. (Is_OK_Context): Reimplemented. (Is_OK_Declaration): New routine. (Is_OK_Pragma): New routine. (Is_OK_Statement): New routine. (Mark_Full_View_As_Ghost): New routine. (Mark_Pragma_As_Ghost): New routine. (Mark_Renaming_As_Ghost): New routine. (Propagate_Ignored_Ghost_Code): Update the comment on usage. (Set_From_Entity): New routine. (Set_From_Policy): New routine. (Set_Ghost_Mode): This routine now handles pragmas and freeze nodes. (Set_Ghost_Mode_For_Freeze): Removed. (Set_Ghost_Mode_From_Entity): New routine. (Set_Ghost_Mode_From_Policy): Removed. * ghost.ads (Check_Ghost_Overriding): New routine. (Mark_Full_View_As_Ghost): New routine. (Mark_Pragma_As_Ghost): New routine. (Mark_Renaming_As_Ghost): New routine. (Set_Ghost_Mode): Update the parameter profile. Update the comment on usage. (Set_Ghost_Mode_For_Freeze): Removed. (Set_Ghost_Mode_From_Entity): New routine. * sem_ch3.adb (Analyze_Full_Type_Declaration): Capture and restore the Ghost mode. Mark a type as Ghost regardless of whether it comes from source. (Analyze_Incomplete_Type_Decl): Capture, set and restore the Ghost mode. (Analyze_Number_Declaration): Capture and restore the Ghost mode. (Analyze_Object_Declaration): Capture and restore the Ghost mode. (Analyze_Private_Extension_Declaration): Capture and restore the Ghost mode. (Analyze_Subtype_Declaration): Capture and restore the Ghost mode. (Process_Full_View): The full view inherits all Ghost-related attributes from the private view. (Restore_Globals): New routine. * sem_ch5.adb (Analyze_Assignment): Capture and restore the Ghost mode. (Restore_Globals): New routine. * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Code cleanup. Capture and restore the Ghost mode. Mark a subprogram as Ghost regarless of whether it comes from source. (Analyze_Procedure_Call): Capture and restore the Ghost mode. (Analyze_Subprogram_Body_Helper): Capture and restore the Ghost mode. (Analyze_Subprogram_Declaration): Capture and restore the Ghost mode. (New_Overloaded_Entity): Ensure that a parent subprogram and an overriding subprogram have compatible Ghost policies. * sem_ch7.adb (Analyze_Package_Body_Helper): Capture and restore the Ghost mode. (Analyze_Package_Declaration): Capture and restore the Ghost mode. Mark a package as Ghost when it is declared in a Ghost region. (Analyze_Private_Type_Declaration): Capture and restore the Ghost mode. (Restore_Globals): New routine. * sem_ch8.adb (Analyze_Exception_Renaming): Code reformatting. Capture and restore the Ghost mode. A renaming becomes Ghost when its name references a Ghost entity. (Analyze_Generic_Renaming): Capture and restore the Ghost mode. A renaming becomes Ghost when its name references a Ghost entity. (Analyze_Object_Renaming): Capture and restore the Ghost mode. A renaming becomes Ghost when its name references a Ghost entity. (Analyze_Package_Renaming): Capture and restore the Ghost mode. A renaming becomes Ghost when its name references a Ghost entity. (Analyze_Subprogram_Renaming): Capture and restore the Ghost mode. A renaming becomes Ghost when its name references a Ghost entity. * sem_ch11.adb (Analyze_Exception_Declaration): Capture, set and restore the Ghost mode. * sem_ch12.adb (Analyze_Generic_Package_Declaration): Capture and restore the Ghost mode. (Analyze_Generic_Subprogram_Declaration): Capture and restore the Ghost mode. * sem_ch13.adb Add with and use clauses for Ghost. (Add_Invariant): New routine. (Add_Invariants): Factor out code. (Add_Predicate): New routine. (Add_Predicates): Factor out code. (Build_Invariant_Procedure_Declaration): Code cleanup. Capture, set and restore the Ghost mode. (Build_Invariant_Procedure): Code cleanup. (Build_Predicate_Functions): Capture, set and restore the Ghost mode. Mark the generated functions as Ghost. * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Capture, set and restore the Ghost mode. (Analyze_External_Property_In_Decl_Part): Capture, set and restore the Ghost mode. (Analyze_Initial_Condition_In_Decl_Part): Capture, set and restore the Ghost mode. (Analyze_Pragma): Code cleanup. Capture, set and restore the Ghost mode. Flag pragmas Linker_Section, No_Return, Unmodified, Unreferenced and Unreferenced_Objects as illegal when it applies to both Ghost and living arguments. Pragma Ghost cannot apply to synchronized objects. (Check_Kind): Moved to the spec of Sem_Prag. (Process_Inline): Flag the pragma as illegal when it applies to both Ghost and living arguments. (Restore_Globals): New routine. * sem_prag.ads Add pragma Default_Initial_Condition to table Assertion_Expression_Pragma. Add new table Is_Aspect_Specifying_Pragma. (Check_Kind): Moved from body of Sem_Prag. * sem_util.adb Add with and use clauses for Ghost. (Build_Default_Init_Cond_Procedure_Body): Capture, set and restore the Ghost mode. (Build_Default_Init_Cond_Procedure_Declaration): Capture, set and restore the Ghost mode. Mark the default initial condition procedure as Ghost when it is declared in a Ghost region. (Is_Renaming_Declaration): New routine. (Policy_In_List): Account for the single argument version of Check_Pragma. * sem_util.ads (Is_Renaming_Declaration): New routine. * sinfo.adb (Is_Ghost_Pragma): New routine. (Set_Is_Ghost_Pragma): New routine. * sinfo.ads New attribute Is_Ghost_Pragma. (Is_Ghost_Pragma): New routine along with pragma Inline. (Set_Is_Ghost_Pragma): New routine along with pragma Inline. From-SVN: r223684
Hristian Kirtchev committed -
From-SVN: r223683
Torvald Riegel committed -
2015-05-26 Robert Dewar <dewar@adacore.com> * sem_ch3.adb, sem_aux.adb, sem_aux.ads, exp_ch6.adb, sprint.adb: Minor reformatting. 2015-05-26 Gary Dismukes <dismukes@adacore.com> * gnat1drv.adb, targparm.adb, targparm.ads, restrict.adb: Minor reformatting and typo fixes in comments. 2015-05-26 Ed Schonberg <schonberg@adacore.com> * sem_ch7.adb (Swap_Private_Dependets): Set visibility of the two views of a private dependent in two separate steps, to ensure proper visibility in parent units analyzed for inlining. From-SVN: r223682
Arnaud Charlet committed -
2015-05-26 Yannick Moy <moy@adacore.com> * sem_aux.adb, sem_aux.ads (Get_Low_Bound): Use Type_Low_Bound. (Package_Body, Package_Spec): New queries moved here from GNATprove. (Package_Specification): Simplify query to remove use of loop. * sem_util.adb, sem_util.ads (Enclosing_Declaration, Enclosing_Package_Or_Subprogram, Is_Attribute_Update): New queries moved here from GNATprove. From-SVN: r223681
Yannick Moy committed -
2015-05-26 Bob Duff <duff@adacore.com> * einfo.adb, einfo.ads, sprint.adb, lib-xref.ads: Minor cleanup: Remove obsolete Entity_Kinds E_String_Type and E_String_Subtype. Update redundant assertions. 2015-05-26 Gary Dismukes <dismukes@adacore.com> * sem_util.adb, sem_util.ads, sem_ch13.adb: Minor typo fixes. From-SVN: r223680
Arnaud Charlet committed -
2015-05-26 Doug Rupp <rupp@adacore.com> * init.c [vxworks]: Refine previous checkin. 2015-05-26 Robert Dewar <dewar@adacore.com> * exp_ch4.adb (Wrap_MA): New function. (Expand_N_Op_Expon): Use Wrap_MA. 2015-05-26 Bob Duff <duff@adacore.com> * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Do not use secondary stack to return limited records with defaulted discriminants. This is an efficiency improvement. * exp_ch6.adb, exp_dist.adb, sem_attr.adb, sem_aux.adb, sem_aux.ads, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, sem_util.adb: Change the sense of Is_Indefinite_Subtype to be Is_Definite_Subtype. This is an improvement to readability (the double negative in "not Is_Indefinite_Subtype" was slightly confusing). Also disallow passing non-[sub]type entities, an unnecessary and slightly bug-prone flexibility. From-SVN: r223679
Arnaud Charlet committed -
2015-05-26 Robert Dewar <dewar@adacore.com> * sem_aggr.adb (Resolve_Array_Aggregate): Defend against bad bounds. * debug.adb: Document -gnatd.k. * erroutc.adb (Set_Msg_Insertion_Line_Number): Implement -gnatd.k. 2015-05-26 Robert Dewar <dewar@adacore.com> * gnat1drv.adb (Gnat1drv): Provide new arguments for Get_Target_Parameters. * restrict.adb (Set_Restriction_No_Specification_Of_Aspect): new procedure. (Set_Restriction_No_Use_Of_Attribute): new procedure. * restrict.ads (Set_Restriction_No_Specification_Of_Aspect): new procedure. (Set_Restriction_No_Use_Of_Attribute): new procedure. * s-rident.ads (Integer_Parameter_Restrictions): New subtype. * targparm.adb (Get_Target_Parameters): Allow new restriction pragmas No_Specification_Of_Aspect No_Use_Of_Attribute No_Use_Of_Pragma. * targparm.ads: New parameters for Get_Target_Parameters. * tbuild.adb (Set_NOD): New name for Set_RND. (Set_NSA): New procedure. (Set_NUA): New procedure. (Set_NUP): New procedure. * tbuild.ads (Make_SC): Minor reformatting. (Set_NOD): New name for Set_RND. (Set_NSA, Set_NUA, Set_NUP): New procedure. 2015-05-26 Ed Schonberg <schonberg@adacore.com> * a-stwise.adb (Find_Token): If source'first is not positive, an exception must be raised, as specified by RM 2005 A.4.3 (68/1). This must be checked explicitly, given that run-time files are normally compiled without constraint checks. * a-stzsea.adb (Find_Token): Ditto. 2015-05-26 Ed Schonberg <schonberg@adacore.com> * sem_util.ads sem_util.adb (Is_Current_Instance): New predicate to fully implement RM 8.6 (17/3). which earlier only applied to synchronized types. Used to preanalyze aspects that include current instances of types, such as Predicate and Invariant. * sem_res.adb (Resolve_Entity_Name): Use Is_Current_Instance. * sem_ch13.adb (Add_Predicates): In ASIS mode, preserve original expression of aspect and analyze it to provide proper type information. 2015-05-26 Robert Dewar <dewar@adacore.com> * rtsfind.ads: Add entries for RE_Exn[_Long]_Float. * s-exnllf.adb (Exn_Float): New function. (Exn_Long_Float): New function. (Exn_Long_Long_Float): Rewritten interface. (Exp): New name for what used to be Exn_Long_Long_Float. * s-exnllf.ads (Exn_Float): New function. (Exn_Long_Float): New function. 2015-05-26 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Find_Selected_Component): Do not emit an error on a selected component when the prefix is a type name that is a Current_Instance. * einfo.ads: Minor grammar fix. 2015-05-26 Doug Rupp <rupp@adacore.com> * init.c [vxworks] (sysLib.h): Only for x86. From-SVN: r223678
Arnaud Charlet committed -
re PR fortran/66082 (memory leak with automatic array dummy argument with derived type array constructor actual argument) 2015-05-26 Paul Thomas <pault@gcc.gnu.org> PR fortran/66082 * trans-array.c (gfc_conv_array_parameter): Ensure that all non-variable arrays with allocatable components have the components deallocated after the procedure call. 2015-05-26 Paul Thomas <pault@gcc.gnu.org> PR fortran/66082 * gfortran.dg/allocatable_scalar_13.f90: New test From-SVN: r223677
Paul Thomas committed -
* include/bits/locale_conv.h: Fix copyright years. * include/bits/quoted_string.h: Likewise. * src/filesystem/Makefile.am: Likewise. * testsuite/22_locale/conversions/buffer/1.cc: Likewise. * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: Likewise. * testsuite/22_locale/conversions/string/1.cc: Likewise. * testsuite/22_locale/conversions/string/2.cc: Likewise. * testsuite/22_locale/conversions/string/3.cc: Likewise. * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc: Likewise. * testsuite/22_locale/conversions/string/requirements/typedefs.cc: Likewise. * testsuite/util/testsuite_fs.h: Likewise. From-SVN: r223676
Jonathan Wakely committed -
2015-05-26 Doug Rupp <rupp@adacore.com> * init-vxsim.c (CPU): define as __VXSIM_CPU__ * sigtramp-vxworks-vxsim.c (CPU): Likewise. sigtramp-vxworks-target.inc: Add check for SIMLINUX. * sigtramp.h: Likewise. 2015-05-26 Robert Dewar <dewar@adacore.com> * sem_aux.adb, sem_disp.adb, sem_util.ads: Add comment. * sem_util.adb: Minor reformatting From-SVN: r223675
Arnaud Charlet committed -
2015-05-26 Yannick Moy <moy@adacore.com> * inline.adb (Has_Initialized_Type): Adapt to new names. * sem_aux.adb, sem_aux.ads (Get_Low_Bound, Number_Components, Subprogram_Body, Subprogram_Body_Entity, Subprogram_Spec, Subprogram_Specification): New query functions used in GNATprove. * sem_disp.adb, sem_disp.ads (Is_Overriding_Subprogram): New query functions used in GNATprove. * sem_util.adb, sem_util.adso (Enclosing_Lib_Unit_Node, Get_Cursor_Type, Get_Return_Object, Get_User_Defined_Eq, Is_Double_Precision_Floating_Point_Type, Is_Single_Precision_Floating_Point_Type): New query functions used in GNATprove. From-SVN: r223674
Yannick Moy committed -
2015-05-26 Bob Duff <duff@adacore.com> * s-rpc.ads (Partition_ID): Increase maximum Partition_ID to some huge number. * a-except-2005.adb, a-except-2005.ads, a-except.adb, a-except.ads, a-exexda.adb, a-exstat.adb: Minor comment fixes. 2015-05-26 Robert Dewar <dewar@adacore.com> * sinfo.adb: Minor comment addition. * einfo.adb: Minor whitespace and punctuation fix. * sem_util.adb: Minor editing of comments. From-SVN: r223673
Arnaud Charlet committed -
2015-05-26 Ed Schonberg <schonberg@adacore.com> * sem_ch7.adb (Install_Private_Declarations, Swap_Private_Dependents): Ensure that both views of the dependent subtype are immediately visible if we are within their scope. This may be needed when a procedure body is both the parent of an instantiated child unit, and is itself used to inline a local function. 2015-05-26 Gary Dismukes <dismukes@adacore.com> * exp_prag.adb, gnat1drv.adb: Minor reformatting. 2015-05-26 Eric Botcazou <ebotcazou@adacore.com> * exp_ch4.adb (Expand_N_Indexed_Component): In the circuit detecting exceptions to the rewriting, deal with implicit dereferences in the selected component case. 2015-05-26 Bob Duff <duff@adacore.com> * sem_ch13.adb (Analyze_One_Aspect): Do not require the expression of the Disable_Controlled aspect to be static in a generic template, because 'Enabled is not known until the instance. 2015-05-26 Doug Rupp <rupp@adacore.com> * init-vxsim.c: New file for vxsim ZCX * sigtramp-vxworks-vxsim.c: Likewise. * sigtramp-vxworks.c: Factor out target dependent bits into ... * sigtramp-vxworks-target.inc: ... here. * sigtramp.h: Add vxsim zcx protos. * init.c [vxworks...] (sysLib.h): Include. (__gnat_map_signal): Make global. [...i386] (__gnat_error_handler): Call __gnat_vxsim_error_handler if on vxsim. [...i386] (__gnat_install_handler): Test if on vxsim. 2015-05-26 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Iterator_Specification): For an element iterator over an array, if the component is aliased, the loop variable is aliased as well. 2015-05-26 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Expand_Actuals): For a function call with in-out parameters that is rewritten as an expression_with_actions, we preserve the original function call node for further use by the caller (typically Expand_Call). In the presence of validity checks, that function call, though it is labelled Analyzed to prevent an infinite recursion, may be rewritten as a temporary by Remove_Side_Effects. Ensure that the caller has access to the original function call to continue expansion. * atree.ads: Minor typo in comment. 2015-05-26 Javier Miranda <miranda@adacore.com> * sem_util.adb (Check_Function_Writable_Actuals): Add missing support to check the violation of writable actuals in array aggregates that have a nonstatic range. From-SVN: r223672
Arnaud Charlet committed -
2015-05-26 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch6.adb (Process_Contract_Cases_For): Update the call to Expand_Pragma_Contract_Cases. * exp_prag.ads, exp_prag.adb (Expand_Contract_Cases): Rename to Expand_Pragma_Contract_Cases. * sem_ch13.adb (Add_Invariants): Use the original aspect name when creating the arguments of pragma Check. This ensures that 'Class is properly recognized and handled. From-SVN: r223671
Hristian Kirtchev committed -
2015-05-26 Richard Biener <rguenther@suse.de> * tree-vect-loop.c (vect_update_vf_for_slp): Split out from ... (vect_analyze_loop_operations): ... here. Remove slp parameter, detect whether we apply SLP. Remove call to vect_update_slp_costs_according_to_vf. (vect_analyze_loop_2): Call vect_update_vf_for_slp and vect_update_slp_costs_according_to_vf from here. Dispatch to vect_slp_analyze_operations to analyze SLP stmts. * tree-vect-slp.c (vect_slp_analyze_node_operations): Drop unused bb_vec_info parameter, adjust assert. (vect_slp_analyze_operations): Pass in the slp instance tree instead of bb_vec_info. (vect_slp_analyze_bb_1): Adjust call to vect_slp_analyze_operations. * tree-vectorizer.h (vect_slp_analyze_operations): Declare. From-SVN: r223670
Richard Biener committed -
* gnat1drv.adb: Minor adjustments. (Adjust_Global_Switches): Disable some related flags in CodePeer mode. * sem_ch4.adb (Has_Arbitrary_Evaluation_Order, Stop_Subtree_Climbind): Code cleanup. * einfo.ads: Minor comment change. From-SVN: r223669
Arnaud Charlet committed -
2015-05-26 Javier Miranda <miranda@adacore.com> * sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate): Code cleanup. * sem_ch3.adb (Build_Derived_Record_Type, Record_Type_Declaration): Code cleanup. * sem_ch4.adb (Has_Arbitrary_Evaluation_Order, Stop_Subtree_Climbind): Tables which speed up the identification of dangerous calls to Ada 2012 functions with writable actuals (AI05-0144). (Analyze_Arithmetic_Op, Analyze_Call, Analyze_Comparison_Op, Analyze_Equality_Op, Analyze_Logical_Op, Analyze_Membership_Op, Analyze_Range): Code cleanup. (Is_Arbitrary_Evaluation_Order_Construct): Removed. (Check_Writable_Actuals): Code cleanup using the added tables. * sem_util.adb (Check_Function_Writable_Actuals): Return immediately if the node does not have the flag Check_Actuals set to True. 2015-05-26 Eric Botcazou <ebotcazou@adacore.com> * exp_ch6.adb (Add_Call_By_Copy_Code): Remove restrictive condition in the detection of the effects of Remove_Side_Effects. * exp_util.ads (Remove_Side_Effects): Add general and historical note. * exp_util.adb (Is_Name_Reference): New predicate. (Remove_Side_Effects): Use it in lieu of Is_Object_Reference in order to decide whether to use the renaming to capture the side effects of the subexpression. (Side_Effect_Free): Remove obsolete test. From-SVN: r223668
Arnaud Charlet committed -
2015-05-26 Robert Dewar <dewar@adacore.com> * aspects.ads, aspects.adb: Add aspect Disable_Controlled. * einfo.ads, einfo.adb (Disable_Controlled): New flag. (Is_Controlled_Active): New function. * exp_ch3.adb (Expand_Freeze_Record_Type): Use Is_Controlled_Active. * exp_util.adb (Needs_Finalization): Finalization not needed if Disable_Controlled set. * freeze.adb (Freeze_Array_Type): Do not set Has_Controlled_Component if the component has Disable_Controlled. (Freeze_Record_Type): ditto. * sem_ch13.adb (Decorate): Minor reformatting. (Analyze_Aspect_Specifications): Implement Disable_Controlled. * sem_ch3.adb (Analyze_Object_Declaration): Handle Disable_Controlled. (Array_Type_Declaration): ditto. (Build_Derived_Private_Type): ditto. (Build_Derived_Type): ditto. (Record_Type_Definition): ditto. * snames.ads-tmpl: Add Name_Disable_Controlled. 2015-05-26 Eric Botcazou <ebotcazou@adacore.com> * exp_ch6.adb (Expand_Actuals): Use a constant declaration instead of a renaming to capture the return value of a function call. (Expand_Simple_Function_Return): Call Remove_Side_Effects instead of removing side effects manually before the call to _Postconditions. From-SVN: r223667
Arnaud Charlet committed
-