gcc.git
9 years agors6000.md (extzv): FAIL for SImode.
Segher Boessenkool [Tue, 12 May 2015 13:47:04 +0000 (15:47 +0200)]
rs6000.md (extzv): FAIL for SImode.

* config/rs6000/rs6000.md (extzv): FAIL for SImode.
(extzvsi_internal, *extzvsi_internal1, *extzvsi_internal2,
*rotlsi3_internal7le, *rotlsi3_internal7be, *rotlsi3_internal8le,
*rotlsi3_internal8be, *rotlsi3_internal9le, *rotlsi3_internal9be,
*rotlsi3_internal10le, *rotlsi3_internal10be, *rotlsi3_internal11le,
*rotlsi3_internal11be, *rotlsi3_internal12le, *rotlsi3_internal12be,
*lshiftrt_internal1le, *lshiftrt_internal1be, *lshiftrt_internal2le,
*lshiftrt_internal2be, *lshiftrt_internal3le, *lshiftrt_internal3be,
*lshiftrt_internal4le, *lshiftrt_internal4be, *lshiftrt_internal5le,
*lshiftrt_internal5be, *lshiftrt_internal5le, *lshiftrt_internal5be,
*rotldi3_internal7le, *rotldi3_internal7be, *rotldi3_internal8le,
*rotldi3_internal8be, *rotldi3_internal9le, *rotldi3_internal9be,
*rotldi3_internal10le, *rotldi3_internal10be, *rotldi3_internal11le,
*rotldi3_internal11be, *rotldi3_internal12le, *rotldi3_internal12be,
*rotldi3_internal13le, *rotldi3_internal13be, *rotldi3_internal14le,
*rotldi3_internal14be, *rotldi3_internal15le, *rotldi3_internal15be,
and 30 corresponding splitters): Delete.

From-SVN: r223070

9 years agors6000.md (define_split for bswaphi): Don't use zero_extract.
Segher Boessenkool [Tue, 12 May 2015 13:44:25 +0000 (15:44 +0200)]
rs6000.md (define_split for bswaphi): Don't use zero_extract.

* config/rs6000/rs6000.md (define_split for bswaphi): Don't use
zero_extract.

From-SVN: r223069

9 years ago[multiple changes]
Arnaud Charlet [Tue, 12 May 2015 13:44:19 +0000 (15:44 +0200)]
[multiple changes]

2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.ads: Update the documentation of flags
Has_Inherited_Default_Init_Cond and Has_Default_Init_Cond.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* impunit.adb: Add entry for a-dhfina.ads
* a-dhfina.ads: New file.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): if the array
type has convention Fortran, a multidimensional iterator varies
the first dimension fastest.

From-SVN: r223068

9 years agocombine.c (recog_for_combine_1): New function, factored out from recog_for_combine.
Segher Boessenkool [Tue, 12 May 2015 13:42:21 +0000 (15:42 +0200)]
combine.c (recog_for_combine_1): New function, factored out from recog_for_combine.

* combine.c (recog_for_combine_1): New function, factored out
from recog_for_combine.
(change_zero_ext): New function.
(recog_for_combine): If recog fails, try again with the pattern
modified by change_zero_ext; if that still fails, restore the
pattern.

From-SVN: r223067

9 years agocombine.c (get_undo_marker): New function.
Segher Boessenkool [Tue, 12 May 2015 13:37:53 +0000 (15:37 +0200)]
combine.c (get_undo_marker): New function.

* combine.c (get_undo_marker): New function.
(undo_to_marker): New function, largely factored out from ...
(undo_all): ... this.  Adjust.

From-SVN: r223066

