- 02 Mar, 2015 9 commits
-
-
MAINTAINERS (Various Maintainers): Add myself as libmpx, pointer bounds checker and i386 MPX maintainer. * MAINTAINERS (Various Maintainers): Add myself as libmpx, pointer bounds checker and i386 MPX maintainer. From-SVN: r221104
Ilya Enkovich committed -
2015-03-02 Robert Dewar <dewar@adacore.com> * sem_ch3.adb, exp_attr.adb, checks.adb, exp_aggr.adb: Minor reformatting. 2015-03-02 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb: extend use of Available_Subtype. 2015-03-02 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Duplication_Error): Remove the special handling of 'Class or _Class in the context of pre/postconditions. (Process_Class_Wide_Condition): Remove the special handling of 'Class or _Class in the context of pre/postconditions. * sem_util.adb (Original_Aspect_Pragma_Name): Names Pre_Class and Post_Class no longer need to be converted to _Pre and _Post. * sem_util.ads (Original_Aspect_Pragma_Name): Update the comment on usage. 2015-03-02 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch6.adb (Process_Preconditions): Modify the mechanism that find the first source declaration to correct exit the loop once it has been found. 2015-03-02 Gary Dismukes <dismukes@adacore.com> * a-strsea.adb: Minor typo fix. 2015-03-02 Bob Duff <duff@adacore.com> * einfo.ads: Minor comment fixes. From-SVN: r221103
Arnaud Charlet committed -
2015-03-02 Gary Dismukes <dismukes@adacore.com> * einfo.adb, checks.adb: Minor reformatting and typo fixes. 2015-03-02 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Get_Assoc_Expr): If the Default_Component_Value is defined for the array type, use it instead of a Default_Value specified for the component type itself. From-SVN: r221102
Arnaud Charlet committed -
2015-03-02 Thomas Quinot <quinot@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference, case Input): When expanding a 'Input attribute reference for a class-wide type, do not generate a separate object declaration for the controlling tag dummy object; instead, generate the expression inline in the dispatching call. Otherwise, the declaration (which involves a call to String'Input, returning a dynamically sized value on the secondary stack) will be expanded outside of proper secondary stack mark/release operations, and will thus cause a secondary stack leak. 2015-03-02 Hristian Kirtchev <kirtchev@adacore.com> * checks.adb (Add_Validity_Check): Change the names of all formal parameters to better illustrate their purpose. Update the subprogram documentation. Update all occurrences of the formal parameters. Generate a pre/postcondition pragma by calling Build_Pre_Post_Condition. (Build_PPC_Pragma): Removed. (Build_Pre_Post_Condition): New routine. * einfo.adb Node8 is no longer used as Postcondition_Proc. Node14 is now used as Postconditions_Proc. Flag240 is now renamed to Has_Expanded_Contract. (First_Formal): The routine can now operate on generic subprograms. (First_Formal_With_Extras): The routine can now operate on generic subprograms. (Has_Expanded_Contract): New routine. (Has_Postconditions): Removed. (Postcondition_Proc): Removed. (Postconditions_Proc): New routine. (Set_Has_Expanded_Contract): New routine. (Set_Has_Postconditions): Removed. (Set_Postcondition_Proc): Removed. (Set_Postconditions_Proc): New routine. (Write_Entity_Flags): Remove the output of Has_Postconditions. Add the output of Has_Expanded_Contract. (Write_Field8_Name): Remove the output of Postcondition_Proc. (Write_Field14_Name): Add the output of Postconditions_Proc. * einfo.ads New attributes Has_Expanded_Contract and Postconditions_Proc along with occurrences in entities. Remove attributes Has_Postconditions and Postcondition_Proc along with occurrences in entities. (Has_Expanded_Contract): New routine along with pragma Inline. (Has_Postconditions): Removed along with pragma Inline. (Postcondition_Proc): Removed along with pragma Inline. (Postconditions_Proc): New routine along with pragma Inline. (Set_Has_Expanded_Contract): New routine along with pragma Inline. (Set_Has_Postconditions): Removed along with pragma Inline. (Set_Postcondition_Proc): Removed along with pragma Inline. (Set_Postconditions_Proc): New routine along with pragma Inline. * exp_ch6.adb (Add_Return): Code cleanup. Update the generation of the call to the _Postconditions routine of the procedure. (Expand_Non_Function_Return): Reformat the comment on usage. Code cleanup. Update the generation of the call to the _Postconditions routine of the procedure or entry [family]. (Expand_Simple_Function_Return): Update the generation of the _Postconditions routine of the function. (Expand_Subprogram_Contract): Reimplemented. * exp_ch6.ads (Expand_Subprogram_Contract): Update the parameter profile along the comment on usage. * exp_ch9.adb (Build_PPC_Wrapper): Code cleanup. (Expand_N_Task_Type_Declaration): Generate pre/postconditions wrapper when the entry [family] has a contract with pre/postconditions. * exp_prag.adb (Expand_Attributes_In_Consequence): New routine. (Expand_Contract_Cases): This routine and its subsidiaries now analyze all generated code. (Expand_Old_In_Consequence): Removed. * sem_attr.adb Add with and use clause for Sem_Prag. (Analyze_Attribute): Reimplment the analysis of attribute 'Result. (Check_Use_In_Test_Case): Use routine Test_Case_Arg to obtain "Ensures". * sem_ch3.adb (Analyze_Declarations): Analyze the contract of a generic subprogram. (Analyze_Object_Declaration): Do not create a contract node. (Derive_Subprogram): Do not create a contract node. * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Do not create a contract node. (Analyze_Completion_Contract): New routine. (Analyze_Function_Return): Alphabetize. (Analyze_Generic_Subprogram_Body): Alphabetize. Do not create a contract node. Do not copy pre/postconditions to the original generic template. (Analyze_Null_Procedure): Do not create a contract node. (Analyze_Subprogram_Body_Contract): Reimplemented. (Analyze_Subprogram_Body_Helper): Do not mark the enclosing scope as having postconditions. Do not create a contract node. Analyze the subprogram body contract of a body that acts as a compilation unit. Expand the subprogram contract after the declarations have been analyzed. (Analyze_Subprogram_Contract): Reimplemented. (Analyze_Subprogram_Specification): Do not create a contract node. (List_Inherited_Pre_Post_Aspects): Code cleanup. * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Update the comment on usage. (Analyze_Subprogram_Contract): Update the parameter profile and the comment on usage. * sem_ch7.adb (Analyze_Package_Body_Helper): Do not create a contract node. (Analyze_Package_Declaration): Do not create a contract node. (Is_Subp_Or_Const_Ref): Ensure that the prefix has an entity. * sem_ch8.adb (Analyze_Subprogram_Renaming): Do not create a contract node. * sem_ch9.adb (Analyze_Entry_Declaration): Do not create a contract node. * sem_ch10.adb (Analyze_Compilation_Unit): Move local variables to their proper section and alphabetize them. Analyze the contract of a [generic] subprogram after all Pragmas_After have been analyzed. (Analyze_Subprogram_Body_Stub_Contract): Alphabetize. * sem_ch12.adb (Analyze_Generic_Package_Declaration): Do not create a contract node. (Analyze_Generic_Subprogram_Declaration): Alphabetize local variables. Do not create a contract node. Do not generate aspects out of pragmas for ASIS. (Analyze_Subprogram_Instantiation): Instantiate the contract of the subprogram. Do not create a contract node. (Instantiate_Contract): New routine. (Instantiate_Subprogram_Body): Alphabetize local variables. (Save_Global_References_In_Aspects): New routine. (Save_References): Do not save the global references found within the aspects of a generic subprogram. * sem_ch12.ads (Save_Global_References_In_Aspects): New routine. * sem_ch13.adb (Analyze_Aspect_Specifications): Do not use Original_Node for establishing linkages. (Insert_Pragma): Insertion in a subprogram body takes precedence over the case where the subprogram body is also a compilation unit. * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Use Get_Argument to obtain the proper expression. Install the generic formals when the related context is a generic subprogram. (Analyze_Depends_In_Decl_Part): Use Get_Argument to obtain the proper expression. Use Corresponding_Spec_Of to obtain the spec. Install the generic formal when the related context is a generic subprogram. (Analyze_Global_In_Decl_Part): Use Get_Argument to obtain the proper expression. Use Corresponding_Spec_Of to obtain the spec. Install the generic formal when the related context is a generic subprogram. (Analyze_Initial_Condition_In_Decl_Part): Use Get_Argument to obtain the proper expression. Remove the call to Check_SPARK_Aspect_For_ASIS as the analysis is now done automatically. (Analyze_Pragma): Update all occurrences to Original_Aspect_Name. Pragmas Contract_Cases, Depends, Extensions_Visible, Global, Postcondition, Precondition and Test_Case now carry generic templates when the related context is a generic subprogram. The same pragmas are no longer forcefully fully analyzed when the context is a subprogram that acts as a compilation unit. Pragmas Abstract_State, Initial_Condition, Initializes and Refined_State have been clean up. Pragmas Post, Post_Class, Postcondition, Pre, Pre_Class and Precondition now use the same routine for analysis. Pragma Refined_Post does not need to check the use of 'Result or the lack of a post-state in its expression. Reimplement the analysis of pragma Test_Case. (Analyze_Pre_Post_Condition): New routine. (Analyze_Pre_Post_Condition_In_Decl_Part): Reimplemented. (Analyze_Refined_Depends_In_Decl_Part): Use Get_Argument to obtain the proper expression. (Analyze_Refined_Global_In_Decl_Part): Use Get_Argument to obtain the proper expression. (Analyze_Test_Case_In_Decl_Part): Reimplemented. (Check_Pre_Post): Removed. (Check_Precondition_Postcondition): Removed. (Check_SPARK_Aspect_For_ASIS): Removed. (Check_Test_Case): Removed. (Collect_Subprogram_Inputs_Outputs): Use Get_Argument to obtain the proper expression. Use Corresponding_Spec_Of to find the proper spec. (Create_Generic_Template): New routine. (Duplication_Error): New routine. (Expression_Function_Error): New routine. (Find_Related_Subprogram_Or_Body): Moved to the spec of Sem_Prag. Emit precise error messages. Account for cases of rewritten expression functions, generic instantiations, handled sequence of statements and pragmas from aspects. (Get_Argument): New routine. (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Removed. (Preanalyze_CTC_Args): Removed. (Process_Class_Wide_Condition): New routine. * sem_prag.ads (Analyze_Test_Case_In_Decl_Part): Update the parameter profile along with the comment on usage. (Find_Related_Subprogram_Or_Body): Moved from the body of Sem_Prag. (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Removed. (Test_Case_Arg): New routine. * sem_util.adb Add with and use clauses for Sem_Ch6. (Add_Contract_Item): This routine now creates a contract node the first time an item is added. Remove the duplicate aspect/pragma checks. (Check_Result_And_Post_State): Reimplemented. (Corresponding_Spec_Of): New routine. (Get_Ensures_From_CTC_Pragma): Removed. (Get_Requires_From_CTC_Pragma): Removed. (Has_Significant_Contract): New routine. (Inherit_Subprogram_Contract): Inherit only if the source has a contract. (Install_Generic_Formals): New routine. (Original_Aspect_Name): Removed. (Original_Aspect_Pragma_Name): New routine. * sem_util.ads (Check_Result_And_Post_State): Reimplemented. (Corresponding_Spec_Of): New routine. (Get_Ensures_From_CTC_Pragma): Removed. (Get_Requires_From_CTC_Pragma): Removed. (Has_Significant_Contract): New routine. (Install_Generic_Formals): New routine. (Original_Aspect_Name): Removed. (Original_Aspect_Pragma_Name): New routine. * sem_warn.adb Add with and use clauses for Sem_Prag. (Within_Postcondition): Use Test_Case_Arg to extract "Ensures". From-SVN: r221101
Arnaud Charlet committed -
2015-03-02 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Available_Subtype): Optimization in Find_Selected_Component: when safe, use existing subtype of array component, possibly discriminant-dependent, rather than creating new subtype declaration for it. In this fashion different occurrences of the component have the same subtype, rather than just equivalent ones. Simplifies value tracing in GNATProve. From-SVN: r221100
Ed Schonberg committed -
2015-02-28 Martin Liska <mliska@suse.cz> Jan Hubicka <hubicka@ucw.cz> * ipa-icf.c (sem_variable::equals): Improve debug output; get variable constructor. (sem_variable::parse): Do not filter out too early; give up on volatile and register vars. (sem_item_optimizer::filter_removed_items): Filter out nonreadonly variables. * ipa-icf.h (sem_variable::init): Do not set ctor. (sem_variable::ctor): Remove. gcc/testsuite/ChangeLog: 2015-02-28 Martin Liska <mliska@suse.cz> Jan Hubicka <hubicka@ucw.cz> * gcc.dg/ipa/ipa-icf-35.c: New test. * gcc.dg/ipa/ipa-icf-36.c: New test. * gcc.dg/ipa/ipa-icf-37.c: New test. Co-Authored-By: Jan Hubicka <hubicka@ucw.cz> From-SVN: r221099
Martin Liska committed -
PR middle-end/65233 * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs. From-SVN: r221097
Aldy Hernandez committed -
* ipa-icf.c: Include stor-layout.h (sem_function::compare_cgraph_references): Rename to ... (sem_item::compare_cgraph_references): ... this one. (sem_variable::equals_wpa): New function (sem_variable::equals): Do not check stuff already verified by equals_wpa. (sem_variable::equals): Reorg based on varasm.c:compare_constant. * ipa-icf.h (sem_item): Add compare_cgraph_references. (sem_function): Remove compare_cgraph_references. (sem_variable): Turns equals_wpa into non-inline. From-SVN: r221096
Jan Hubicka committed -
From-SVN: r221095
GCC Administrator committed
-
- 01 Mar, 2015 11 commits
-
-
* ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT. (sem_item::add_expr): New function. (sem_function::hash_stmt): Handle operands of most statements. (sem_variable::get_hash): Hash the actual constructor. * ipa-icf.h (sem_item): Add add_expr. (sem_function): Update prototype of hash_stmt From-SVN: r221092
Jan Hubicka committed -
From-SVN: r221091
Joseph Myers committed -
2015-02-28 Martin Liska <mliska@suse.cz> Jan Hubicka <hubicka@ucw.cz> PR ipa/65245 * ipa-icf-gimple.c (func_checker::compare_function_decl): Remove. (func_checker::compare_variable_decl): Skip symtab vars. (func_checker::compare_cst_or_decl): Update. * ipa-icf.c (sem_function::parse): Do not consider aliases. (sem_function::compare_cgraph_references): Add ADDRESS parameter; use correct symtab predicates. (sem_function::equals_wpa): Update uses of compare_cgraph_references. (sem_variable::parse): Update comment. (sem_item_optimizer::build_graph): Consider ultimate aliases for references. * gcc.dg/ipa/ipa-icf-34.c: New test. Co-Authored-By: Jan Hubicka <hubicka@ucw.cz> From-SVN: r221090
Martin Liska committed -
gcc/testsuite/ PR target/61142 * gcc.target/sh/sh/pr61142.c: New. From-SVN: r221089
Oleg Endo committed -
* c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX. (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and DECL_TEMPLATE_RESULT emulations. (dump_ada_template)): Add guard for TYPE_METHODS. From-SVN: r221088
Eric Botcazou committed -
PR ada/65259 * doc/gnat_ugn/gnat_project_manager.rst, doc/gnat_ugn/platform_specific_information.rst: Remove reference to image, too troublesome with texi format. * gnat_ugn.texi: Regenerate. From-SVN: r221087
Arnaud Charlet committed -
* ipa-icf-gimple.c (func_checker::compare_operand): Fix handling of OBJ_TYPE_REF. From-SVN: r221086
Jan Hubicka committed -
* ipa-icf.c (sem_function::merge): Fix handling of COMDAT. (sem_variable::merge) Likewise. From-SVN: r221085
Jan Hubicka committed -
* ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline target; also match flag_ipa_devirt. From-SVN: r221084
Jan Hubicka committed -
From-SVN: r221083
GCC Administrator committed -
* ipa-icf-gimple.c (func_checker::compare_variable_decl): Validate variable alignment. * ipa-icf.c (sem_function::equals_private): Be more precise about non-common function attributes. (sem_variable::equals): Likewise. * gcc.target/i386/stackalign/longlong-2.c: Omit ICF. * g++.dg/ipa/pr63595.C: Update expected results. From-SVN: r221080
Martin Liska committed
-
- 28 Feb, 2015 6 commits
-
-
PR ipa/65237 * ipa-icf.c (sem_function::merge): Do not attempt to produce alias across COMDAT group boundary. From-SVN: r221079
Jan Hubicka committed -
re PR bootstrap/65232 (bootstrap failure (ICE in change_symbol_block, at varasm.c:1230) on arm-linux-gnueabihf, in libstdc++ stage1) PR ipa/65232 * ipa-icf.c (clear_decl_rtl): New function. (sem_function::merge): Clear RTL before forming alias. (sem_variable::merge): Clear RTL before forming alias. From-SVN: r221078
Jan Hubicka committed -
PR ipa/65236 * g++.dg/ipa/ipa-icf-6.C: New testcase. * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt. From-SVN: r221077
Jan Hubicka committed -
2015-02-28 Matthias Klose <doko@ubuntu.com> PR libstdc++/65246 * python/libstdcxx/v6/__init__.py: Use explicit relative imports. From-SVN: r221076
Matthias Klose committed -
gcc/ * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type to neon_to_gp<q>. From-SVN: r221075
Xingxing Pan committed -
From-SVN: r221074
GCC Administrator committed
-
- 27 Feb, 2015 14 commits
-
-
2015-02-27 Vladimir Makarov <vmakarov@redhat.com> * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix a typo in the description. From-SVN: r221071
Vladimir Makarov committed -
2015-02-27 Vladimir Makarov <vmakarov@redhat.com> PR target/64317 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New. * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New. * lra-constraints.c: Include "params.h". (EBB_PROBABILITY_CUTOFF): Use LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF. (lra_inheritance): Use '<' instead of '<=' for EBB_PROBABILITY_CUTOFF. * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff): Document change. From-SVN: r221070
Vladimir Makarov committed -
* ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing vector length condition. From-SVN: r221069
Martin Liska committed -
2015-02-27 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/extend.texi (x86 transactional memory intrinsics): Reorganize discussion of _xbegin. Clarify that the return value is a bit mask. Expand example and move to end of section. From-SVN: r221068
Sandra Loosemore committed -
* gcc.dg/vect/pr59354.c: Move vector producing code to separate function. From-SVN: r221066
Pat Haugen committed -
PR ipa/65237 * gcc.dg/attr-noinline.c: Add -fno-ipa-icf * gcc.dg/noreturn-7.c: Add -fno-ipa-icf. * gcc.dg/ipa/ipa-cp-1.c: Revert accidental commit. * gcc.dg/ipa/ipa-cp-2.c: Revert accidental commit. From-SVN: r221065
Jan Hubicka committed -
PR rtl-optimization/65220 * config/i386/i386.md (*udivmod<mode>4_pow2): New. Co-Authored-By: Aldy Hernandez <aldyh@redhat.com> From-SVN: r221064
Jakub Jelinek committed -
PR tree-optimization/65048 * gcc.dg/tree-ssa/ssa-dom-thread-9.c: Add -std=gnu89 to dg-options. (foo): Use K&R style definition. From-SVN: r221063
Jakub Jelinek committed -
2015-02-27 Vladimir Makarov <vmakarov@redhat.com> PR target/65032 * lra-remat.c (update_scratch_ops): New. (do_remat): Call it. * lra.c (lra_register_new_scratch_op): New. Take code from ... (remove_scratches): ... here. * lra-int.h (lra_register_new_scratch_op): New prototype. 2015-02-27 Vladimir Makarov <vmakarov@redhat.com> PR target/65032 * g++.dg/pr65032.C: New. From-SVN: r221062
Vladimir Makarov committed -
PR c/65040 * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable -Wformat-signedness anymore. * c.opt (Wformat-signedness): Don't enable by -Wformat=2. * gcc.dg/pr65066.c: Use -Wformat -Wformat-signedness and not -Wformat=2. From-SVN: r221061
Marek Polacek committed -
From-SVN: r221060
Peter Bergner committed -
PR target/65038 * config.in: Regenerated. * configure: Likewise. * configure.ac (AC_HEADER_STDC): Added explicit. (AC_CHECK_HEADERS): Check for default headers plus for ftw.h header. * libgcov-util.c (gcov_read_profile_dir): Disable use of ftw-function, if header is not found. (ftw_read_file): Likewise. From-SVN: r221059
Kai Tietz committed -
From-SVN: r221058
Kai Tietz committed -
re PR c/65228 (ICE: expected tree that contains ‘decl minimal’ structure, have ‘error_mark’ in start_decl) PR c/65228 * c-decl.c (start_decl): Return NULL_TREE if decl is an error node. * gcc.dg/pr65228.c: New test. From-SVN: r221056
Marek Polacek committed
-