gcc.git
9 years ago[multiple changes]
Arnaud Charlet [Mon, 2 Mar 2015 11:07:34 +0000 (12:07 +0100)]
[multiple changes]

2015-03-02  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Ensure_Aggregate_Form):
Ensure that the name denoted by the Chars of a pragma argument
association has the proper Sloc when converted into an aggregate.

2015-03-02  Bob Duff  <duff@adacore.com>

* sem_ch6.adb (Check_Private_Overriding): Capture
Incomplete_Or_Partial_View in a constant. This is cleaner and
more efficient.

2015-03-02  Gary Dismukes  <dismukes@adacore.com>

* einfo.ads, exp_unst.ads: Minor reformatting.

2015-03-02  Ed Schonberg  <schonberg@adacore.com>

* a-strsea.adb (Find_Token): Ensure that the range of iteration
does not perform any improper character access. This prevents
erroneous access in the unusual case of an empty string target
and a From parameter less than Source'First.

2015-03-02  Robert Dewar  <dewar@adacore.com>

* elists.adb (List_Length): Fix incorrect result.

From-SVN: r221111

9 years agosem_ch6.adb (Check_Private_Overriding): Refine the legality checks here.
Bob Duff [Mon, 2 Mar 2015 11:05:03 +0000 (11:05 +0000)]
sem_ch6.adb (Check_Private_Overriding): Refine the legality checks here.

2015-03-02  Bob Duff  <duff@adacore.com>

* sem_ch6.adb (Check_Private_Overriding): Refine the legality
checks here. It used to check that the function is merely
overriding SOMEthing. Now it checks that the function is
overriding a corresponding public operation. This is a correction
to the implementation of the rule in RM-3.9.3(10).

From-SVN: r221110

9 years agodebug.adb: Document new debug flag -gnatd.1.
Robert Dewar [Mon, 2 Mar 2015 11:03:29 +0000 (11:03 +0000)]
debug.adb: Document new debug flag -gnatd.1.

2015-03-02  Robert Dewar  <dewar@adacore.com>

* debug.adb: Document new debug flag -gnatd.1.
* einfo.ads, einfo.adb (Has_Nested_Subprogram): New flag.
(Has_Uplevel_Reference): New flag (Is_Static_Type): New flag.
(Uplevel_Reference_Noted):New flag (Uplevel_References): New field.
* elists.ads elists.adb (List_Length): New function.
* exp_ch6.adb (Expand_N_Subprogram_Body): Call Unnest_Subprogram
when appropriate (Process_Preconditions): Minor code
reorganization and reformatting
* exp_unst.ads, exp_unst.adb: New files.
* gnat1drv.adb (Adjust_Global_Switches): Set
Unnest_Subprogram_Mode if -gnatd.1
* namet.ads, namet.adb (Name_Find_Str): New version of Name_Find with
string argument.
* opt.ads (Unnest_Subprogram_Mode): New flag.
* par-ch3.adb (P_Identifier_Declarations): Fixes to -gnatd.2 handling.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set
Has_Nested_Subprogram flag.
* sem_ch8.adb (Find_Direct_Name): New calling sequence for
Check_Nested_Access.
(Find_Selected_Component): Minor comment addition.
* sem_util.adb (Check_Nested_Access): New version for use with Exp_Unst.
(Note_Possible_Modification): New calling sequence for
Check_Nested_Access.
* sem_util.ads (Check_Nested_Access): New version for use with Exp_Unst.
* gcc-interface/Make-lang.in (GNAT1_OBJS): Add exp_unst.o

From-SVN: r221109

9 years agoutils.c (gnat_pushdecl): For non-artificial pointer types...
Pierre-Marie de Rodat [Mon, 2 Mar 2015 10:59:32 +0000 (10:59 +0000)]
utils.c (gnat_pushdecl): For non-artificial pointer types...

2015-03-02  Pierre-Marie de Rodat  <derodat@adacore.com>

* gcc-interface/utils.c (gnat_pushdecl): For non-artificial pointer
types, preserve the original type and create copies just like the C
front-end does.  For artificial ones, do not define a name for
the original type.
(create_type_decl): When gnat_pushdecl made the input type the
original type for the new declaration, do not define a stub
declaration for it.
* gcc-interface/utils2.c (build_binary_op): Accept two different
pointer types when they point to the same type.

From-SVN: r221108

9 years agoexp_util.adb (Possible_Bit_Aligned_Component): Do not process an unanalyzed node.
Hristian Kirtchev [Mon, 2 Mar 2015 10:52:59 +0000 (10:52 +0000)]
exp_util.adb (Possible_Bit_Aligned_Component): Do not process an unanalyzed node.

2015-03-02  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_util.adb (Possible_Bit_Aligned_Component): Do not process
an unanalyzed node.
* sem_util.adb (Kill_Current_Values): Do not invalidate and
de-null a constant.

From-SVN: r221107