9 years agore PR tree-optimization/66101 (internal compiler error: in verify_loop_structure...
Richard Biener [Tue, 12 May 2015 13:28:33 +0000 (13:28 +0000)]
re PR tree-optimization/66101 (internal compiler error: in verify_loop_structure, at cfgloop.c:1662)

2015-05-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66101
* tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for
fixup if we turn a loop exit edge to a fallthru edge.

* gcc.dg/torture/pr66101.c: New testcase.

From-SVN: r223065

9 years ago[multiple changes]
Arnaud Charlet [Tue, 12 May 2015 12:47:19 +0000 (14:47 +0200)]
[multiple changes]

2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb Node32 is now used as Encapsulating_State.
Node37 is now used as Associated_Entity.
(Associated_Entity): New routine.
(Encapsulating_State): Update the assertion guard
to include constants.
(Set_Associated_Entity): New routine.
(Set_Encapsulating_State): Update the assertion guard to
include constants.
(Write_Field10_Name): Remove the output for Encapsulating_State.
(Write_Field32_Name): Add output for Encapsulating_State.
(Write_Field37_Name): Add output for Associated_Entity.
* einfo.ads New attribute Associated_Entity along with placement
in entities. Attribute Encapsulating_State now uses Node32.
(Associated_Entity): New routine along with pragma Inline.
(Set_Associated_Entity): New routine along with pragma Inline.
* inline.ads Code reformatting.
* sem_attr.adb (Analyze_Attribute): Correct the prefix of
attribute 'Result when the context is a generic instantiation.
(Analyze_Attribute_Old_Result): Pragmas Depends and
Refined_Depends are a valid context for attribute 'Result.
(Denote_Same_Function): Allow attribute 'Result to denote
generic functions.
* sem_ch3.adb Add with and use clauses for Sem_Ch12.
(Analyze_Declarations): Capture global references within the
contracts of packages, subprograms and their respective bodies.
* sem_ch6.adb (Analyze_Aspects_On_Body_Or_Stub): Removed.
(Analyze_Completion_Contract): Removed.
(Analyze_Generic_Subprogram_Body): Enchange the aspects after
creating the generic copy. Create a generic contract for the
template. Analyze the aspects of the generic body. Analyze the
contract of the generic body when it is a compilation unit and
capture global references.
(Analyze_Subprogram_Body_Contract): Code cleanup.
(Analyze_Subprogram_Contract): Do not save global references here.
(Save_Global_References_In_List): Removed.
* sem_ch7.adb (Analyze_Package_Body_Contract): Code cleanup.
(Analyze_Package_Body_Helper): Create a generic contract for
the template.
(Analyze_Package_Contract): Code cleanup.
* sem_ch10.adb Add with and use clauses for Sem_Ch12.
(Analyze_Compilation_Unit): Capture global references in a
generic subprogram declaration that acts as a compilation unit.
* sem_ch12.adb Add with and use clauses for Sem_Prag. Illustrate
the implementation of generic contracts. Alphabetize various
subprograms.
(Analyze_Generic_Package_Declaration):
Create a generic contract for the template.
(Analyze_Generic_Subprogram_Declaration): Create a generic
contract for the template.
(Analyze_Subprogram_Instantiation): Instantiate the contract of the
subprogram.
(Copy_Generic_Node): Link defining entities of the generic template
with the corresponding defining entities of the generic copy. Update
the processing of pragmas.
(Instantiate_Contract): Removed.
(Instantiate_Subprogram_Contract): New routine.
(Requires_Delayed_Save): New routine.
(Save_Global_References): Rename formal parameter N to Templ. Various
cleanups.
(Save_Global_References_In_Aspects): Moved from the spec.
(Save_Global_References_In_Contract): New routine.
(Save_References_In_Aggregate): New routine.
(Save_References_In_Char_Lit_Or_Op_Symbol): New routine.
(Save_References_In_Descendants): New routine.
(Save_References_In_Identifier): New routine.
(Save_References_In_Operator): New routine.
(Save_References_In_Pragma): New routine.
* sem_ch12.ads (Save_Global_References): Rename formal
parameter N to Templ. Update the comment on usage.
(Save_Global_References_In_Aspects): Moved to the body.
(Save_Global_References_In_Contract): New routine.
* sem_ch13.adb (Analyze_Aspect_Specifications_On_Body_Or_Stub):
New routine.
* sem_ch13.ads (Analyze_Aspect_Specifications_On_Body_Or_Stub):
New routine.
* sem_prag.adb (Add_Item_To_Name_Buffer): Add support for
generic parameters.
(Analyze_Contract_Cases_In_Decl_Part): Code cleanup.
(Analyze_Depends_Global): New routine.
(Analyze_Depends_In_Decl_Part): Code cleanup.
(Analyze_Global_In_Decl_Part): Code cleanup.
(Analyze_Global_Item): Constants are now valid global items. Do
not perform state-related checks in an instance. Change the way
renamings are handled. (Analyze_Initial_Condition_In_Decl_Part):
Code cleanup.
(Analyze_Initializes_In_Decl_Part): Code cleanup.
(Analyze_Input_Output): The analysis of attribute 'Result in
the context of pragmas Depends or Refined_Depends now reuses
the existing attribute analysis machinery. Constants and
generic parameters are now valid dependency items. Do not
perform state-related checks in an instance. Change the way
renamings are handled. (Analyze_Pragma): Add a "characteristics"
section for pragmas Abstract_State, Contract_Cases, Depends,
Extensions_Visible, Global, Initial_Condition, Initializes,
Post, Post_Class, Postcondition, Pre, Pre_Class, Precondition,
Refined_Depends, Refined_Global, Refined_Post, Refined_State, Test_Case.
(Analyze_Pre_Post_Condition): Do not create a generic
template here.
(Analyze_Pre_Post_Condition_In_Decl_Part): Code cleanup.
(Analyze_Refined_Depends_Global_Post): New routine.
(Analyze_Refined_Depends_In_Decl_Part): Code cleanup.
(Analyze_Refined_Global_In_Decl_Part): Code cleanup.
(Analyze_Refined_Pragma): Removed.
(Analyze_Refined_State_In_Decl_Part): Code cleanup.
(Analyze_Test_Case_In_Decl_Part): Code cleanup.
(Check_Dependency_Clause): Do not perform this check in an instance.
(Check_Function_Return): Add support for generic functions.
(Check_In_Out_States): Do not perform this check in an instance.
(Check_Input_States): Do not perform this check in an instance.
(Check_Mode_Restriction_In_Function): Add support for generic functions.
(Check_Output_States): Do not perform this check in an instance.
(Check_Postcondition_Use_In_Inlined_Subprogram): Rename
parameter Subp_Id to Spec_Id and update comment on usage.
(Check_Proof_In_States): Do not perform this check in an instance.
(Check_Refined_Global_Item): Add support for constants.
(Check_Refined_Global_List): Do not perform this check in an instance.
(Collect_Global_Items): Reimplemented.
(Collect_Subprogram_Inputs_Outputs): Add support for generic parameters.
(Create_Generic_Template): Removed.
(Find_Related_Package_Or_Body): Moved to spec.
(Find_Role): Add support for generic parameters and constants.
(Get_Argument): Moved to spec. Rename parameter Spec_Id to Context_Id.
(Match_Item): Add support for constants.
(Preanalyze_Test_Case_Arg): Reimplemented.
(Report_Extra_Clauses): Do not perform this check in an instance.
(Report_Extra_Constituents): Do not perform this check in an instance.
* sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update
the comment on usage.
(Find_Related_Package_Or_Body): Moved from body.
(Get_Argument): Moved from body.
* sem_util.adb Add with and use clauses for Sem_Ch12.
(Corresponding_Spec_Of): Add support for packages and package bodies.
(Create_Generic_Contract): New routine.
(Is_Contract_Annotation): Reimplemented.
(Is_Generic_Declaration_Or_Body): New routine.
(Is_Package_Contract_Annotation): New routine.
(Is_Subprogram_Contract_Annotation): New routine.
* sem_util.ads (Corresponding_Spec_Of): Update the comment on usage.
(Create_Generic_Contract): New routine.
(Is_Generic_Declaration_Or_Body): New routine.
(Is_Package_Contract_Annotation): New routine.
(Is_Subprogram_Contract_Annotation): New routine.
* sinfo.adb (Is_Generic_Contract_Pragma): New routine.
(Set_Is_Generic_Contract_Pragma): New routine.
* sinfo.ads Add new attribute Is_Generic_Contract_Pragma along
with occurrences in nodes.
(Is_Generic_Contract_Pragma): New routine along with pragma Inline.
(Set_Is_Generic_Contract_Pragma): New routine along with pragma Inline.
* treepr.adb (Print_Entity_Info): Output fields 36 to 41.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* a-taster.ads: Minor comment fix: fix bad header, this is a
pure RM unit.

From-SVN: r223064

9 years agosem_intr.adb: (Check_Shift): Diagnose bad modulus value.
Robert Dewar [Tue, 12 May 2015 12:42:48 +0000 (12:42 +0000)]
sem_intr.adb: (Check_Shift): Diagnose bad modulus value.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* sem_intr.adb: (Check_Shift): Diagnose bad modulus value.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* gnat1drv.adb (Adjust_Global_Switches): Default to suppressing
Alignment_Checks on non-strict alignment machine.
* sem_ch13.adb (Validate_Address_Clauses): Don't give
compile-time alignment warnings if run time Alignment_Check
is suppressed.

From-SVN: r223063

9 years ago[multiple changes]
Arnaud Charlet [Tue, 12 May 2015 12:39:52 +0000 (14:39 +0200)]
[multiple changes]

2015-05-12  Thomas Quinot  <quinot@adacore.com>

* g-sercom.ads, g-sercom-linux.adb (GNAT.Serial_Communications.
Data_Rate): New literals B75, B110, B150, B300, B600.

2015-05-12  Doug Rupp  <rupp@adacore.com>

* init.c (__gnat_init_float) [vxworks]: For e500v2,
do nothing and leave the responsibility to install the handler
and enable the exceptions to the BSP.

From-SVN: r223062

9 years agore PR tree-optimization/37021 (Fortran Complex reduction / multiplication not vectorized)
Richard Biener [Tue, 12 May 2015 11:55:40 +0000 (11:55 +0000)]
re PR tree-optimization/37021 (Fortran Complex reduction / multiplication not vectorized)

2015-05-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/37021
* tree-vectorizer.h (struct _slp_tree): Add two_operators flag.
(SLP_TREE_TWO_OPERATORS): New define.
* tree-vect-slp.c (vect_create_new_slp_node): Initialize
SLP_TREE_TWO_OPERATORS.
(vect_build_slp_tree_1): Allow two mixing plus/minus in an
SLP node.
(vect_build_slp_tree): Adjust.
(vect_analyze_slp_cost_1): Likewise.
(vect_schedule_slp_instance): Vectorize mixing plus/minus by
emitting two vector stmts and mixing the results.

* gcc.target/i386/vect-addsub.c: New testcase.

From-SVN: r223059

9 years agoRemove dead code in print_z_candidates.
Dominik Vogt [Tue, 12 May 2015 11:27:52 +0000 (11:27 +0000)]
Remove dead code in print_z_candidates.

2015-05-12  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* call.c (print_z_candidates): Remove dead code.

From-SVN: r223057

9 years ago2827.md: Split zEC12_simple into zEC12_simple_int and zEC12_simple_fp.
Andreas Krebbel [Tue, 12 May 2015 11:23:48 +0000 (11:23 +0000)]
2827.md: Split zEC12_simple into zEC12_simple_int and zEC12_simple_fp.

2015-05-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/2827.md: Split zEC12_simple into zEC12_simple_int
and zEC12_simple_fp.
* config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12
to 1.

From-SVN: r223056

9 years ago* gcc.target/i386/pr65753.c: Use -O2 instead of -O.
Alexander Monakov [Tue, 12 May 2015 10:36:42 +0000 (13:36 +0300)]
* gcc.target/i386/pr65753.c: Use -O2 instead of -O.

From-SVN: r223055

9 years agoDon't take address of ap unless necessary
Tom de Vries [Tue, 12 May 2015 09:46:47 +0000 (09:46 +0000)]
Don't take address of ap unless necessary

2015-05-12  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/66010
* gimplify.c (gimplify_modify_expr): Handle new do_deref argument of
ifn_va_arg.
* gimplify.h (gimplify_va_arg_internal): Remove loc parameter.
(gimplify_va_arg_internal): Remove loc parameter.  Assert no array-typed
va_lists are passed, and remove corresponding handling.
(gimplify_va_arg_expr): Only take address of ap if necessary.  Add
do_deref argument to ifn_va_arg.
* tree-stdarg.c (expand_ifn_va_arg_1): Handle new do_deref argument of
ifn_va_arg.

* c-common.c (build_va_arg): Don't mark ap addressable unless necessary.

* gcc.dg/tree-ssa/stdarg-2.c: Undo scan xfails for f15.

From-SVN: r223054

9 years agosem_ch9.adb, [...]: Minor reformatting.
Robert Dewar [Tue, 12 May 2015 09:28:19 +0000 (09:28 +0000)]
sem_ch9.adb, [...]: Minor reformatting.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* sem_ch9.adb, einfo.ads, exp_intr.adb: Minor reformatting.
* sem_disp.adb: Minor code reorganization (remove junk redundant
null statement).
* exp_unst.adb (Unnest_Subprogram.Uplev_Refs): Ignore uplevel
references to bounds of types coming from original type reference.
* checks.ads: Minor reformatting.
* checks.adb: Minor reformatting.
* sem_prag.adb (Analyze_Pragma, case Check): If in ignored
assertion, then make sure we do not drag in bignum stuff.

From-SVN: r223053

9 years agosem_ch9.adb (Collect_Interfaces): Initialize Direct_Primitive_Operations for a tagged...
Ed Schonberg [Tue, 12 May 2015 09:20:50 +0000 (09:20 +0000)]
sem_ch9.adb (Collect_Interfaces): Initialize Direct_Primitive_Operations for a tagged synchronized type...

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch9.adb (Collect_Interfaces): Initialize
Direct_Primitive_Operations for a tagged synchronized type,
so it can used in ASIS mode.
* sem_disp.adb (Check_Dispatching_Operation): If expansion is
disabled, attach subprogram to list of Direct_Primitive_Operations
of synchronized type itself, for ASIS use, because in this case
Corresponding_Record_Type is not built.
* einfo.ads: Indicate use of Direct_Primitive_Operations on
synchronized type.

From-SVN: r223051

9 years ago[multiple changes]
Arnaud Charlet [Tue, 12 May 2015 09:17:45 +0000 (11:17 +0200)]
[multiple changes]

2015-05-12  Pierre-Marie de Rodat  <derodat@adacore.com>

* exp_pakd.adb: Make clearer the comment in exp_pakd.adb about
___XP suffixes.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, sem_util.adb, sem_ch6.adb: Minor reformatting.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* exp_unst.adb (Visit_Node): Deal with subprogram and package stubs.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* exp_intr.adb (Expand_Dispatching_Constructor_Call): The
tag to be retrieved for the generated call is the first entry
in the dispatch table for the return type of the instantiated
constructor.

2015-05-12  Bob Duff  <duff@adacore.com>

* exp_ch7.adb, exp_ch7.ads, exp_intr.adb, exp_util.adb,
exp_util.ads: Update comments.

From-SVN: r223050

9 years ago[ARM] Fix PR 65955: Do not take REGNO on non-REG operand in movcond_addsi
Kyrylo Tkachov [Tue, 12 May 2015 09:15:09 +0000 (09:15 +0000)]
[ARM] Fix PR 65955: Do not take REGNO on non-REG operand in movcond_addsi

PR target/65955
* config/arm/arm.md (movcond_addsi): Check that operands[2] is a
REG before taking its REGNO.

From-SVN: r223049

9 years ago[multiple changes]
Arnaud Charlet [Tue, 12 May 2015 09:14:02 +0000 (11:14 +0200)]
[multiple changes]

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Add_Internal_Interface_Entities): Do no generate
freeze nodes for these in ASIS mode, because they lead to
elaoration order issues in gigi.

2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch6.adb (Analyze_Expression_Function): Code
cleanup. Use Copy_Subprogram_Spec to create a proper spec.
(Analyze_Subprogram_Body_Helper): Code cleanup. Do not
prepare a stand alone body for inlining in GNATprove mode
when inside a generic. (Body_Has_Contract): Reimplemented.
(Build_Subprogram_Declaration): New routine.
* sem_ch10.adb (Analyze_Compilation_Unit): Capture global
references within generic bodies by loading them.
* sem_util.adb (Copy_Parameter_List): Code cleanup.
(Copy_Subprogram_Spec): New routine.
(Is_Contract_Annotation): New routine.
* sem_util.ads (Copy_Subprogram_Spec): New routine.
(Is_Contract_Annotation): New routine.

2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_attr.adb (Resolve_Attribute): Do not analyze the generated
body of an expression function when the prefix of attribute
'Access is the body.

From-SVN: r223048

9 years agore PR c++/65133 ([C++11] Result type deduction proceeds even though argument deductio...
Paolo Carlini [Tue, 12 May 2015 09:03:04 +0000 (09:03 +0000)]
re PR c++/65133 ([C++11] Result type deduction proceeds even though argument deduction fails)

2015-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/65133
* g++.dg/cpp0x/trailing10.C: New.

From-SVN: r223047

9 years ago[multiple changes]
Arnaud Charlet [Tue, 12 May 2015 08:54:42 +0000 (10:54 +0200)]
[multiple changes]

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Build_Derived_Enumeration_Type): The anonymous base
created for a derived enumeration type is not a first subtype,
even though it is defined through a full type declaration.
* sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Do not process
aspects for the anonymous base type constructed for a derived
scalar type, because they will be set when the first subtype
is frozen.
(Inherit_Aspects_At_Freeze_Point): Fix typos on handling of
Default_Value and Default_Component_Value, that prevented the
proper inheritance of these aspects.

2015-05-12  Gary Dismukes  <dismukes@adacore.com>

* exp_ch6.adb, exp_unst.adb: Minor typo fixes.

From-SVN: r223045

9 years ago[multiple changes]
Arnaud Charlet [Tue, 12 May 2015 08:36:45 +0000 (10:36 +0200)]
[multiple changes]

2015-05-12  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb: Minor reformatting.

2015-05-12  Vincent Celier  <celier@adacore.com>

* gnatcmd.adb: If we want to invoke gnatmake (gnatclean) with
-P, then check if gprbuild (gprclean) is available; if it is,
use gprbuild (gprclean) instead of gnatmake (gnatclean).

2015-05-12  Robert Dewar  <dewar@adacore.com>

* debug.adb: Add flag -gnatd.3 to output diagnostic info from
Exp_Unst.
* einfo.ad, einfo.adb: Reorganize (and remove most of) flags used by
Exp_Unst.
* exp_ch6.adb (Unest_Bodies): Table for delayed calls to
Unnest_Subprogram (Expand_N_Subprogram_Body): Add entry to table
for later call instead of calling Unnest_Subprogram directly
(Initialize): New procedure (Unnest_Subprograms): New procedure
* exp_ch6.ads (Add_Extra_Actual_To_Call): Move into proper
alpha order.
(Initialize): New procedure.
(Unnest_Subprograms): New procedure.
* exp_unst.adb (Unnest_Subprogram): Major rewrite, moving
all processing to this routine which is now called late
after instantiating bodies. Fully handles the case of generic
instantiations now.
* exp_unst.ads: Major rewrite, moving all processing to
Unnest_Subprogram.
* frontend.adb (Frontend): Add call to Exp_Ch6.Initialize.
(Frontend): Add call to Unnest_Subprograms.
* sem_ch8.adb (Find_Direct_Name): Back to old calling sequence
for Check_Nested_Access.
* sem_util.adb (Build_Default_Subtype): Minor reformatting
(Check_Nested_Access): Back to original VM-only form (we
now do all the processing for Unnest_Subprogram at the time
it is called.
(Denotes_Same_Object): Minor reformatting
(Note_Possible_Modification): Old calling sequence for
Check_Nested_Access.
* sem_util.ads (Check_Nested_Access): Back to original VM-only
form (we now do all the processing for Unnest_Subprogram at the
time it is called.

From-SVN: r223043

9 years agosem_ch3.adb, [...]: Minor reformatting.
Robert Dewar [Tue, 12 May 2015 08:34:04 +0000 (08:34 +0000)]
sem_ch3.adb, [...]: Minor reformatting.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, freeze.adb, sem_ch6.adb: Minor reformatting.

From-SVN: r223042

9 years agosem_ch3.adb (Analyze_Object_Declaration): New function Has_Delayed_Aspect...
Ed Schonberg [Tue, 12 May 2015 08:25:39 +0000 (08:25 +0000)]
sem_ch3.adb (Analyze_Object_Declaration): New function Has_Delayed_Aspect...

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Analyze_Object_Declaration): New function
Has_Delayed_Aspect, used to defer resolution of an aggregate
expression when the object declaration carries aspects Address
and/or Alignment.
* freeze.adb (Freeze_Object_Declaration): New subsidiary procedure
to Freeze_Entity.  In addition to the previous processing steps
at the freeze point of an object, this procedure also handles
aggregates in object declarations, when the declaration carries
delayed aspects that require that the initialization of the
object be attached to its freeze actions.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Declaration): Following
AI12-0147, null procedures and expression functions are allowed
in protected bodies.