9 years agore PR target/65184 (ICE: in expand_expr_addr_expr_1, at expr.c:7760 with -mabi=ms...
Ilya Enkovich [Mon, 2 Mar 2015 10:47:54 +0000 (10:47 +0000)]
re PR target/65184 (ICE: in expand_expr_addr_expr_1, at expr.c:7760 with -mabi=ms -fcheck-pointer-bounds -mmpx)

gcc/

PR target/65184
* gcc/config/i386/i386.c (ix86_pass_by_reference) Bounds
are never passed by reference.

gcc/testsuite/

PR target/65184
* gcc.target/i386/pr65184.c: New.

From-SVN: r221106

9 years agore PR target/65183 (ICE: verify_ssa failed: virtual use of statement not up-to-date...
Ilya Enkovich [Mon, 2 Mar 2015 10:41:09 +0000 (10:41 +0000)]
re PR target/65183 (ICE: verify_ssa failed: virtual use of statement not up-to-date with -fcheck-pointer-bounds -fchkp-use-nochk-string-functions -mmpx)

gcc/

PR target/65183
* tree-chkp.c (chkp_check_lower): Don't check against
zero bounds for already instrumented functions.
(chkp_check_upper): Likewise.
(chkp_fini): Clean pass local data to avoid wrong reusage.

gcc/testsuite/

PR target/65183
* gcc.target/i386/pr65183.c: New.

From-SVN: r221105

9 years agoMAINTAINERS (Various Maintainers): Add myself as libmpx, pointer bounds checker and...
Ilya Enkovich [Mon, 2 Mar 2015 10:17:26 +0000 (10:17 +0000)]
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

9 years ago[multiple changes]
Arnaud Charlet [Mon, 2 Mar 2015 09:28:56 +0000 (10:28 +0100)]
[multiple changes]

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

9 years ago[multiple changes]
Arnaud Charlet [Mon, 2 Mar 2015 09:26:39 +0000 (10:26 +0100)]
[multiple changes]

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

9 years ago[multiple changes]
Arnaud Charlet [Mon, 2 Mar 2015 09:24:38 +0000 (10:24 +0100)]
[multiple changes]

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

9 years agosem_ch8.adb (Available_Subtype): Optimization in Find_Selected_Component...
Ed Schonberg [Mon, 2 Mar 2015 09:07:01 +0000 (09:07 +0000)]
sem_ch8.adb (Available_Subtype): Optimization in Find_Selected_Component...

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

9 years agoipa-icf.c (sem_variable::equals): Improve debug output; get variable constructor.
Martin Liska [Mon, 2 Mar 2015 07:51:28 +0000 (08:51 +0100)]
ipa-icf.c (sem_variable::equals): Improve debug output; get variable constructor.

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

9 years agore PR middle-end/65233 (ICE (segfault) on arm-linux-gnueabihf and aarch64-linux-gnu)
Aldy Hernandez [Mon, 2 Mar 2015 05:22:03 +0000 (05:22 +0000)]
re PR middle-end/65233 (ICE (segfault) on arm-linux-gnueabihf and aarch64-linux-gnu)

PR middle-end/65233
* ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs.

From-SVN: r221097

9 years agoipa-icf.c: Include stor-layout.h
Jan Hubicka [Mon, 2 Mar 2015 00:54:46 +0000 (01:54 +0100)]
ipa-icf.c: Include stor-layout.h

* 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

9 years agoDaily bump.
GCC Administrator [Mon, 2 Mar 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r221095

9 years agoipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.
Jan Hubicka [Sun, 1 Mar 2015 22:22:26 +0000 (23:22 +0100)]
ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.

* 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

9 years ago* sv.po: Update.
Joseph Myers [Sun, 1 Mar 2015 22:13:09 +0000 (22:13 +0000)]
* sv.po: Update.

From-SVN: r221091

9 years agore PR ipa/65245 (internal compiler error: in address_matters_p, at symtab.c:1908)
Martin Liska [Sun, 1 Mar 2015 20:23:21 +0000 (21:23 +0100)]
re PR ipa/65245 (internal compiler error: in address_matters_p, at symtab.c:1908)

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

9 years agore PR target/61142 ([SH] QImode/HImode @(R0,Rm),Rn does not load to Rn = R0)
Oleg Endo [Sun, 1 Mar 2015 18:47:38 +0000 (18:47 +0000)]
re PR target/61142 ([SH] QImode/HImode @(R0,Rm),Rn does not load to Rn = R0)

gcc/testsuite/
PR target/61142
* gcc.target/sh/sh/pr61142.c: New.

From-SVN: r221089

9 years agoc-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
Eric Botcazou [Sun, 1 Mar 2015 18:27:48 +0000 (18:27 +0000)]
c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.

* 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

9 years agore PR ada/65259 (Failure to build Ada DVI and PDF documentation)
Arnaud Charlet [Sun, 1 Mar 2015 10:16:20 +0000 (10:16 +0000)]
re PR ada/65259 (Failure to build Ada DVI and PDF documentation)

        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

9 years agoipa-icf-gimple.c (func_checker::compare_operand): Fix handling of OBJ_TYPE_REF.
Jan Hubicka [Sun, 1 Mar 2015 01:10:32 +0000 (02:10 +0100)]
ipa-icf-gimple.c (func_checker::compare_operand): Fix handling of OBJ_TYPE_REF.

* ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
of OBJ_TYPE_REF.

From-SVN: r221086

9 years agoipa-icf.c (sem_function::merge): Fix handling of COMDAT.
Jan Hubicka [Sun, 1 Mar 2015 01:09:25 +0000 (02:09 +0100)]
ipa-icf.c (sem_function::merge): Fix handling of COMDAT.

* ipa-icf.c (sem_function::merge): Fix handling of COMDAT.
(sem_variable::merge) Likewise.

From-SVN: r221085

9 years agoipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline target; also match flag_...
Jan Hubicka [Sun, 1 Mar 2015 01:08:47 +0000 (02:08 +0100)]
ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline target; also match flag_ipa_devirt.

* ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline
target; also match flag_ipa_devirt.

From-SVN: r221084

9 years agoDaily bump.
GCC Administrator [Sun, 1 Mar 2015 00:16:19 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r221083

9 years agoICF is more strict about non-common function and var
Martin Liska [Sun, 1 Mar 2015 00:13:10 +0000 (01:13 +0100)]
ICF is more strict about non-common function and var

* 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

9 years agore PR ipa/65237 (r221040 caused many regressions)
Jan Hubicka [Sat, 28 Feb 2015 22:53:37 +0000 (23:53 +0100)]
re PR ipa/65237 (r221040 caused many regressions)

PR ipa/65237
* ipa-icf.c (sem_function::merge): Do not attempt to produce alias
across COMDAT group boundary.

From-SVN: r221079

9 years agore PR bootstrap/65232 (bootstrap failure (ICE in change_symbol_block, at varasm.c...
Jan Hubicka [Sat, 28 Feb 2015 22:46:22 +0000 (23:46 +0100)]
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

9 years agore PR ipa/65236 (IPA ICF causes miscompilation in Chromium built with -Os)
Jan Hubicka [Sat, 28 Feb 2015 20:32:15 +0000 (21:32 +0100)]
re PR ipa/65236 (IPA ICF causes miscompilation in Chromium built with -Os)

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

9 years agore PR libstdc++/65246 (libstdc++ pretty printers don't work anymore with Python3)
Matthias Klose [Sat, 28 Feb 2015 09:22:43 +0000 (09:22 +0000)]
re PR libstdc++/65246 (libstdc++ pretty printers don't work anymore with Python3)

2015-02-28  Matthias Klose  <doko@ubuntu.com>

        PR libstdc++/65246
        * python/libstdcxx/v6/__init__.py: Use explicit relative imports.

From-SVN: r221076

9 years ago[AArch64] Fix define_insn type in aarch64.md.
Xingxing Pan [Sat, 28 Feb 2015 08:37:48 +0000 (08:37 +0000)]
[AArch64] Fix define_insn type in aarch64.md.

gcc/

* config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type
to neon_to_gp<q>.

From-SVN: r221075

9 years agoDaily bump.
GCC Administrator [Sat, 28 Feb 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r221074

9 years agoparams.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix a typo in the description.
Vladimir Makarov [Fri, 27 Feb 2015 23:37:46 +0000 (23:37 +0000)]
params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix a typo in the description.

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

9 years agore PR rtl-optimization/64317 (Ineffective allocation of PIC base register)
Vladimir Makarov [Fri, 27 Feb 2015 22:02:05 +0000 (22:02 +0000)]
re PR rtl-optimization/64317 (Ineffective allocation of PIC base register)

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

9 years agoFix missing condition in symbol_compare_hashmap_traits.
Martin Liska [Fri, 27 Feb 2015 19:05:30 +0000 (20:05 +0100)]
Fix missing condition in symbol_compare_hashmap_traits.

* ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing
vector length condition.

From-SVN: r221069

9 years agoextend.texi (x86 transactional memory intrinsics): Reorganize discussion of _xbegin.
Sandra Loosemore [Fri, 27 Feb 2015 18:59:29 +0000 (13:59 -0500)]
extend.texi (x86 transactional memory intrinsics): Reorganize discussion of _xbegin.

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

9 years agopr59354.c: Move vector producing code to separate function.
Pat Haugen [Fri, 27 Feb 2015 18:42:07 +0000 (18:42 +0000)]
pr59354.c: Move vector producing code to separate function.

* gcc.dg/vect/pr59354.c: Move vector producing code to separate function.

From-SVN: r221066

9 years agore PR ipa/65237 (r221040 caused many regressions)
Jan Hubicka [Fri, 27 Feb 2015 16:56:57 +0000 (17:56 +0100)]
re PR ipa/65237 (r221040 caused many regressions)

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

9 years agore PR rtl-optimization/65220 (integer division in stack alignment for VLA allocation)
Jakub Jelinek [Fri, 27 Feb 2015 15:01:57 +0000 (16:01 +0100)]
re PR rtl-optimization/65220 (integer division in stack alignment for VLA allocation)

PR rtl-optimization/65220
* config/i386/i386.md (*udivmod<mode>4_pow2): New.

Co-Authored-By: Aldy Hernandez <aldyh@redhat.com>
From-SVN: r221064

9 years agore PR middle-end/65048 (ICE in add_phi_args_after_copy_edge, at tree-cfg.c)
Jakub Jelinek [Fri, 27 Feb 2015 14:34:18 +0000 (15:34 +0100)]
re PR middle-end/65048 (ICE in add_phi_args_after_copy_edge, at tree-cfg.c)

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

9 years agore PR target/65032 (ICE in reload_combine_note_use, at postreload.c:1556 on i686...
Vladimir Makarov [Fri, 27 Feb 2015 14:15:02 +0000 (14:15 +0000)]
re PR target/65032 (ICE in reload_combine_note_use, at postreload.c:1556 on i686-linux-gnu)

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

9 years agore PR c/65040 (gcc-5 -Wformat broken)
Marek Polacek [Fri, 27 Feb 2015 14:11:53 +0000 (14:11 +0000)]
re PR c/65040 (gcc-5 -Wformat broken)

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

9 years ago* configure.tgt: Enable build on powerpc*le-*-linux.
Peter Bergner [Fri, 27 Feb 2015 13:46:30 +0000 (07:46 -0600)]
* configure.tgt: Enable build on powerpc*le-*-linux.

From-SVN: r221060

9 years agore PR libgcc/65038 ([regression 5] Unable to find ftw.h for libgcov-util.c)
Kai Tietz [Fri, 27 Feb 2015 13:19:38 +0000 (14:19 +0100)]
re PR libgcc/65038 ([regression 5] Unable to find ftw.h for libgcov-util.c)

        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

9 years agoRevert change
Kai Tietz [Fri, 27 Feb 2015 12:32:30 +0000 (13:32 +0100)]
Revert change

From-SVN: r221058

9 years agore PR c/65228 (ICE: expected tree that contains ‘decl minimal’ structure, have ‘error...
Marek Polacek [Fri, 27 Feb 2015 12:18:57 +0000 (12:18 +0000)]
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

9 years agore PR libgcc/65038 ([regression 5] Unable to find ftw.h for libgcov-util.c)
Kai Tietz [Fri, 27 Feb 2015 12:05:02 +0000 (13:05 +0100)]
re PR libgcc/65038 ([regression 5] Unable to find ftw.h for libgcov-util.c)

PR target/65038
* config.in: Regenerated.
* configure: Likewise.
* configure.ac (AC_HEADER_STDC): Add explicit.
(AC_CHECK_HEADERS): Check for default headers
plus for ftw.h one.
* libgcov-util.c (gcov_read_profile_dir): Disable use
of ftw-function, if header not found.
(ftw_read_file): Don't translate if ftw header isn't
present.

From-SVN: r221055

9 years agore PR c/35330 (ICE with invalid pragma weak)
Kai Tietz [Fri, 27 Feb 2015 10:44:43 +0000 (11:44 +0100)]
re PR c/35330 (ICE with invalid pragma weak)

2015-02-27  Kai Tietz  <ktietz@redhat.com>

PR c/35330
* c-pragma.c (handle_pragma_weak): Do not try to create
weak/alias of declarations not being function, or variable
declarations.

2015-02-27  Kai Tietz  <ktietz@redhat.com>

PR c/35330
* gcc.dg/weak/weak-17.c: New file.

From-SVN: r221053

9 years agore PR tree-optimization/65193 (ICE: Segmentation fault with -g -flto)
Richard Biener [Fri, 27 Feb 2015 10:20:50 +0000 (10:20 +0000)]
re PR tree-optimization/65193 (ICE: Segmentation fault with -g -flto)

2015-02-27  Richard Biener  <rguenther@suse.de>

PR lto/65193
* g++.dg/lto/pr65193_0.C: New testcase.

From-SVN: r221050

9 years agoS/390: Remove -m64/-m31 from testcases.
Andreas Krebbel [Fri, 27 Feb 2015 10:16:55 +0000 (10:16 +0000)]
S/390: Remove -m64/-m31 from testcases.

gcc/testsuite/ChangeLog:
* gcc.target/s390/20140327-1.c: Remove -m31 and guard with ! lp64.
* gcc.target/s390/hotpatch-8.c: Likewise.
* gcc.target/s390/hotpatch-9.c: Likewise.
* gcc.target/s390/pr61078.c: Likewise.
* gcc.target/s390/pr57960.c: Remove -m64.
* gcc.target/s390/pr61078.c: Likewise.

From-SVN: r221049

9 years agoS/390: Implement TARGET_ATOMIC_ASSIGN_EXPAND_FENV.
Andreas Krebbel [Fri, 27 Feb 2015 10:15:36 +0000 (10:15 +0000)]
S/390: Implement TARGET_ATOMIC_ASSIGN_EXPAND_FENV.

gcc/ChangeLog:
* config/s390/s390.c: (s390_atomic_assign_expand_fenv): New
function.
(TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro.

From-SVN: r221048

9 years agoS/390: Add builtins for efpc and sfpc
Andreas Krebbel [Fri, 27 Feb 2015 10:14:20 +0000 (10:14 +0000)]
S/390: Add builtins for efpc and sfpc

gcc/ChangeLog:
* config/s390/s390.c (enum s390_builtin):
Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC.
(code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc.
(s390_init_builtins): Generate new builtin functions.
* config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants.
(s390_sfpc, s390_efpc): New pattern definitions.

From-SVN: r221047

9 years agoS/390: Define TARGET_BUILTIN_DECL
Andreas Krebbel [Fri, 27 Feb 2015 10:13:07 +0000 (10:13 +0000)]
S/390: Define TARGET_BUILTIN_DECL

gcc/ChangeLog:
* config/s390/s390.c: (enum s390_builtin, s390_expand_builtin):
Rename S390_BUILTIN_max to S390_BUILTIN_MAX.
(s390_builtin_decls): New array.
(s390_init_builtins): Put builtin decls into s390_builtin_decls.
(s390_builtin_decl): New function.
(TARGET_BUILTIN_DECL): Define macro.

From-SVN: r221046

9 years agore PR testsuite/63175 (FAIL: gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c scan...
Richard Biener [Fri, 27 Feb 2015 08:37:51 +0000 (08:37 +0000)]
re PR testsuite/63175 (FAIL: gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c scan-tree-dump-times slp2" basic block vectorized using SLP" 1)

2015-02-27  Richard Biener  <rguenther@suse.de>

PR middle-end/63175
* builtins.c (get_object_alignment_2): Make sure to re-apply
the ANDed mask after recursing to its operand gets us a new
misalignment bit position.

From-SVN: r221043

9 years agoMAINTAINERS (Various Maintainers): Add self as docs co-maintainer.
Sandra Loosemore [Fri, 27 Feb 2015 02:34:56 +0000 (21:34 -0500)]
MAINTAINERS (Various Maintainers): Add self as docs co-maintainer.

2015-02-26  Sandra Loosemore  <sandra@codesourcery.com>

* MAINTAINERS (Various Maintainers): Add self as docs co-maintainer.

From-SVN: r221041

9 years agore PR bootstrap/65150 (r220875 causes bootstrap failure on x86_64 darwin)
Jan Hubicka [Fri, 27 Feb 2015 02:06:48 +0000 (03:06 +0100)]
re PR bootstrap/65150 (r220875 causes bootstrap failure on x86_64 darwin)

PR bootstrap/65150
* ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton):
Use address_matters_p.
(redirect_all_callers, set_addressable): New functions.
(sem_function::merge): Reorganize and fix merging issues.
(sem_variable::merge): Likewise.
(sem_variable::compare_sections): Remove.
* common.opt (fmerge-all-constants, fmerge-constants): Remove
Optimization flag.
* symtab.c (symtab_node::resolve_alias): When alias has aliases,
redirect them.
(symtab_node::make_decl_local): Set ADDRESSABLE bit when
decl is used.
(address_matters_1): New function.
(symtab_node::address_matters_p): New function.
* cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix
check for merged flag.
* cgraph.h (address_matters_p): Declare.
(symtab_node::address_taken_from_non_vtable_p): Remove.
(symtab_node::address_can_be_compared_p): New method.
(ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify.
* ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p):
Remove.
(comdat_can_be_unshared_p_1) Use address_matters_p.
(update_vtable_references): Fix formating.
* ipa-ref.c (ipa_ref::address_matters_p): Move inline.
* cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag.
* cgraphclones.c: Preserve merged and icf_merged flags.

Co-Authored-By: Martin Liska <mliska@suse.cz>
From-SVN: r221040

9 years agoAdd self to Various Maintainers.
Martin Sebor [Fri, 27 Feb 2015 00:50:57 +0000 (00:50 +0000)]
Add self to Various Maintainers.

From-SVN: r221039

9 years agoDaily bump.
GCC Administrator [Fri, 27 Feb 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r221038

9 years agoextend.texi (Function Attributes): Fix spelling and typos.
Sandra Loosemore [Thu, 26 Feb 2015 21:55:37 +0000 (16:55 -0500)]
extend.texi (Function Attributes): Fix spelling and typos.

2015-02-26  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/extend.texi (Function Attributes): Fix spelling and typos.
(Label Attributes): Likewise.
(Cilk Plus Builtins): Likewise.
(ARC SIMD Built-in Functions): Likewise.
(ARM C Language Extensions (ACLE)): Likewise.
(PowerPC Built-in Functions): Likewise.
(PowerPC Hardware Transactional Memory Built-in Functions):
Likewise.

From-SVN: r221035

9 years agore PR tree-optimization/65216 (wrong code at -O3 on x86_64-linux-gnu)
Jakub Jelinek [Thu, 26 Feb 2015 21:03:14 +0000 (22:03 +0100)]
re PR tree-optimization/65216 (wrong code at -O3 on x86_64-linux-gnu)

PR tree-optimization/65216
* tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of
new stmt and new SSA_NAME for lhs whenever the arguments have
changed and weren't just swapped.  Fix comment typo.

* gcc.c-torture/execute/pr65216.c: New test.

From-SVN: r221034

9 years agore PR tree-optimization/65215 (Bswap load miscompilation)
Jakub Jelinek [Thu, 26 Feb 2015 21:01:59 +0000 (22:01 +0100)]
re PR tree-optimization/65215 (Bswap load miscompilation)

PR tree-optimization/65215
* tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false
for PDP endian targets.
(perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop):
Fix up formatting issues.
(bswap_replace): Likewise.  For BYTES_BIG_ENDIAN, if the final access
size is smaller than the original, adjust MEM_REF offset by the
difference of sizes.  Use is_gimple_mem_ref_addr instead of
is_gimple_min_invariant test to avoid adding address temporaries.

* gcc.c-torture/execute/pr65215-1.c: New test.
* gcc.c-torture/execute/pr65215-2.c: New test.
* gcc.c-torture/execute/pr65215-3.c: New test.
* gcc.c-torture/execute/pr65215-4.c: New test.
* gcc.c-torture/execute/pr65215-5.c: New test.

From-SVN: r221033

9 years agoAdd missing cleanup in go-gc-tests for cmpout
Tom de Vries [Thu, 26 Feb 2015 21:01:08 +0000 (21:01 +0000)]
Add missing cleanup in go-gc-tests for cmpout

2015-02-26  Tom de Vries  <tom@codesourcery.com>

* go.test/go-test.exp (go-gc-tests): Add missing cleanup for cmpout.

From-SVN: r221032

9 years agore PR lto/64693 (PCH failed with --with-build-config=bootstrap-lto)
Martin Liska [Thu, 26 Feb 2015 20:21:38 +0000 (21:21 +0100)]
re PR lto/64693 (PCH failed with --with-build-config=bootstrap-lto)

Fix PR ipa/64693

PR ipa/64693
* ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
(sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
(sem_item_optimizer::process_cong_reduction): Include division by
sensitive references.
* ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
* ipa-ref.c (ipa_ref::address_matters_p): New function.
* ipa-ref.h (ipa_ref::address_matters_p): Likewise.
* g++.dg/ipa/pr64146.C: Update expected results.
* gcc.dg/ipa/ipa-icf-26.c: Update test.
* gcc.dg/ipa/ipa-icf-33.c: Remove redundant line.
* gcc.dg/ipa/ipa-icf-34.c: New test.

Co-Authored-By: Jan Hubicka <hubicka@ucw.cz>
From-SVN: r221031

9 years agoFix LTO bootstrap.
Martin Liska [Thu, 26 Feb 2015 20:18:08 +0000 (21:18 +0100)]
Fix LTO bootstrap.

* resolve.c: Rename enum 'comparison' to 'compare_result' as
solution for -Wodr issue.

From-SVN: r221030

9 years agore PR target/65192 ([avr-tiny] ICE in tiny_valid_direct_memory_access_range)
Georg-Johann Lay [Thu, 26 Feb 2015 19:43:54 +0000 (19:43 +0000)]
re PR target/65192 ([avr-tiny] ICE in tiny_valid_direct_memory_access_range)

PR target/65192
* config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
Remove.
* config/avr/avr.c: Same.
(avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>:
Refuse any constant address not in 0..0xbf.
* config/avr/avr.md (*mov<mode>, *movsf): Remove
tiny_valid_direct_memory_access_range from insn conditions.
(mov<mode>): Don't special-case expansion of avrtiny addresses.

From-SVN: r221029

9 years agovect-pr61917.c: Rename to ...
Uros Bizjak [Thu, 26 Feb 2015 19:26:39 +0000 (20:26 +0100)]
vect-pr61917.c: Rename to ...

* gcc.dg/vect/vect-pr61917.c: Rename to ...
* gcc.dg/vect/O3-vect-pr61917.c: ... this.
(dg-additional-options): Remove dg directive.
(dg-final): Add dg directive.

From-SVN: r221027

9 years agore PR target/61142 ([SH] QImode/HImode @(R0,Rm),Rn does not load to Rn = R0)
Oleg Endo [Thu, 26 Feb 2015 19:14:23 +0000 (19:14 +0000)]
re PR target/61142 ([SH] QImode/HImode @(R0,Rm),Rn does not load to Rn = R0)

gcc/
PR target/61142
* config/sh/sh.c (sh_check_add_incdec_notes): New function.
* config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it.
* config/sh/predicates.md (const_logical_operand): New predicate.
* config/sh/sh.md: Add new peephole2 patterns.

From-SVN: r221026

9 years agore PR ipa/65008 (ICE: in estimate_edge_growth, at ipa-inline.h:298 with -O2)
Marek Polacek [Thu, 26 Feb 2015 18:59:50 +0000 (18:59 +0000)]
re PR ipa/65008 (ICE: in estimate_edge_growth, at ipa-inline.h:298 with -O2)

PR ipa/65008
* ipa-inline.c (early_inliner): Recompute inline parameters.

* g++.dg/ipa/pr65008.C: New test.

From-SVN: r221025

9 years agoAdd profopt-target-cleanup
Tom de Vries [Thu, 26 Feb 2015 18:24:56 +0000 (18:24 +0000)]
Add profopt-target-cleanup

2015-02-26  Tom de Vries  <tom@codesourcery.com>

* lib/profopt.exp (profopt-target-cleanup): New proc.
(profopt-execute): Use profopt-target-cleanup to handle cleanup of
files from sources from dg-additional-sources.

From-SVN: r221024

9 years agoAdd missing cleanup in run-gcov
Tom de Vries [Thu, 26 Feb 2015 18:24:44 +0000 (18:24 +0000)]
Add missing cleanup in run-gcov

2015-02-26  Tom de Vries  <tom@codesourcery.com>

* lib/gcov.exp: Cleanup in case of xfail.

From-SVN: r221023

9 years agore PR target/65171 (r214254 causes thousands of std::length_errors running boost...
Bill Schmidt [Thu, 26 Feb 2015 17:43:03 +0000 (17:43 +0000)]
re PR target/65171 (r214254 causes thousands of std::length_errors running boost testsuite on ppc64le)

2015-02-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR target/65171
* config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure
instructions with TImode operands are included in the analysis.

From-SVN: r221022

9 years agoimprove FSM jump thread dump
Sebastian Pop [Thu, 26 Feb 2015 17:25:51 +0000 (17:25 +0000)]
improve FSM jump thread dump

From-SVN: r221021

9 years agoFix warning.
Sebastian Pop [Thu, 26 Feb 2015 17:25:37 +0000 (17:25 +0000)]
Fix warning.

        * gcc.dg/tree-ssa/ssa-dom-thread-9.c: Fix warning due to missing type.

From-SVN: r221020

9 years agoMove ChangeLog entry to correct ChangeLog
Peter Bergner [Thu, 26 Feb 2015 15:58:00 +0000 (09:58 -0600)]
Move ChangeLog entry to correct ChangeLog

From-SVN: r221017

9 years agore PR debug/46102 (ICE: SIGSEGV in dwarf2out_finish (dwarf2out.c:8490) with -felimina...
Aldy Hernandez [Thu, 26 Feb 2015 15:31:52 +0000 (15:31 +0000)]
re PR debug/46102 (ICE: SIGSEGV in dwarf2out_finish (dwarf2out.c:8490) with -feliminate-dwarf2-dups when using precompiled headers)

PR debug/46102
* dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
testsuite/
PR debug/46102
* g++.dg/debug/dwarf2-1.C: XFAIL and move...
* g++.dg/debug/dwarf2/dwarf2-1.C: ...here.
* g++.dg/debug/dwarf2-2.C: XFAIL and move...
* g++.dg/debug/dwarf2/dwarf2-2.C: ...here.
* g++.dg/debug/dwarf2/typedef5.C: XFAIL.
* g++.dg/debug/pr46123.C: XFAIL and move...
* g++.dg/debug/dwarf2/pr46123-2.C: ...here.
* gcc.dg/debug/dwarf2-3.c: Move...
* gcc.dg/debug/dwarf2/dwarf2-3.c: ...here.

From-SVN: r221016

9 years agore PR c++/65202 (ICE segfault with constexpr/noexcept)
Marek Polacek [Thu, 26 Feb 2015 15:03:23 +0000 (15:03 +0000)]
re PR c++/65202 (ICE segfault with constexpr/noexcept)

PR c++/65202
* constexpr.c (cxx_eval_constant_expression): Don't evaluate
a RETURN_EXPR if its operand is null.

* g++.dg/cpp1y/pr65202.C: New test.

From-SVN: r221015

9 years agoAdd missing cleanup in g++.dg/gcov/gcov-14.C
Tom de Vries [Thu, 26 Feb 2015 14:36:03 +0000 (14:36 +0000)]
Add missing cleanup in g++.dg/gcov/gcov-14.C

2015-02-26  Tom de Vries  <tom@codesourcery.com>

* g++.dg/gcov/gcov-14.C: Add cleanup of iostream.gcov, ostream.gcov and
locale_facets.h.gcov.

From-SVN: r221013

9 years agoAdd missing cleanup in gcc.target/i386/mcount_pic.c
Tom de Vries [Thu, 26 Feb 2015 14:25:30 +0000 (14:25 +0000)]
Add missing cleanup in gcc.target/i386/mcount_pic.c

2015-02-26  Tom de Vries  <tom@codesourcery.com>

* gcc.target/i386/mcount_pic.c: Add missing cleanup-profile-file.

From-SVN: r221012

9 years agoAdd missing cleanup in gcc.dg/aru-2.c
Tom de Vries [Thu, 26 Feb 2015 14:20:01 +0000 (14:20 +0000)]
Add missing cleanup in gcc.dg/aru-2.c

2015-02-26  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/aru-2.c: Add missing cleanup-profile-file.

From-SVN: r221011

9 years agoAdd a testcase for PR target/65217
H.J. Lu [Thu, 26 Feb 2015 14:17:06 +0000 (14:17 +0000)]
Add a testcase for PR target/65217

PR target/65217
* gcc.target/i386/pr65217.c: New.

From-SVN: r221010

9 years agoAdd missing cleanup in pch-init
Tom de Vries [Thu, 26 Feb 2015 14:15:29 +0000 (14:15 +0000)]
Add missing cleanup in pch-init

2015-02-26  Tom de Vries  <tom@codesourcery.com>

* lib/dg-pch.exp (pch-init): Add missing cleanup of pchtest<n>.o.

From-SVN: r221009

9 years agoAdd missing cleanup in gcc.misc-tests/godump-1.c
Tom de Vries [Thu, 26 Feb 2015 14:05:15 +0000 (14:05 +0000)]
Add missing cleanup in gcc.misc-tests/godump-1.c

2015-02-26  Tom de Vries  <tom@codesourcery.com>

* gcc.misc-tests/godump-1.c: Add missing cleanup of godump-1.out.

From-SVN: r221008

9 years agore PR middle-end/65048 (ICE in add_phi_args_after_copy_edge, at tree-cfg.c)
Sebastian Pop [Thu, 26 Feb 2015 13:56:39 +0000 (13:56 +0000)]
re PR middle-end/65048 (ICE in add_phi_args_after_copy_edge, at tree-cfg.c)

PR tree-optimization/65048
* tree-ssa-threadupdate.c (valid_jump_thread_path): New.
(thread_through_all_blocks): Call valid_jump_thread_path.
Remove invalid FSM jump-thread paths.

PR tree-optimization/65048
* gcc.dg/tree-ssa/ssa-dom-thread-9.c: New.

From-SVN: r221007

9 years agopasses.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
Jakub Jelinek [Thu, 26 Feb 2015 12:26:11 +0000 (13:26 +0100)]
passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.

* passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
(ipa_write_optimization_summaries): Likewise.
* tree-streamer.h: Include data-streamer.h.
(streamer_mode_table): Declare extern variable.
(bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
* lto-streamer-out.c (lto_output_init_mode_table,
lto_write_mode_table): New functions.
(produce_asm_for_decls): Call lto_write_mode_table when streaming
offloading LTO.
* lto-section-in.c (lto_section_name): Add "mode_table" entry.
(lto_create_simple_input_block): Add mode_table argument to the
lto_input_block constructors.
* ipa-prop.c (ipa_prop_read_section, read_replacements_section):
Likewise.
* data-streamer-in.c (string_for_index): Likewise.
* ipa-inline-analysis.c (inline_read_section): Likewise.
* ipa-icf.c (sem_item_optimizer::read_section): Likewise.
* lto-cgraph.c (input_cgraph_opt_section): Likewise.
* lto-streamer-in.c (lto_read_body_or_constructor,
lto_input_toplevel_asms): Likewise.
(lto_input_mode_table): New function.
* tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
Use bp_pack_machine_mode.
* real.h (struct real_format): Add name field.
* lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
(class lto_input_block): Add mode_table member.
(lto_input_block::lto_input_block): Add mode_table_ argument,
initialize mode_table.
(struct lto_file_decl_data): Add mode_table field.
(lto_input_mode_table, lto_output_init_mode_table): New prototypes.
* tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
unpack_ts_decl_common_value_fields,
unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
* tree-streamer.c (streamer_mode_table): New variable.
* real.c (ieee_single_format, mips_single_format,
motorola_single_format, spu_single_format, ieee_double_format,
mips_double_format, motorola_double_format,
ieee_extended_motorola_format, ieee_extended_intel_96_format,
ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
ibm_extended_format, mips_extended_format, ieee_quad_format,
mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
decimal_single_format, decimal_double_format, decimal_quad_format,
ieee_half_format, arm_half_format, real_internal_format): Add name
field.
* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
lto/
* lto.c (lto_mode_identity_table): New variable.
(lto_read_decls): Add mode_table argument to the lto_input_block
constructor.
(lto_file_finalize): Initialize mode_table.
(lto_init): Initialize lto_mode_identity_table.

From-SVN: r221005

9 years agogcc-dg.exp (cleanup-final-insns-dump): New procedure.
Uros Bizjak [Thu, 26 Feb 2015 11:56:45 +0000 (12:56 +0100)]
gcc-dg.exp (cleanup-final-insns-dump): New procedure.

* lib/gcc-dg.exp (cleanup-final-insns-dump): New procedure.
* g++.dg/opt/dump1.C (dg-final): Call cleanup-final-insns-dump.

From-SVN: r221004

9 years agore PR target/65161 (ICE: in vec<_haifa_insn_data, va_heap, vl_embed>::operator[]...
Yuri Rumyantsev [Thu, 26 Feb 2015 11:30:03 +0000 (11:30 +0000)]
re PR target/65161 (ICE: in vec<_haifa_insn_data, va_heap, vl_embed>::operator[], at vec.h:736 with -O3 -fselective-scheduling2 -mtune=slm)

gcc/

PR target/65161
* config/i386/i386.c (ix86_sched_reorder): Skip instruction
reordering for selective scheduling.

gcc/testsuite/

PR target/65161
* gcc.target/i386/pr65161.c: New test.

From-SVN: r221002

9 years agoarm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
Terry Guo [Thu, 26 Feb 2015 04:03:22 +0000 (04:03 +0000)]
arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.

gcc/
* config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
* config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag.
(arm_arch_no_volatile_ce): Declare new global variable.
* config/arm/arm.c (arm_arch_no_volatile_ce): New global variable.
(arm_option_override): Assign value to arm_arch_no_volatile_ce.
* config/arm/arm.h (arm_arch_no_volatile_ce): Declare it.
(TARGET_NO_VOLATILE_CE): New macro.
* config/arm/arm.md (arm_comparison_operator): Disabled if not allow
volatile memory access in IT block

gcc/testsuite/
* gcc.target/arm/no-volatile-in-it.c: New test.

From-SVN: r220999

9 years ago* gcc.target/powerpc/htm-builtin-1.c (dg-do) Change to assemble.
Peter Bergner [Thu, 26 Feb 2015 03:06:38 +0000 (21:06 -0600)]
* gcc.target/powerpc/htm-builtin-1.c (dg-do) Change to assemble.

(dg-options): Add -save-temps.
(dg-final): Add cleanup-saved-temps.

From-SVN: r220998

9 years agoDaily bump.
GCC Administrator [Thu, 26 Feb 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r220995

9 years agohtm.md (tcheck): Fix assembly encoding.
Adhemerval Zanella [Wed, 25 Feb 2015 22:18:19 +0000 (22:18 +0000)]
htm.md (tcheck): Fix assembly encoding.

gcc/
* config/rs6000/htm.md (tcheck): Fix assembly encoding.

gcc/testsuite/
* gcc.target/powerpc/htm-builtin-1.c: Fix tcheck expect value.

From-SVN: r220992

9 years agore PR c++/65209 (Broken code with global static variables, invalid pointer when freei...
Jason Merrill [Wed, 25 Feb 2015 21:46:29 +0000 (16:46 -0500)]
re PR c++/65209 (Broken code with global static variables, invalid pointer when freeing global variables)

PR c++/65209
* decl2.c (constrain_visibility) [VISIBILITY_ANON]: Clear
DECL_COMDAT.
(constrain_visibility_for_template): Handle reference arguments.

From-SVN: r220991

9 years agoRevert:
Uros Bizjak [Wed, 25 Feb 2015 19:59:31 +0000 (20:59 +0100)]
Revert:

2014-07-26  Uros Bizjak  <ubizjak@gmail.com>

PR target/47230
* configure.ac (alpha*-*-linux*): Use mh-alpha-linux.
* configure: Regenerate.

/config

Revert:
2014-07-26  Uros Bizjak  <ubizjak@gmail.com>

PR target/47230
* mh-alpha-linux: New file.

/gcc

PR target/47230
* doc/install.texi (Specific, alpha*-*-*): Document that binutils 2.25
or newer are required.

From-SVN: r220990

9 years agore PR tree-optimization/61917 (ICE on valid code at -O3 on x86_64-linux-gnu in vector...
Kai Tietz [Wed, 25 Feb 2015 18:21:37 +0000 (19:21 +0100)]
re PR tree-optimization/61917 (ICE on valid code at -O3 on x86_64-linux-gnu in vectorizable_reduction, at tree-vect-loop.c:4913)

PR tree-optimization/61917
* tree-vect-loop.c (vectorizable_reduction): Handle obvious case
that reduc_def_stmt is null.

From-SVN: r220987

9 years agoICF: Validate correctly hard register variables.
Martin Liska [Wed, 25 Feb 2015 17:38:09 +0000 (18:38 +0100)]
ICF: Validate correctly hard register variables.

* ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
hard register variables.

From-SVN: r220985

9 years agodirect-move.h: Include string.h/stdlib.h.
Pat Haugen [Wed, 25 Feb 2015 17:35:07 +0000 (17:35 +0000)]
direct-move.h: Include string.h/stdlib.h.

* gcc.target/powerpc/direct-move.h: Include string.h/stdlib.h.
* gcc.target/powerpc/pack01.c: Include string.h.

From-SVN: r220984

9 years agore PR target/64212 (ICE [in noninterposable_alias, at symtab.c:1706])
Kai Tietz [Wed, 25 Feb 2015 16:44:26 +0000 (17:44 +0100)]
re PR target/64212 (ICE [in noninterposable_alias, at symtab.c:1706])

PR target/64212
* symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
(symtab::noninterposable_alias): Likewise.

From-SVN: r220982

9 years agobe.po, [...]: Update.
Joseph Myers [Wed, 25 Feb 2015 16:11:26 +0000 (16:11 +0000)]
be.po, [...]: Update.

* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po,
zh_TW.po: Update.

From-SVN: r220977

9 years agobe.po, [...]: Update.
Joseph Myers [Wed, 25 Feb 2015 16:08:20 +0000 (16:08 +0000)]
be.po, [...]: Update.

* be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, fi.po, fr.po,
id.po, ja.po, nl.po, pr_BR.po, ru.po, sr.po, sv.po, tr.po, uk.po,
vi.po, zh_CN.po, zh_TW.po: Update.

From-SVN: r220976

9 years agore PR debug/58315 (Excessive memory use with -g)
Jason Merrill [Wed, 25 Feb 2015 15:49:34 +0000 (10:49 -0500)]
re PR debug/58315 (Excessive memory use with -g)

PR debug/58315
* decl.c (start_preparsed_function): Use create_artificial_label
for cdtor_label.

From-SVN: r220974