From-SVN: r223041

9 years ago[multiple changes]
Arnaud Charlet [Tue, 12 May 2015 08:21:47 +0000 (10:21 +0200)]
[multiple changes]

2015-05-12  Tristan Gingold  <gingold@adacore.com>

* i-cpoint.adb (Copy_Terminated_Array): Copy nothing if Length is 0.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Complete_Private_Subtype): Propagate
Has_Delayed_Aspects flag from private to full view, to ensure
that predicate functions are constructed.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Process_Formals): If a tagged formal is an
incomplete class-wide type, the subprogram must have a delayed
freeze even though the opertation is not a primitive of the
type. THis ensures that the backend can recover the full view
when elaborating the subprogram declaration.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* exp_util.adb (Get_Current_Value_Condition): Nothing to be
done if an elsif part has been rewritten so that it is not part
of an enclosing if_statement.

From-SVN: r223040

9 years ago[multiple changes]
Arnaud Charlet [Tue, 12 May 2015 08:13:39 +0000 (10:13 +0200)]
[multiple changes]

2015-05-12  Robert Dewar  <dewar@adacore.com>

* sem_type.adb, sem_ch10.adb, freeze.adb, sem_ch6.adb, exp_disp.adb:
Minor reformatting.

2015-05-12  Bob Duff  <duff@adacore.com>

* exp_attr.adb (Size): Remove unnecessary check for types with
unknown discriminants. That was causing the compiler to build
a function call _size(T), where T is a type, not an object.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Extended_Primitive_Ops): Exclude overriding
primitive operations of a type extension declared in the package
body, to prevent duplicates in extended list.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Analyze_Component_Declaration): If the component is
an unconstrained synchronized type with discriminants, create a
constrained default subtype for it, so that the enclosing record
can be given the proper size.
* sem_util.adb (Build_Default_Subtype): If the subtype is created
for a record discriminant, do not analyze the declarztion at
once because it is added to the freezing actions of the enclosing
record type.

From-SVN: r223039

9 years ago[multiple changes]
Arnaud Charlet [Tue, 12 May 2015 08:11:25 +0000 (10:11 +0200)]
[multiple changes]

2015-05-12  Robert Dewar  <dewar@adacore.com>

* exp_prag.adb (Expand_N_Pragma): Rewrite ignored pragma as
Null statements.
* namet.ads (Boolean3): Document this flag used for Ignore_Pragma.
* par-prag.adb (Prag): Implement Ignore_Pragma.
* sem_prag.adb: Implement Ignore_Pragma.
* snames.ads-tmpl: Add entries for pragma Ignore_Pragma.

2015-05-12  Javier Miranda  <miranda@adacore.com>

* sem_ch10.adb (Build_Shadow_Entity): Link the class-wide shadow
entity with its corresponding real entity.
(Decorate_Type): Unconditionally build the class-wide shadow entity of
tagged types.
* einfo.ads, einfo.adb (Has_Non_Limited_View): New synthesized
attribute.
(Non_Limited_View): Moved from field 17 to field 19 be available
in class-wide entities.
* exp_attr.adb (Access_Cases): Code cleanup.
* exp_disp.adb (Expand_Interface_Actuals): Ditto.
* exp_util.adb (Non_Limited_Designated_Type): Ditto.
* freeze.adb (Build_Renamed_Bdody): Ditto.
* sem_aux.adb (Available_View): Ditto.
* sem_ch4.adb (Analyze_Selected_Component): Ditto.
(Try_One_Prefix_Interpretation): Ditto.
* sem_ch5.adb (Analyze_Assignment): Ditto.
* sem_ch6.adb (Detect_And_Exchange): Ditto.
* sem_ch8.adb (Find_Expanded_Name): Ditto.
* sem_disp.adb (Check_Controlling_Type): Ditto.
* sem_res.adb (Resolve_Type_Conversion): Ditto.
(Full_Designated_Type): Ditto.
* sem_type.adb (Covers): Ditto.
* sem_util.adb: Fix typo in comment.

From-SVN: r223038

9 years agoMinor reformatting.
Arnaud Charlet [Tue, 12 May 2015 08:08:10 +0000 (10:08 +0200)]
Minor reformatting.

From-SVN: r223037

9 years ago[multiple changes]
Arnaud Charlet [Tue, 12 May 2015 08:07:41 +0000 (10:07 +0200)]
[multiple changes]

2015-05-12  Robert Dewar  <dewar@adacore.com>

* exp_unst.adb (Get_Real_Subp): New subprogram.
(Unnest_Subprogram): Use Get_Real_Subp.
(Uplev_Refs_For_One_Subp): Skip if no ARECnU entity.
(Uplev_Refs_For_One_Subp): Use actual subtype in unconstrained case.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* a-reatim.adb ("/"): Add explicit check for Time_Span_First / -1.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Extended_Primitive_Ops): New subprogram,
auxiliary to Try_Primitive_Operation to handle properly prefixed
calls where the operation is not a primitive of the type, but
is declared in the package body that is in the immediate scope
of the type.

From-SVN: r223036

9 years ago[multiple changes]
Arnaud Charlet [Tue, 12 May 2015 08:03:06 +0000 (10:03 +0200)]
[multiple changes]

2015-05-12  Robert Dewar  <dewar@adacore.com>

* sem_util.adb (Is_Variable): Allow X'Deref(Y) as a variable.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Find_Expanded_Name): Handle properly a fully
qualified name for an instance of a generic grand-child unit in
the body its parent.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* exp_unst.adb (Upref_Name): New subprogram.
(Unnest_Subprogram): Use Upref_Name.
(Unnest_Subprogram): Use new Deref attribute.
* exp_unst.ads: Doc updates.

2015-05-12  Thomas Quinot  <quinot@adacore.com>

* adaint.c: Enable Large File Support in adaint so that __gnat_readdir
can access files on filesystems mounted from servers that use large
NFS file handles.

From-SVN: r223035

9 years agocombine.c i (set_nonzero_bits_and_sign_copies): Split code updating rsp->sign_bit_cop...
Thomas Preud'homme [Tue, 12 May 2015 08:01:29 +0000 (08:01 +0000)]
combine.c i (set_nonzero_bits_and_sign_copies): Split code updating rsp->sign_bit_copies and rsp->nonzero_bits into ...

2015-05-12  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * combine.c i(set_nonzero_bits_and_sign_copies): Split code updating
    rsp->sign_bit_copies and rsp->nonzero_bits into ...
    (update_rsp_from_reg_equal): This.  Also use REG_EQUAL note on src if
    present to get more accurate information about the number of sign bit
    copies and non zero bits.

From-SVN: r223034

9 years agotree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization do not allow unrolling.
Richard Biener [Tue, 12 May 2015 07:40:00 +0000 (07:40 +0000)]
tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization do not allow unrolling.

2015-05-12  Richard Biener  <rguenther@suse.de>

* tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization
do not allow unrolling.

* gcc.dg/vect/bb-slp-35.c: New testcase.

From-SVN: r223033

9 years agore PR fortran/66041 (Matmul ICE)
Thomas Koenig [Tue, 12 May 2015 06:37:43 +0000 (06:37 +0000)]
re PR fortran/66041 (Matmul ICE)

2015-05-12  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/66041
PR fortran/37131
* gfortran.h (gfc_array_spec):  Add field resolved.
* array.c (gfc_resolve_array_spec):  Resolve array spec
only once.

From-SVN: r223031

9 years agoDaily bump.
GCC Administrator [Tue, 12 May 2015 00:16:24 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r223030

9 years agoi386: Add CCPmode
Richard Henderson [Mon, 11 May 2015 23:33:28 +0000 (16:33 -0700)]
i386: Add CCPmode

For testing parity coming out of asm flags.

From-SVN: r223026

9 years agoConvert to md_asm_adjust
Richard Henderson [Mon, 11 May 2015 23:33:23 +0000 (16:33 -0700)]
Convert to md_asm_adjust

Using proper vectors instead of lists of trees.

From-SVN: r223025

9 years agoCanonicalize asm volatility earlier
Richard Henderson [Mon, 11 May 2015 23:33:17 +0000 (16:33 -0700)]
Canonicalize asm volatility earlier

If gimple_asm_volatile_p is correct, no point re-checking.
This is also done by the C and C++ front ends, but not Ada.
So we can't yet trust ASM_VOLATILE_P from the front end.

From-SVN: r223024

9 years agoMerge expand_asm_operands into expand_asm_stmt
Richard Henderson [Mon, 11 May 2015 23:33:12 +0000 (16:33 -0700)]
Merge expand_asm_operands into expand_asm_stmt

Prepatory to converting from tree chains to vectors.

From-SVN: r223023

9 years agoOnly resolve_asm_operand_names once
Richard Henderson [Mon, 11 May 2015 23:33:07 +0000 (16:33 -0700)]
Only resolve_asm_operand_names once

We do it in the front end already; no need to repeat.

From-SVN: r223022

9 years agoclass.c (fixup_type_variants): Do not copy TYPE_METHODS
Jan Hubicka [Mon, 11 May 2015 22:24:33 +0000 (00:24 +0200)]
class.c (fixup_type_variants): Do not copy TYPE_METHODS

* class.c (fixup_type_variants): Do not copy TYPE_METHODS
(one_inheriting_sig): Assert tat we always set TYPE_METHODS of main variant.
* semantics.c (finish_member_declaration): Likewise.
* method.c (lazily_declare_fn): Allways add method to main variant list.

* dwarf2out.c (gen_member_die): Sanity check that we access TYPE_MAIN_VARIANT
for TYPE_METHODS.
* function.c (use_register_for_decl): Look for TYPE_MAIN_VARIANT when checking
TYPE_METHODS.
* tree.c (free_lang_data_in_type): See TYPE_METHODS to error_mark_node
if non-null.
(build_distinct_type_copy): Clear TYPE_METHODS.
(verify_type_variant): Verify that TYPE_METHODS is NULL for variants.
(verify_type): Allow TYPE_METHODS to be error_mark_node.
* tree.def: Update docs of YTPE_STUB_DECL and TYPE_METHODS.

From-SVN: r223021

9 years agoemit-rtl.c (emit_pattern_after_setloc): Add missing guard.
Eric Botcazou [Mon, 11 May 2015 22:12:46 +0000 (22:12 +0000)]
emit-rtl.c (emit_pattern_after_setloc): Add missing guard.

* emit-rtl.c (emit_pattern_after_setloc): Add missing guard.
(emit_pattern_before_setloc): Likewise.

From-SVN: r223020

9 years agoFix fortran/66100 bound simplification ICE
Mikael Morin [Mon, 11 May 2015 21:03:50 +0000 (21:03 +0000)]
Fix fortran/66100 bound simplification ICE

        PR fortran/66100
gcc/fortran/
        * simplify.c (simplify_bound): Fix assert to accept subobject * arrays.
gcc/testsuite/
        * gfortran.dg/bound_simplification_6.f90: New.

From-SVN: r223019

9 years ago* sv.po: Update.
Joseph Myers [Mon, 11 May 2015 20:08:32 +0000 (21:08 +0100)]
* sv.po: Update.

From-SVN: r223016

9 years agogenrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE for define_peephole2s.
Richard Sandiford [Mon, 11 May 2015 19:54:42 +0000 (19:54 +0000)]
genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE for define_peephole2s.

gcc/
* genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE
for define_peephole2s.
(get_peephole2_pattern): New function.
(main): Use it.  Call validate_pattern.

From-SVN: r223015

9 years ago* MAINTAINERS (Write After Approval): Add myself.
Paulo Matos [Mon, 11 May 2015 18:09:43 +0000 (20:09 +0200)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r223012

9 years agoconfigure.ac: Fix typo.
Paulo Matos [Mon, 11 May 2015 18:09:35 +0000 (20:09 +0200)]
configure.ac: Fix typo.

        * configure.ac: Fix typo.
        * configure: Regenerate.

From-SVN: r223011

9 years ago* gcc.target/mips/branch-1.c: Pass argument to bar().
Steve Ellcey [Mon, 11 May 2015 18:01:13 +0000 (18:01 +0000)]
* gcc.target/mips/branch-1.c: Pass argument to bar().

From-SVN: r223010

9 years agoavr.c (avr_hard_regno_call_part_clobbered): Use LAST_CALLEE_SAVED_REG instead of...
Pitchumani Sivanupandi [Mon, 11 May 2015 17:16:43 +0000 (17:16 +0000)]
avr.c (avr_hard_regno_call_part_clobbered): Use LAST_CALLEE_SAVED_REG instead of hard-coded register number.

* config/avr/avr.c (avr_hard_regno_call_part_clobbered): Use
LAST_CALLEE_SAVED_REG instead of hard-coded register number.
(Last callee saved reg is different for AVR_TINY architecture)

From-SVN: r223009

9 years agoi386.c (ix86_loop_unroll_adjust): Use PATTERN (insn) when looking for memory references.
Uros Bizjak [Mon, 11 May 2015 16:35:02 +0000 (18:35 +0200)]
i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn) when looking for memory references.

* config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn)
when looking for memory references.

From-SVN: r223008

9 years agoruntime: Fix runtime/pprof test when libgo is not optimized.
Ian Lance Taylor [Mon, 11 May 2015 16:19:23 +0000 (16:19 +0000)]
runtime: Fix runtime/pprof test when libgo is not optimized.

When libgo is not optimized the static function profilealloc
in malloc.goc shows up in the stack trace.  Rename it to
runtime_profilealloc so that runtime/pprof.printStackRecord
ignores it.

From-SVN: r223006

9 years agore PR target/65753 ([i386] Incorrect tail call inhibition logic on i386 (32-bit))
Alexander Monakov [Mon, 11 May 2015 16:10:24 +0000 (19:10 +0300)]
re PR target/65753 ([i386] Incorrect tail call inhibition logic on i386 (32-bit))

PR target/65753
* config/i386/i386.c (ix86_function_ok_for_sibcall): Allow PIC sibcalls
via function pointers.

testsuite:
* gcc.target/i386/pr65753.c: New test.

From-SVN: r223005

9 years agocalls.c (prepare_call_address): Transform PLT call to GOT lookup and indirect call...
Alexander Monakov [Mon, 11 May 2015 13:20:57 +0000 (16:20 +0300)]
calls.c (prepare_call_address): Transform PLT call to GOT lookup and indirect call by forcing address into a...

* calls.c (prepare_call_address): Transform PLT call to GOT lookup and
indirect call by forcing address into a pseudo with -fno-plt.
* common.opt (flag_plt): New option.
* doc/invoke.texi (Code Generation Options): Add -fno-plt.
([-fno-plt]): Document.

From-SVN: r223003

9 years agore PR bootstrap/66105 (genpreds.c compile error in stage2 on powerpc64-linux)
Markus Trippelsdorf [Mon, 11 May 2015 11:24:35 +0000 (11:24 +0000)]
re PR bootstrap/66105 (genpreds.c compile error in stage2 on powerpc64-linux)

Fix PR66105

2015-05-11  Markus Trippelsdorf  <markus@trippelsdorf.de>

PR bootstrap/66105
* config/rs6000/option-defaults.h: Add space between string literal
and macro name.

From-SVN: r223002

9 years agopr64616.c: Test dump rather than assembly to work accross ARM targets.
Thomas Preud'homme [Mon, 11 May 2015 10:45:25 +0000 (10:45 +0000)]
pr64616.c: Test dump rather than assembly to work accross ARM targets.

2015-05-11  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * gcc.target/arm/pr64616.c: Test dump rather than assembly to work
    accross ARM targets.

From-SVN: r223001

9 years agoarm-protos.h (thumb_code, [...]): Remove.
Christian Bruel [Mon, 11 May 2015 10:34:41 +0000 (12:34 +0200)]
arm-protos.h (thumb_code, [...]): Remove.

2015-05-11  Christian Bruel  <christian.bruel@st.com>

  * config/arm/arm-protos.h (thumb_code, thumb1_code): Remove.
  * config/arm/vxworks.h (thumb_code): Replace with TARGET_THUMB.

From-SVN: r223000

9 years agore PR rtl-optimization/66076 (ICE: in vec_safe_grow, at vec.h:618 with -funroll-loops...
Richard Sandiford [Mon, 11 May 2015 09:35:53 +0000 (09:35 +0000)]
re PR rtl-optimization/66076 (ICE: in vec_safe_grow, at vec.h:618 with -funroll-loops -mno-prefer-avx128 -march=bdver4)

gcc/
PR rtl-optimization/66076
* rtlanal.c (generic_subrtx_iterator <T>::add_single_to_queue):
Don't grow the heap array if it is already big enough from a
previous iteration.

gcc/testsuite/
PR rtl-optimization/66076
* gcc.dg/torture/pr66076.c: New test.

From-SVN: r222999

9 years agoarm-protos.h (arm_declare_function_name): Declare.
Christian Bruel [Mon, 11 May 2015 08:23:53 +0000 (10:23 +0200)]
arm-protos.h (arm_declare_function_name): Declare.

2015-05-11  Christian Bruel  <christian.bruel@st.com>

* config/arm/arm-protos.h (arm_declare_function_name): Declare.
(is_called_in_ARM_mode): Remove.
* config/arm/arm.c (is_called_in_ARM_mode): Declare static bool.
(arm_declare_function_name): Moved from from ARM_DECLARE_FUNCTION_NAME.
* config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Call
 arm_declare_function_name.

From-SVN: r222997

9 years agofix date
Christian Bruel [Mon, 11 May 2015 07:58:19 +0000 (09:58 +0200)]
fix date

From-SVN: r222996

9 years agoarm.c (arm_option_override): Reoganized and split into : (arm_option_params_internal...
Christian Bruel [Mon, 11 May 2015 07:53:33 +0000 (09:53 +0200)]
arm.c (arm_option_override): Reoganized and split into : (arm_option_params_internal); New function.

2014-09-23  Christian Bruel  <christian.bruel@st.com>

* config/arm/arm.c (arm_option_override): Reoganized and split into :
(arm_option_params_internal); New function.
(arm_option_check_internal): New function.
(arm_option_override_internal): New function.
(thumb_code, thumb1_code): Remove.
* config/arm/arm.h (TREE_TARGET_THUMB, TREE_TARGET_THUMB1): New macros.
(TREE_TARGET_THUM2, TREE_TARGET_ARM): Likewise.
(thumb_code, thumb1_code): Remove.
* config/arm/arm.md (is_thumb, is_thumb1): Check TARGET flag.

From-SVN: r222995

9 years ago* config/alpha/alpha.c (alpha_emit_set_const_1)
Uros Bizjak [Mon, 11 May 2015 07:21:19 +0000 (09:21 +0200)]
* config/alpha/alpha.c (alpha_emit_set_const_1)
(alpha_emit_set_long_const, alpha_extract_integer)
(alpha_legitimate_constant_p, alpha_split_const_mov)
(alpha_expand_block_clear, alpha_expand_zap_mask, print_operand):
[HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
(alpha_emit_set_const_1): Change "(HOST_WIDE_INT) 1" to
HOST_WIDE_INT_1U.
* config/alpha/predicates.md (mode_mask_operand): Do not match
const_double RTX.
[HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
* config/alpha/alpha.md (abstf, *abstf_internal, UNSPEC_ZAP splitter):
Change "(HOST_WIDE_INT) 1" to HOST_WIDE_INT_1U.
[HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
(*negtf_internal): Use gen_int_mode instead of immed_double_const.

From-SVN: r222994

9 years agore PR target/65780 (Uninitialized common handling in executables)
Jakub Jelinek [Mon, 11 May 2015 07:09:04 +0000 (09:09 +0200)]
re PR target/65780 (Uninitialized common handling in executables)

PR target/65780
* config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to
default_binds_local_p_2.
* config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise.
* config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise.

From-SVN: r222992

9 years ago* tree.c (verify_type_variant): Check TYPE_VALUES_RAW and TYPE_PRECISION
Jan Hubicka [Mon, 11 May 2015 02:51:51 +0000 (04:51 +0200)]
* tree.c (verify_type_variant): Check TYPE_VALUES_RAW and TYPE_PRECISION

From-SVN: r222991

9 years agoPatch by Richard Biener
Jan Hubicka [Mon, 11 May 2015 02:48:49 +0000 (04:48 +0200)]
Patch by Richard Biener

Patch by Richard Biener
* coverage.c (coverage_obj_init): Delay building of type variant
until the type is finished.

From-SVN: r222990

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

From-SVN: r222989

9 years agoipa-devirt.c (warn_types_mismatch): Do not ICE when warning about mismatch between...
Jan Hubicka [Sun, 10 May 2015 21:58:53 +0000 (23:58 +0200)]
ipa-devirt.c (warn_types_mismatch): Do not ICE when warning about mismatch between C and C++ type...

* ipa-devirt.c (warn_types_mismatch): Do not ICE when warning about
mismatch between C and C++ type; compoare correctly ARG_TYPES
for non-prototypes and output correctly parameter index for METHOD_TYPE.
(odr_types_equivalent_p): Fix wording of warning about attributes;
it is OK to match prototype and non-prototype.

From-SVN: r222985

9 years agotree.c (free_lang_data_in_type): Free TREE_PURPOSE of TYPE_ARG_TYPES list.
Jan Hubicka [Sun, 10 May 2015 21:03:15 +0000 (23:03 +0200)]
tree.c (free_lang_data_in_type): Free TREE_PURPOSE of TYPE_ARG_TYPES list.

* tree.c (free_lang_data_in_type): Free TREE_PURPOSE of
TYPE_ARG_TYPES list.
(verify_type): Permit non-NULL TREE_PURPOSE in non-LTO builds.
* tree.def (FUNCTION_TYPE): Document TREE_PURPOSE in TYPE_ARG_TYPES

From-SVN: r222984

9 years ago* MAINTAINERS (Write After Approval): Add myself.
Mikhail Maltsev [Sun, 10 May 2015 18:13:57 +0000 (18:13 +0000)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r222983

9 years agore PR fortran/66041 (Matmul ICE)
Thomas Koenig [Sun, 10 May 2015 18:08:33 +0000 (18:08 +0000)]
re PR fortran/66041 (Matmul ICE)

2015-05-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/66041
* frontend-passes.c (scalarized_expr): Set correct dimension and
shape for the expression to be passed to lbound. Remove trailing
references after array refrence.
(inline_matmul_assign):  Remove gfc_copy_expr from calls
to scalarized_expr().

2015-05-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/66041
* gfortran.dg/inline_matmul_7.f90:  New test.
* gfortran.dg/inline_matmul_8.f90:  New test.
* gfortran.dg/inline_matmul_9.f90:  New test.

From-SVN: r222982

9 years ago* tree.h (is_lang_specific): Constify.
Jan Hubicka [Sun, 10 May 2015 14:20:09 +0000 (16:20 +0200)]
* tree.h (is_lang_specific): Constify.

From-SVN: r222981

9 years ago* tree.c (verify_type): Verify TYPE_BINFO and TYPE_VALUES_RAW.
Jan Hubicka [Sun, 10 May 2015 14:13:32 +0000 (16:13 +0200)]
* tree.c (verify_type): Verify TYPE_BINFO and TYPE_VALUES_RAW.

From-SVN: r222980

9 years agobound simplification refactoring
Mikael Morin [Sun, 10 May 2015 13:56:47 +0000 (13:56 +0000)]
bound simplification refactoring

gcc/fortran/
* simplify.c (simplify_bound_dim): Don't check for emptyness
in the case of cobound simplification.  Factor lower/upper
bound differenciation before the actual simplification.
(simplify_bound): Remove assumed shape specific simplification.
Don't give up early for the lbound of an assumed shape.
gcc/testsuite/
* gfortran.dg/bound_simplification_5.f90: New.

From-SVN: r222979

9 years agoc-opts.c (c_common_post_options): Also clear cpp_opts->cpp_warn_cxx11_compat.
Jason Merrill [Sun, 10 May 2015 00:47:33 +0000 (20:47 -0400)]
c-opts.c (c_common_post_options): Also clear cpp_opts->cpp_warn_cxx11_compat.

* c-opts.c (c_common_post_options): Also clear
cpp_opts->cpp_warn_cxx11_compat.

From-SVN: r222978

9 years agoc-common.h (enum cxx_dialect): Add cxx_unset.
Jason Merrill [Sun, 10 May 2015 00:47:12 +0000 (20:47 -0400)]
c-common.h (enum cxx_dialect): Add cxx_unset.

gcc/c-family/
* c-common.h (enum cxx_dialect): Add cxx_unset.
* c-common.c (cxx_dialect): Initialize to cxx_unset.
* c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
gcc/testsuite/
* lib/target-supports.exp (cxx_default): New global.
(check_effective_target_c++11_only)
(check_effective_target_c++14_only)
(check_effective_target_c++98_only)
(check_effective_target_c++1z_only): Check it.

From-SVN: r222977

9 years agoc.opt (std=c++14): Remove Undocumented flag and experimental warning.
Jason Merrill [Sun, 10 May 2015 00:46:34 +0000 (20:46 -0400)]
c.opt (std=c++14): Remove Undocumented flag and experimental warning.

* c.opt (std=c++14): Remove Undocumented flag and experimental warning.
(std=gnu++0x): Mark as Undocumented.
(std=gnu++1y): Add deprecated message.

From-SVN: r222976

9 years agosynopsis.cc: Add _GLIBCXX14_CONSTEXPR.
Jason Merrill [Sun, 10 May 2015 00:46:12 +0000 (20:46 -0400)]
synopsis.cc: Add _GLIBCXX14_CONSTEXPR.

* testsuite/20_util/headers/functional/synopsis.cc: Add
_GLIBCXX14_CONSTEXPR.
* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.

From-SVN: r222975

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

From-SVN: r222974

9 years agore PR tree-optimization/64454 (optimize (x%5)%5)
Marc Glisse [Sat, 9 May 2015 15:40:05 +0000 (17:40 +0200)]
re PR tree-optimization/64454 (optimize (x%5)%5)

2015-05-09  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/64454
gcc/
* tree-vrp.c (extract_range_from_binary_expr_1) <TRUNC_MOD_EXPR>:
Rewrite.
gcc/testsuite/
* gcc.dg/tree-ssa/vrp97.c: New file.
* gcc.dg/vect/slp-perm-7.c: Update.

From-SVN: r222970

9 years agore PR bootstrap/66085 (Revision r222934 breaks bootstrap on darwin.)
Aldy Hernandez [Sat, 9 May 2015 13:50:21 +0000 (13:50 +0000)]
re PR bootstrap/66085 (Revision r222934 breaks bootstrap on darwin.)

PR bootstrap/66085
* decl2.c (note_mangling_alias): Declare arguments as unused.

From-SVN: r222969

9 years agoFix fortran/65894 elemental procedures wrong-code
Mikael Morin [Sat, 9 May 2015 13:36:14 +0000 (13:36 +0000)]
Fix fortran/65894 elemental procedures wrong-code

gcc/fortran/
2015-05-09  Mikael Morin  <mikael@gcc.gnu.org>

PR fortran/65894
* trans-array.h (gfc_scalar_elemental_arg_saved_as_reference):
New prototype.
* trans-array.c (gfc_scalar_elemental_arg_saved_as_reference):
New function.
(gfc_add_loop_ss_code): Use gfc_scalar_elemental_arg_saved_as_reference
as conditional.
(gfc_walk_elemental_function_args): Set the dummy_arg field.
* trans.h (gfc_ss_info): New subfield dummy_arg.
* trans-expr.c (gfc_conv_procedure_call): Revert the change
of revision 222361.
(gfc_conv_expr): Use gfc_scalar_elemental_arg_saved_as_reference
as conditional.

gcc/testsuite/
2015-05-09  Andre Vehreschild  <vehre@gmx.de>

PR fortran/65894
* gfortran.dg/elemental_subroutine_11.f90: New test.

From-SVN: r222968

9 years agoutils.c (gnat_write_global_declarations): Use type_decl method instead of global_decl...
Eric Botcazou [Sat, 9 May 2015 11:31:21 +0000 (11:31 +0000)]
utils.c (gnat_write_global_declarations): Use type_decl method instead of global_decl for TYPE_DECLs.

* gcc-interface/utils.c (gnat_write_global_declarations): Use type_decl
method instead of global_decl for TYPE_DECLs.

From-SVN: r222967

9 years agoopenacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
Jason Merrill [Sat, 9 May 2015 04:50:35 +0000 (00:50 -0400)]
openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.

* openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.

* testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
_Complex.

From-SVN: r222966

9 years agostd_c++0x_neg.cc: Add -std=c++98.
Jason Merrill [Sat, 9 May 2015 04:50:30 +0000 (00:50 -0400)]
std_c++0x_neg.cc: Add -std=c++98.

* testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: Add -std=c++98.
* testsuite/20_util/auto_ptr/1.cc: Add -std=c++98.
* testsuite/20_util/auto_ptr/2.cc: Add -std=c++98.
* testsuite/20_util/auto_ptr/3.cc: Add -std=c++98.
* testsuite/20_util/auto_ptr/4.cc: Add -std=c++98.
* testsuite/20_util/auto_ptr/5.cc: Add -std=c++98.
* testsuite/20_util/auto_ptr/6.cc: Add -std=c++98.
* testsuite/20_util/auto_ptr/7.cc: Add -std=c++98.
* testsuite/20_util/auto_ptr/3946.cc: Add -std=c++98.
* testsuite/20_util/auto_ptr/assign_neg.cc: Add -std=c++98.
* testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/20_util/headers/functional/synopsis.cc: Add -Wno-deprecated.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Adjust expected errors.
* testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:  Likewise.
* testsuite/ext/array_allocator/1.cc: Add -Wno-deprecated.
* testsuite/ext/array_allocator/2.cc: Add -Wno-deprecated.
* testsuite/ext/array_allocator/26875.cc: Add -Wno-deprecated.
* testsuite/ext/array_allocator/3.cc: Add -Wno-deprecated.
* testsuite/ext/array_allocator/check_allocate_max_size.cc: Add -Wno-deprecated.
* testsuite/ext/array_allocator/check_deallocate_null.cc: Add -Wno-deprecated.
* testsuite/ext/array_allocator/check_delete.cc: Add -Wno-deprecated.
* testsuite/ext/array_allocator/check_new.cc: Add -Wno-deprecated.
* testsuite/ext/profile/mutex_extensions_neg.cc: Prune follow-on error.
* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc: Add -std=c++98.
* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc: Add -std=c++98.
* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Add -std=c++98.
* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Add -std=c++98 -fno-show-column.
* testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc: Add -std=c++98.
* testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc: Add -std=c++98.
* testsuite/tr1/6_containers/utility/pair.cc: Add -std=c++98.
* testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Add -std=c++98.

From-SVN: r222965

9 years agoMakefile.am (AM_CXXFLAGS): Add -std=gnu++98.
Jason Merrill [Sat, 9 May 2015 04:50:23 +0000 (00:50 -0400)]
Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.

* src/c++98/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
* src/c++98/Makefile.in: Regenerate.
* src/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
* src/Makefile.in: Regenerate.

From-SVN: r222964

9 years agomemcmp-1.c: Fix narrowing.
Jason Merrill [Sat, 9 May 2015 04:50:19 +0000 (00:50 -0400)]
memcmp-1.c: Fix narrowing.

gcc/testsuite/
* c-c++-common/asan/memcmp-1.c: Fix narrowing.
* c-c++-common/asan/no-asan-stack.c: Fix narrowing.
* c-c++-common/torture/vector-shift1.c: Fix narrowing.
* c-c++-common/torture/vshuf-2.inc: Fix narrowing.
* g++.dg/torture/pr33572.C: Compile with -std=c++98.

From-SVN: r222963

9 years agoc.opt (Wc++11-compat): Make primary.
Jason Merrill [Sat, 9 May 2015 04:50:15 +0000 (00:50 -0400)]
c.opt (Wc++11-compat): Make primary.

gcc/c-family/
* c.opt (Wc++11-compat): Make primary.  Rename var warn_cxx11_compat.
* c-opts.c: Adjust.
gcc/cp/
* cp-gimplify.c, parser.c: Adjust.

From-SVN: r222962

9 years agolex.c (lex_string): Add -Wc++11-compat warning.
Jason Merrill [Sat, 9 May 2015 04:50:10 +0000 (00:50 -0400)]
lex.c (lex_string): Add -Wc++11-compat warning.

libcpp/
* lex.c (lex_string): Add -Wc++11-compat warning.
* include/cpplib.h: Add CPP_W_CXX11_COMPAT.
(struct cpp_options): Add cpp_warn_cxx11_compat.
* init.c (cpp_create_reader): Initialize it.
gcc/c-family/
* c.opt (Wc++0x-compat): Set it.

From-SVN: r222961

9 years agobitmap.c, [...]: Add space between string literal and macro name.
Jason Merrill [Sat, 9 May 2015 04:50:05 +0000 (00:50 -0400)]
bitmap.c, [...]: Add space between string literal and macro name.

* bitmap.c, c/c-aux-info.c, cfg.c, cfghooks.c, cgraph.c,
config/aarch64/aarch64.md config/alpha/vms.h, config/darwin.c,
config/darwin.h, config/darwin9.h, config/elfos.h,
config/i386/bsd.h, config/ia64/ia64.c, config/lm32/lm32.h,
config/microblaze/microblaze.h, config/mips/mips.h,
config/mmix/mmix.c, config/msp430/msp430.c, config/nios2/nios2.h,
config/nvptx/nvptx.c, config/nvptx/nvptx.h, config/pa/pa.c,
config/pa/pa.h, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
config/rs6000/xcoff.h, config/rx/rx.h, config/s390/s390.h,
config/sparc/sol2.h, config/sparc/sparc.h, config/visium/visium.h,
cppbuiltin.c, defaults.h, doc/invoke.texi, dwarf2cfi.c,
dwarf2out.c, final.c, gcc.c, gcov-dump.c, gcov.c, ipa-cp.c,
ipa-inline.c, ipa-polymorphic-call.c, ipa-profile.c, ipa-prop.c,
ira-color.c, ira.c, loop-doloop.c, loop-iv.c, mcf.c,
modulo-sched.c, predict.c, profile.c, stor-layout.c, toplev.c,
tree-ssa-reassoc.c, value-prof.c, wide-int-print.cc: Add space
between string literal and macro name.

From-SVN: r222960

9 years agoredirect_jump* can take a rtx_insn *
Trevor Saunders [Sat, 9 May 2015 04:17:49 +0000 (04:17 +0000)]
redirect_jump* can take a rtx_insn *

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* jump.c: Change argument types to rtx_insn *.
* rtl.h: Adjust.

From-SVN: r222959

9 years agosetup_next_usage_insn can take a rtx_insn *
Trevor Saunders [Sat, 9 May 2015 04:17:44 +0000 (04:17 +0000)]
setup_next_usage_insn can take a rtx_insn *

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* lra-constraints.c: Change argument type to rtx_insn *.

From-SVN: r222958

9 years agortx_insn * in df-problems.c
Trevor Saunders [Sat, 9 May 2015 04:17:38 +0000 (04:17 +0000)]
rtx_insn * in df-problems.c

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* df-problems.c: Change argument type to rtx_insn *.

From-SVN: r222957

9 years agortx_insn * in combine.c
Trevor Saunders [Sat, 9 May 2015 04:17:33 +0000 (04:17 +0000)]
rtx_insn * in combine.c

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* combine.c: Change argument type to rtx_insn *.

From-SVN: r222956

9 years agofind_all_hard_reg_sets can take a rtx_insn *
Trevor Saunders [Sat, 9 May 2015 04:17:28 +0000 (04:17 +0000)]
find_all_hard_reg_sets can take a rtx_insn *

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* rtl.h: Adjust.
* rtlanal.c: Change argument type to rtx_insn *.

From-SVN: r222955

9 years agomore rtx_insn * in sched-deps.c
Trevor Saunders [Sat, 9 May 2015 04:17:22 +0000 (04:17 +0000)]
more rtx_insn * in sched-deps.c

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* sched-deps.c: Change argument types to rtx_insn *.
* sched-int.h: Adjust.

From-SVN: r222954

9 years agonotice_args_size can take a rtx_insn *
Trevor Saunders [Sat, 9 May 2015 04:17:17 +0000 (04:17 +0000)]
notice_args_size can take a rtx_insn *

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* dwarf2cfi.c: Change argument type to rtx_insn *.

From-SVN: r222953

9 years agomore rtx_insn * in recog.c
Trevor Saunders [Sat, 9 May 2015 04:17:12 +0000 (04:17 +0000)]
more rtx_insn * in recog.c

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* ira.c (decrease_live_ranges_number): Changetype of local
variable to rtx_insn *.
* recog.c: Change argument types to rtx_insn *.
* recog.h: Adjust.

From-SVN: r222952

9 years agouse rtx_insn * more in reorg.c
Trevor Saunders [Sat, 9 May 2015 04:17:05 +0000 (04:17 +0000)]
use rtx_insn * more in reorg.c

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* reorg.c: Change argument types to rtx_insn *.

From-SVN: r222951

9 years agochange more argument types to rtx_insn *
Trevor Saunders [Sat, 9 May 2015 04:17:00 +0000 (04:17 +0000)]
change more argument types to rtx_insn *

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* ira-color.c: Change argument types to rtx_insn *.
* lra-eliminations.c: Likewise.
* ira.h: Adjust.

From-SVN: r222950

9 years agopass rtx_insn * more in gcse.c
Trevor Saunders [Sat, 9 May 2015 04:16:54 +0000 (04:16 +0000)]
pass rtx_insn * more in gcse.c

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* gcse.c: Change argument types to rtx_insn *.

From-SVN: r222949

9 years agocse_change_cc0_mode can take a rtx_insn *
Trevor Saunders [Sat, 9 May 2015 04:16:49 +0000 (04:16 +0000)]
cse_change_cc0_mode can take a rtx_insn *

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* cse.c (cse_change_cc0_mode): Change argument type to rtx_insn *.

From-SVN: r222948

9 years agomake emit_debug_insn_before take a rtx_insn *
Trevor Saunders [Sat, 9 May 2015 04:16:43 +0000 (04:16 +0000)]
make emit_debug_insn_before take a rtx_insn *

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* emit-rtl.c (emit_debug_insn_before): Change argument type to
rtx_insn *.
* rtl.h: Adjust.

From-SVN: r222947