platform/upstream/linaro-gcc.git
9 years ago * configure.ac: Set CXXFLAGS for ISL test.
jason [Tue, 26 May 2015 13:12:14 +0000 (13:12 +0000)]
* configure.ac: Set CXXFLAGS for ISL test.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223694 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * configure.ac: When bootstrapping with GCC, add -std=c++98 to CXX.
jason [Tue, 26 May 2015 12:29:13 +0000 (12:29 +0000)]
* configure.ac: When bootstrapping with GCC, add -std=c++98 to CXX.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223692 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * configure.ac: Use C++ for all tests. Use AC_CHECK_DECLS for
jason [Tue, 26 May 2015 12:28:53 +0000 (12:28 +0000)]
* configure.ac: Use C++ for all tests.  Use AC_CHECK_DECLS for
strstr and basename.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223691 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Richard Biener <rguenther@suse.de>
rguenth [Tue, 26 May 2015 12:00:48 +0000 (12:00 +0000)]
2015-05-26  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and
X % C -> X & (C - 1) for C being a power-of two to ...
* match.pd: ... patterns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223690 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Marc Glisse <marc.glisse@inria.fr>
glisse [Tue, 26 May 2015 11:14:16 +0000 (11:14 +0000)]
2015-05-26  Marc Glisse  <marc.glisse@inria.fr>

* match.pd (swapped_tcc_comparison): New operator list.
(-A CMP -B): New simplification.
* fold-const.c (fold_comparison): Remove corresponding code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223689 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
rsandifo [Tue, 26 May 2015 11:02:27 +0000 (11:02 +0000)]
gcc/
* caller-save.c (init_caller_save): Base temporary register numbers
on LAST_VIRTUAL_REGISTER + 1 rather than FIRST_PSEUDO_REGISTER.
* cfgloopanal.c (init_set_costs): Likewise.
* dojump.c (prefer_and_bit_test): Likewise.
* expr.c (init_expr_target): Likewise.
* ira.c (setup_prohibited_mode_move_regs): Likewise.
* lower-subreg.c (init_lower_subreg): Likewise.
* postreload.c (reload_cse_regs_1): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223688 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
rsandifo [Tue, 26 May 2015 11:01:42 +0000 (11:01 +0000)]
gcc/
* gensupport.h (compute_test_codes): Declare.
* gensupport.c (compute_predicate_codes): Rename to...
(compute_test_codes): ...this.  Generalize error message.
(process_define_predicate): Update accordingly.
* genpreds.c (compute_maybe_allows): Delete.
(add_constraint): Use compute_test_codes to determine whether
something can accept a SUBREG, REG or MEM.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223687 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 26 May 2015 10:51:22 +0000 (10:51 +0000)]
2015-05-26  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb: sem_ch13.adb (Add_Predicates): Undo analysis
of original expression in ASIS mode: does not solve the ASIS
problem of a usable type information, and crashes the back-end
when performing type annotations.

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

* sem_disp.adb (Inherited_Subprograms): Add One_Only parameter.
(Is_Overriding_Subprogram): Use One_Only_Parameter.
* sem_disp.ads (Inherited_Subprograms): Add One_Only parameter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223686 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Robert Dewar <dewar@adacore.com>
charlet [Tue, 26 May 2015 10:49:18 +0000 (10:49 +0000)]
2015-05-26  Robert Dewar  <dewar@adacore.com>

* exp_prag.adb, sem_ch3.adb, sem_ch5.adb, exp_ch11.adb, ghost.adb,
exp_ch6.adb, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb, sem_ch13.adb,
exp_ch3.adb: Minor reformatting.

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

* treepr.adb: Minor improvement to debugging routines (pp, pn)
robustness.  Rearrange the code so passing a nonexistent Node_Id
prints "No such node" rather than crashing, and causing gdb to
generate confusing messages.

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

* sem_util.adb: Minor typo fix.

2015-05-26  Yannick Moy  <moy@adacore.com>

* sem_aux.adb (Subprogram_Body_Entity): Deal with subprogram stubs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223685 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Tue, 26 May 2015 10:46:58 +0000 (10:46 +0000)]
2015-05-26  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch3.adb (Expand_N_Full_Type_Declaration): Capture, set and
restore the Ghost mode.
(Expand_N_Object_Declaration): Capture, set and restore the Ghost mode.
(Freeze_Type): Update the call to Set_Ghost_Mode.
(Restore_Globals): New routine.
* exp_ch5.adb Add with and use clauses for Ghost.
(Expand_N_Assignment_Statement): Capture, set and restore the
Ghost mode.
(Restore_Globals): New routine.
* exp_ch6.adb Add with and use clauses for Ghost.
(Expand_N_Procedure_Call_Statement): Capture, set and
restore the Ghost mode.
(Expand_N_Subprogram_Body):
Code cleanup. Capture, set and restore the Ghost mode.
(Expand_N_Subprogram_Declaration): Capture, set and restore the
Ghost mode.
(Restore_Globals): New routine.
* exp_ch7.adb Add with and use clauses for Ghost.
(Expand_N_Package_Body): Capture, set and restore the Ghost mode.
(Expand_N_Package_Declaration): Capture, set and restore the
Ghost mode.
(Wrap_HSS_In_Block): Create a proper identifier for the block.
* exp_ch8.adb Add with and use clauses for Ghost.
(Expand_N_Exception_Renaming_Declaration): Code
cleanup. Capture, set and restore the Ghost mode.
(Expand_N_Object_Renaming_Declaration): Capture, set and restore
the Ghost mode.
(Expand_N_Package_Renaming_Declaration): Capture, set and restore the
Ghost mode.
(Expand_N_Subprogram_Renaming_Declaration): Capture, set and
restore the Ghost mode.
* exp_ch11.adb (Expand_N_Exception_Declaration): Code
cleanup. Capture, set and restore the Ghost mode.
* exp_disp.adb (Make_DT): Update the call to Set_Ghost_Mode. Do
not initialize the dispatch table slot of a Ghost subprogram.
* exp_prag.adb Add with and use clauses for Ghost.
(Expand_Pragma_Check): Capture, set and restore the Ghost mode.
(Expand_Pragma_Contract_Cases): Capture, set and restore the
Ghost mode.
(Expand_Pragma_Initial_Condition): Capture, set and
restore the Ghost mode.
(Expand_Pragma_Loop_Variant): Capture,
set and restore the Ghost mode.
(Restore_Globals): New routine.
* exp_util.adb Add with and use clauses for Ghost.
(Make_Predicate_Call): Code cleanup. Capture, set and restore
the Ghost mode.
(Restore_Globals): New routine.
* freeze.adb (Freeze_Entity): Code cleanup. Update the call
to Set_Ghost_Mode.
* ghost.adb Add with and use clause for Sem_Prag.
(Check_Ghost_Completion): Code cleanup.
(Check_Ghost_Overriding): New routine.
(Check_Ghost_Policy): Code cleanup.
(Ghost_Entity): New routine.
(Is_Ghost_Declaration): Removed.
(Is_Ghost_Statement_Or_Pragma): Removed.
(Is_OK_Context): Reimplemented.
(Is_OK_Declaration): New routine.
(Is_OK_Pragma): New routine.
(Is_OK_Statement): New routine.
(Mark_Full_View_As_Ghost): New routine.
(Mark_Pragma_As_Ghost): New routine.
(Mark_Renaming_As_Ghost): New routine.
(Propagate_Ignored_Ghost_Code): Update the comment on usage.
(Set_From_Entity): New routine.
(Set_From_Policy): New routine.
(Set_Ghost_Mode): This routine now handles pragmas and freeze nodes.
(Set_Ghost_Mode_For_Freeze): Removed.
(Set_Ghost_Mode_From_Entity): New routine.
(Set_Ghost_Mode_From_Policy): Removed.
* ghost.ads (Check_Ghost_Overriding): New routine.
(Mark_Full_View_As_Ghost): New routine.
(Mark_Pragma_As_Ghost): New routine.
(Mark_Renaming_As_Ghost): New routine.
(Set_Ghost_Mode): Update the parameter profile. Update the
comment on usage.
(Set_Ghost_Mode_For_Freeze): Removed.
(Set_Ghost_Mode_From_Entity): New routine.
* sem_ch3.adb (Analyze_Full_Type_Declaration):
Capture and restore the Ghost mode. Mark a type
as Ghost regardless of whether it comes from source.
(Analyze_Incomplete_Type_Decl): Capture, set and restore the
Ghost mode.
(Analyze_Number_Declaration): Capture and restore the Ghost mode.
(Analyze_Object_Declaration): Capture and restore the Ghost mode.
(Analyze_Private_Extension_Declaration): Capture and
restore the Ghost mode.
(Analyze_Subtype_Declaration): Capture and restore the Ghost mode.
(Process_Full_View): The full view inherits all Ghost-related
attributes from the private view.
(Restore_Globals): New routine.
* sem_ch5.adb (Analyze_Assignment): Capture and restore the
Ghost mode.
(Restore_Globals): New routine.
* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration):
Code cleanup. Capture and restore the Ghost mode. Mark a
subprogram as Ghost regarless of whether it comes from source.
(Analyze_Procedure_Call): Capture and restore the Ghost mode.
(Analyze_Subprogram_Body_Helper): Capture and restore the Ghost mode.
(Analyze_Subprogram_Declaration): Capture and restore the Ghost mode.
(New_Overloaded_Entity): Ensure that a
parent subprogram and an overriding subprogram have compatible
Ghost policies.
* sem_ch7.adb (Analyze_Package_Body_Helper): Capture and restore
the Ghost mode.
(Analyze_Package_Declaration): Capture and
restore the Ghost mode. Mark a package as Ghost when it is
declared in a Ghost region.
(Analyze_Private_Type_Declaration): Capture and restore the Ghost mode.
(Restore_Globals): New routine.
* sem_ch8.adb (Analyze_Exception_Renaming): Code
reformatting. Capture and restore the Ghost mode. A renaming
becomes Ghost when its name references a Ghost entity.
(Analyze_Generic_Renaming): Capture and restore the Ghost mode. A
renaming becomes Ghost when its name references a Ghost entity.
(Analyze_Object_Renaming): Capture and restore the Ghost mode. A
renaming becomes Ghost when its name references a Ghost entity.
(Analyze_Package_Renaming): Capture and restore the Ghost mode. A
renaming becomes Ghost when its name references a Ghost entity.
(Analyze_Subprogram_Renaming): Capture and restore the Ghost
mode. A renaming becomes Ghost when its name references a
Ghost entity.
* sem_ch11.adb (Analyze_Exception_Declaration): Capture, set
and restore the Ghost mode.
* sem_ch12.adb (Analyze_Generic_Package_Declaration): Capture and
restore the Ghost mode.
(Analyze_Generic_Subprogram_Declaration):
Capture and restore the Ghost mode.
* sem_ch13.adb Add with and use clauses for Ghost.
(Add_Invariant): New routine.
(Add_Invariants): Factor out code.
(Add_Predicate): New routine.
(Add_Predicates): Factor out code.
(Build_Invariant_Procedure_Declaration): Code cleanup. Capture,
set and restore the Ghost mode.
(Build_Invariant_Procedure): Code cleanup.
(Build_Predicate_Functions): Capture, set and
restore the Ghost mode. Mark the generated functions as Ghost.
* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
Capture, set and restore the Ghost mode.
(Analyze_External_Property_In_Decl_Part): Capture, set and restore
the Ghost mode.
(Analyze_Initial_Condition_In_Decl_Part):
Capture, set and restore the Ghost mode.
(Analyze_Pragma):
Code cleanup. Capture, set and restore the Ghost mode. Flag
pragmas Linker_Section, No_Return, Unmodified, Unreferenced and
Unreferenced_Objects as illegal when it applies to both Ghost
and living arguments. Pragma Ghost cannot apply to synchronized
objects.
(Check_Kind): Moved to the spec of Sem_Prag.
(Process_Inline): Flag the pragma as illegal when it applies to
both Ghost and living arguments.
(Restore_Globals): New routine.
* sem_prag.ads Add pragma Default_Initial_Condition
to table Assertion_Expression_Pragma. Add new table
Is_Aspect_Specifying_Pragma.
(Check_Kind): Moved from body of Sem_Prag.
* sem_util.adb Add with and use clauses for Ghost.
(Build_Default_Init_Cond_Procedure_Body): Capture, set and restore
the Ghost mode.
(Build_Default_Init_Cond_Procedure_Declaration):
Capture, set and restore the Ghost mode. Mark the default
initial condition procedure as Ghost when it is declared
in a Ghost region.
(Is_Renaming_Declaration): New routine.
(Policy_In_List): Account for the single argument version of
Check_Pragma.
* sem_util.ads (Is_Renaming_Declaration): New routine.
* sinfo.adb (Is_Ghost_Pragma): New routine.
(Set_Is_Ghost_Pragma): New routine.
* sinfo.ads New attribute Is_Ghost_Pragma.
(Is_Ghost_Pragma): New routine along with pragma Inline.
(Set_Is_Ghost_Pragma): New routine along with pragma Inline.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223684 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix memory order description in atomic ops built-ins docs.
torvald [Tue, 26 May 2015 10:45:56 +0000 (10:45 +0000)]
Fix memory order description in atomic ops built-ins docs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223683 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Robert Dewar <dewar@adacore.com>
charlet [Tue, 26 May 2015 10:42:26 +0000 (10:42 +0000)]
2015-05-26  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, sem_aux.adb, sem_aux.ads, exp_ch6.adb, sprint.adb:
Minor reformatting.

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

* gnat1drv.adb, targparm.adb, targparm.ads, restrict.adb: Minor
reformatting and typo fixes in comments.

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

* sem_ch7.adb (Swap_Private_Dependets): Set visibility of
the two views of a private dependent in two separate steps,
to ensure proper visibility in parent units analyzed for inlining.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223682 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Yannick Moy <moy@adacore.com>
charlet [Tue, 26 May 2015 10:40:39 +0000 (10:40 +0000)]
2015-05-26  Yannick Moy  <moy@adacore.com>

* sem_aux.adb, sem_aux.ads (Get_Low_Bound): Use Type_Low_Bound.
(Package_Body, Package_Spec): New queries moved
here from GNATprove.
(Package_Specification): Simplify query to remove use of loop.
* sem_util.adb, sem_util.ads (Enclosing_Declaration,
Enclosing_Package_Or_Subprogram, Is_Attribute_Update): New
queries moved here from GNATprove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223681 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Bob Duff <duff@adacore.com>
charlet [Tue, 26 May 2015 10:39:16 +0000 (10:39 +0000)]
2015-05-26  Bob Duff  <duff@adacore.com>

* einfo.adb, einfo.ads, sprint.adb, lib-xref.ads: Minor cleanup: Remove
obsolete Entity_Kinds E_String_Type and E_String_Subtype. Update
redundant assertions.

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

* sem_util.adb, sem_util.ads, sem_ch13.adb: Minor typo fixes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223680 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Doug Rupp <rupp@adacore.com>
charlet [Tue, 26 May 2015 10:35:14 +0000 (10:35 +0000)]
2015-05-26  Doug Rupp  <rupp@adacore.com>

* init.c [vxworks]: Refine previous checkin.

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

* exp_ch4.adb (Wrap_MA): New function.
(Expand_N_Op_Expon): Use Wrap_MA.

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

* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
Do not use secondary stack to return limited records with
defaulted discriminants. This is an efficiency improvement.
* exp_ch6.adb, exp_dist.adb, sem_attr.adb, sem_aux.adb, sem_aux.ads,
sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb,
sem_util.adb: Change the sense of Is_Indefinite_Subtype to be
Is_Definite_Subtype. This is an improvement to readability (the double
negative in "not Is_Indefinite_Subtype" was slightly confusing). Also
disallow passing non-[sub]type entities, an unnecessary and slightly
bug-prone flexibility.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223679 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Robert Dewar <dewar@adacore.com>
charlet [Tue, 26 May 2015 10:29:25 +0000 (10:29 +0000)]
2015-05-26  Robert Dewar  <dewar@adacore.com>

* sem_aggr.adb (Resolve_Array_Aggregate): Defend against
bad bounds.
* debug.adb: Document -gnatd.k.
* erroutc.adb (Set_Msg_Insertion_Line_Number): Implement -gnatd.k.

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

* gnat1drv.adb (Gnat1drv): Provide new arguments for
Get_Target_Parameters.
* restrict.adb (Set_Restriction_No_Specification_Of_Aspect):
new procedure.
(Set_Restriction_No_Use_Of_Attribute): new procedure.
* restrict.ads (Set_Restriction_No_Specification_Of_Aspect):
new procedure.
(Set_Restriction_No_Use_Of_Attribute): new procedure.
* s-rident.ads (Integer_Parameter_Restrictions): New subtype.
* targparm.adb (Get_Target_Parameters): Allow new restriction
pragmas No_Specification_Of_Aspect No_Use_Of_Attribute
No_Use_Of_Pragma.
* targparm.ads: New parameters for Get_Target_Parameters.
* tbuild.adb (Set_NOD): New name for Set_RND.
(Set_NSA): New procedure.
(Set_NUA): New procedure.
(Set_NUP): New procedure.
* tbuild.ads (Make_SC): Minor reformatting.
(Set_NOD): New name for Set_RND.
(Set_NSA, Set_NUA, Set_NUP): New procedure.

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

* a-stwise.adb (Find_Token): If source'first is not positive,
an exception must be raised, as specified by RM 2005 A.4.3
(68/1). This must be checked explicitly, given that run-time
files are normally compiled without constraint checks.
* a-stzsea.adb (Find_Token): Ditto.

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

* sem_util.ads sem_util.adb (Is_Current_Instance):  New predicate
to fully implement RM 8.6 (17/3). which earlier only applied
to synchronized types. Used to preanalyze aspects that include
current instances of types, such as Predicate and Invariant.
* sem_res.adb (Resolve_Entity_Name): Use Is_Current_Instance.
* sem_ch13.adb (Add_Predicates): In ASIS mode, preserve original
expression of aspect and analyze it to provide proper type
information.

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

* rtsfind.ads: Add entries for RE_Exn[_Long]_Float.
* s-exnllf.adb (Exn_Float): New function.
(Exn_Long_Float): New function.
(Exn_Long_Long_Float): Rewritten interface.
(Exp): New name for what used to be Exn_Long_Long_Float.
* s-exnllf.ads (Exn_Float): New function.
(Exn_Long_Float): New function.

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

* sem_ch8.adb (Find_Selected_Component): Do not emit an error
on a selected component when the prefix is a type name that is
a Current_Instance.
* einfo.ads: Minor grammar fix.

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

* init.c [vxworks] (sysLib.h): Only for x86.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223678 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Paul Thomas <pault@gcc.gnu.org>
pault [Tue, 26 May 2015 10:20:41 +0000 (10:20 +0000)]
2015-05-26  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/66082
* trans-array.c (gfc_conv_array_parameter): Ensure that all
non-variable arrays with allocatable components have the
components deallocated after the procedure call.

2015-05-26  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/66082
* gfortran.dg/allocatable_scalar_13.f90: New test

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223677 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * include/bits/locale_conv.h: Fix copyright years.
redi [Tue, 26 May 2015 09:52:25 +0000 (09:52 +0000)]
* include/bits/locale_conv.h: Fix copyright years.
* include/bits/quoted_string.h: Likewise.
* src/filesystem/Makefile.am: Likewise.
* testsuite/22_locale/conversions/buffer/1.cc: Likewise.
* testsuite/22_locale/conversions/buffer/requirements/typedefs.cc:
Likewise.
* testsuite/22_locale/conversions/string/1.cc: Likewise.
* testsuite/22_locale/conversions/string/2.cc: Likewise.
* testsuite/22_locale/conversions/string/3.cc: Likewise.
* testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
Likewise.
* testsuite/22_locale/conversions/string/requirements/typedefs.cc:
Likewise.
* testsuite/util/testsuite_fs.h: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223676 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Doug Rupp <rupp@adacore.com>
charlet [Tue, 26 May 2015 09:42:58 +0000 (09:42 +0000)]
2015-05-26  Doug Rupp  <rupp@adacore.com>

* init-vxsim.c (CPU): define as __VXSIM_CPU__
* sigtramp-vxworks-vxsim.c (CPU): Likewise.
sigtramp-vxworks-target.inc: Add check for SIMLINUX.
* sigtramp.h: Likewise.

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

* sem_aux.adb, sem_disp.adb, sem_util.ads: Add comment.
* sem_util.adb: Minor reformatting

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223675 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Yannick Moy <moy@adacore.com>
charlet [Tue, 26 May 2015 09:35:07 +0000 (09:35 +0000)]
2015-05-26  Yannick Moy  <moy@adacore.com>

* inline.adb (Has_Initialized_Type): Adapt to new names.
* sem_aux.adb, sem_aux.ads (Get_Low_Bound, Number_Components,
Subprogram_Body, Subprogram_Body_Entity, Subprogram_Spec,
Subprogram_Specification): New query functions used in GNATprove.
* sem_disp.adb, sem_disp.ads (Is_Overriding_Subprogram): New
query functions used in GNATprove.
* sem_util.adb, sem_util.adso (Enclosing_Lib_Unit_Node,
Get_Cursor_Type, Get_Return_Object, Get_User_Defined_Eq,
Is_Double_Precision_Floating_Point_Type,
Is_Single_Precision_Floating_Point_Type): New query functions
used in GNATprove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223674 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Bob Duff <duff@adacore.com>
charlet [Tue, 26 May 2015 09:33:01 +0000 (09:33 +0000)]
2015-05-26  Bob Duff  <duff@adacore.com>

* s-rpc.ads (Partition_ID): Increase maximum Partition_ID to
some huge number.
* a-except-2005.adb, a-except-2005.ads, a-except.adb,
a-except.ads, a-exexda.adb, a-exstat.adb: Minor comment fixes.

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

* sinfo.adb: Minor comment addition.
* einfo.adb: Minor whitespace and punctuation fix.
* sem_util.adb: Minor editing of comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223673 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 26 May 2015 09:28:14 +0000 (09:28 +0000)]
2015-05-26  Ed Schonberg  <schonberg@adacore.com>

* sem_ch7.adb (Install_Private_Declarations,
Swap_Private_Dependents): Ensure that both views of the dependent
subtype are immediately visible if we are within their scope. This
may be needed when a procedure body is both the parent of an
instantiated child unit, and is itself used to inline a local
function.

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

* exp_prag.adb, gnat1drv.adb: Minor reformatting.

2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>

* exp_ch4.adb (Expand_N_Indexed_Component): In the circuit
detecting exceptions to the rewriting, deal with implicit
dereferences in the selected component case.

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

* sem_ch13.adb (Analyze_One_Aspect): Do not
require the expression of the Disable_Controlled aspect to be
static in a generic template, because 'Enabled is not known
until the instance.

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

* init-vxsim.c: New file for vxsim ZCX
* sigtramp-vxworks-vxsim.c: Likewise.
* sigtramp-vxworks.c: Factor out target dependent bits into ...
* sigtramp-vxworks-target.inc: ... here.
* sigtramp.h: Add vxsim zcx protos.
* init.c [vxworks...] (sysLib.h): Include.
(__gnat_map_signal): Make global.
 [...i386] (__gnat_error_handler): Call __gnat_vxsim_error_handler if
on vxsim.
[...i386] (__gnat_install_handler): Test if on vxsim.

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

* sem_ch5.adb (Analyze_Iterator_Specification): For an element
iterator over an array, if the component is aliased, the loop
variable is aliased as well.

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

* exp_ch6.adb (Expand_Actuals): For a function call with in-out
parameters that is rewritten as an expression_with_actions,
we preserve the original function call node for further use by
the caller (typically Expand_Call). In the presence of validity
checks, that function call, though it is labelled Analyzed to
prevent an infinite recursion, may be rewritten as a temporary
by Remove_Side_Effects.  Ensure that the caller has access to
the original function call to continue expansion.
* atree.ads: Minor typo in comment.

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

* sem_util.adb (Check_Function_Writable_Actuals):
Add missing support to check the violation of writable actuals
in array aggregates that have a nonstatic range.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223672 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Tue, 26 May 2015 09:20:53 +0000 (09:20 +0000)]
2015-05-26  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch6.adb (Process_Contract_Cases_For): Update the call to
Expand_Pragma_Contract_Cases.
* exp_prag.ads, exp_prag.adb (Expand_Contract_Cases): Rename to
Expand_Pragma_Contract_Cases.
* sem_ch13.adb (Add_Invariants): Use the original aspect name
when creating the arguments of pragma Check. This ensures that
'Class is properly recognized and handled.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223671 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Richard Biener <rguenther@suse.de>
rguenth [Tue, 26 May 2015 09:03:53 +0000 (09:03 +0000)]
2015-05-26  Richard Biener  <rguenther@suse.de>

* tree-vect-loop.c (vect_update_vf_for_slp): Split out from ...
(vect_analyze_loop_operations): ... here.  Remove slp parameter,
detect whether we apply SLP.  Remove call to
vect_update_slp_costs_according_to_vf.
(vect_analyze_loop_2): Call vect_update_vf_for_slp and
vect_update_slp_costs_according_to_vf from here.  Dispatch
to vect_slp_analyze_operations to analyze SLP stmts.
* tree-vect-slp.c (vect_slp_analyze_node_operations): Drop
unused bb_vec_info parameter, adjust assert.
(vect_slp_analyze_operations): Pass in the slp instance tree
instead of bb_vec_info.
(vect_slp_analyze_bb_1): Adjust call to vect_slp_analyze_operations.
* tree-vectorizer.h (vect_slp_analyze_operations): Declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223670 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gnat1drv.adb: Minor adjustments.
charlet [Tue, 26 May 2015 08:19:55 +0000 (08:19 +0000)]
* gnat1drv.adb: Minor adjustments.
(Adjust_Global_Switches): Disable some related flags in CodePeer mode.
* sem_ch4.adb (Has_Arbitrary_Evaluation_Order,
Stop_Subtree_Climbind): Code cleanup.
* einfo.ads: Minor comment change.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223669 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Javier Miranda <miranda@adacore.com>
charlet [Tue, 26 May 2015 08:17:51 +0000 (08:17 +0000)]
2015-05-26  Javier Miranda  <miranda@adacore.com>

* sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate):
Code cleanup.
* sem_ch3.adb (Build_Derived_Record_Type,
Record_Type_Declaration): Code cleanup.
* sem_ch4.adb (Has_Arbitrary_Evaluation_Order,
Stop_Subtree_Climbind): Tables which speed up the identification
of dangerous calls to Ada 2012 functions with writable actuals
(AI05-0144).
(Analyze_Arithmetic_Op, Analyze_Call, Analyze_Comparison_Op,
Analyze_Equality_Op, Analyze_Logical_Op, Analyze_Membership_Op,
Analyze_Range): Code cleanup.
(Is_Arbitrary_Evaluation_Order_Construct): Removed.
(Check_Writable_Actuals): Code cleanup using the added tables.
* sem_util.adb (Check_Function_Writable_Actuals): Return
immediately if the node does not have the flag Check_Actuals
set to True.

2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>

* exp_ch6.adb (Add_Call_By_Copy_Code): Remove restrictive
condition in the detection of the effects of Remove_Side_Effects.
* exp_util.ads (Remove_Side_Effects): Add general and historical note.
* exp_util.adb (Is_Name_Reference): New predicate.
(Remove_Side_Effects): Use it in lieu of Is_Object_Reference
in order to decide whether to use the renaming to capture the
side effects of the subexpression.
(Side_Effect_Free): Remove obsolete test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223668 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Robert Dewar <dewar@adacore.com>
charlet [Tue, 26 May 2015 08:15:24 +0000 (08:15 +0000)]
2015-05-26  Robert Dewar  <dewar@adacore.com>

* aspects.ads, aspects.adb: Add aspect Disable_Controlled.
* einfo.ads, einfo.adb (Disable_Controlled): New flag.
(Is_Controlled_Active): New function.
* exp_ch3.adb (Expand_Freeze_Record_Type): Use
Is_Controlled_Active.
* exp_util.adb (Needs_Finalization): Finalization not needed
if Disable_Controlled set.
* freeze.adb (Freeze_Array_Type): Do not set
Has_Controlled_Component if the component has Disable_Controlled.
(Freeze_Record_Type): ditto.
* sem_ch13.adb (Decorate): Minor reformatting.
(Analyze_Aspect_Specifications): Implement Disable_Controlled.
* sem_ch3.adb (Analyze_Object_Declaration): Handle
Disable_Controlled.
(Array_Type_Declaration): ditto.
(Build_Derived_Private_Type): ditto.
(Build_Derived_Type): ditto.
(Record_Type_Definition): ditto.
* snames.ads-tmpl: Add Name_Disable_Controlled.

2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>

* exp_ch6.adb (Expand_Actuals): Use a constant declaration instead
of a renaming to capture the return value of a function call.
(Expand_Simple_Function_Return): Call Remove_Side_Effects
instead of removing side effects manually before the call to
_Postconditions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223667 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoMinor reformatting.
charlet [Tue, 26 May 2015 08:12:26 +0000 (08:12 +0000)]
Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223666 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Robert Dewar <dewar@adacore.com>
charlet [Tue, 26 May 2015 08:12:15 +0000 (08:12 +0000)]
2015-05-26  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb (Expand_N_Op_Expon): Deal with problem of wrong
order in calling Duplicate_Subexpr.
* einfo.ads: Fix documentation of Object/Value size for scalar types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223665 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 26 May 2015 08:10:46 +0000 (08:10 +0000)]
2015-05-26  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Build_Array_Aggr_Code, Gen_Assign):
If a component is default-initialized and its type has an
invariant procedure, insert an invariant test after code for
default-initialization of the component.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223664 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Gary Dismukes <dismukes@adacore.com>
charlet [Tue, 26 May 2015 08:08:03 +0000 (08:08 +0000)]
2015-05-26  Gary Dismukes  <dismukes@adacore.com>

* einfo.ads, sem_util.adb, sem_ch4.adb: Minor reformatting.

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

* exp_unst.adb, exp_unst.ads: Change to using Subps table index for
making AREC entity names unique.

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

* sem_cat.adb (Has_Stream_Attribute_Definition): If the type
has aspect specifications, examine the corresponding list of
representation items to determine whether there is a visible
stream operation. The attribute definition clause generated from
the aspect will be inserted at the freeze point of the type,
which may be in the private part and not directly visible,
but the aspect makes the operation available to a client.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223663 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Robert Dewar <dewar@adacore.com>
charlet [Tue, 26 May 2015 08:06:51 +0000 (08:06 +0000)]
2015-05-26  Robert Dewar  <dewar@adacore.com>

* sem_util.adb: Minor code reorganization.
* sem_ch6.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223662 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Tue, 26 May 2015 00:16:19 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223661 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/utils.c (maybe_pad_type): Do not apply adjustment to
ebotcazou [Mon, 25 May 2015 21:30:39 +0000 (21:30 +0000)]
* gcc-interface/utils.c (maybe_pad_type): Do not apply adjustment to
original size for elementary types before issuing the size warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223657 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/targtyps.c (get_float_words_be): Rename into...
ebotcazou [Mon, 25 May 2015 21:12:39 +0000 (21:12 +0000)]
* gcc-interface/targtyps.c (get_float_words_be): Rename into...
(get_target_float_words_be): ...this.
(get_words_be): Rename into...
(get_target_words_be): ...this.
(get_bytes_be): Rename into...
(get_target_bytes_be): ...this.
(get_bits_be): Rename into...
(get_target_bits_be): ...this.
* gcc-interface/gigi.h (standard_datatypes): Remove ADT_ptr_void_type.
(ptr_void_type_node): Delete.
(get_target_float_size): Likewise.
(get_target_double_size): Likewise.
(get_target_long_double_size): Likewise.
(get_float_words_be): Likewise.
(get_words_be): Likewise.
(get_bytes_be): Likewise.
(get_bits_be): Likewise.
(get_target_float_words_be): Declare.
(get_target_words_be): Likewise.
(get_target_bytes_be): Likewise.
(get_target_bits_be): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity): Replace ptr_void_type_node
with ptr_type_node.
(intrin_return_compatible_p): Likewise.
* gcc-interface/trans.c (gigi): Likewise.
* gcc-interface/utils2.c (maybe_wrap_malloc): Likewise.
(maybe_wrap_free): Likewise.
* gcc-interface/utils.c (maybe_pad_type): Remove superfluous space.
* gcc-interface/misc.c (gnat_init): Do not set ptr_void_type_node.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223656 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/decl.c (elaborate_expression): Take a const string
ebotcazou [Mon, 25 May 2015 21:09:25 +0000 (21:09 +0000)]
* gcc-interface/decl.c (elaborate_expression): Take a const string
suffix instead of a tree.
(elaborate_expression_1): Likewise.
(elaborate_expression_2): Likewise.
(gnat_to_gnu_entity): Adjust to above changes.
(build_subst_list): Likewise.
(get_entity_char): New static function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223655 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Move around.
ebotcazou [Mon, 25 May 2015 21:05:03 +0000 (21:05 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Move around.
<E_Exception>: Merge with E_Variable case.
<E_Variable>: Remove 'object' label.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223654 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/decl.c (gnat_to_gnu_entity): Minor tweak.
ebotcazou [Mon, 25 May 2015 20:59:27 +0000 (20:59 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity): Minor tweak.
* gcc-interface/trans.c (finalize_nrv_unc_r): Use CONSTRUCTOR_ELT.
* gcc-interface/utils.c (convert): Likewise and simplify.
(remove_conversions): Likewise.
* gcc-interface/utils2.c (compare_fat_pointers): Likewise.
(build_unary_op): Likewise and simplify.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223653 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/gigi.h (build_atomic_load): Adjust prototype.
ebotcazou [Mon, 25 May 2015 20:18:44 +0000 (20:18 +0000)]
* gcc-interface/gigi.h (build_atomic_load): Adjust prototype.
(build_atomic_store): Likewise.
(build_load_modify_store): Declare.
(VECTOR_TYPE_P): Delete.
* gcc-interface/decl.c (gnat_to_gnu_entity): Replace Is_Atomic with
Is_Atomic_Or_VFA throughout.
<E_Array_Type>: Build a variant of the XUA type instead of forcing
TYPE_VOLATILE on it.
<E_Array_Subtype>: Use the main variant of the base type.
Do not force TYPE_VOLATILE on the type being built.
<E_Record_Type>: Likewise.
<E_Array_Subtype>: Likewise.
<E_Subprogram_Type>: Rename local variable.
Add Atomic qualifier in conjunction with Volatile on types if needed.
Force BLKmode for by-ref types only at the end of the processing.
Change qualifiers only after changing the mode of the type.  Set
TYPE_UNIVERSAL_ALIASING_P on the type directly.
(check_ok_for_atomic_type): Issue specific error message for VFA.
(gnat_to_gnu_component_type): Replace Is_Atomic with
Is_Atomic_Or_VFA throughout.
* gcc-interface/misc.c (gnat_get_alias_set): Test
TYPE_UNIVERSAL_ALIASING_P on the type directly.
* gcc-interface/trans.c (lvalue_required_p): Replace Is_Atomic with
Is_Atomic_Or_VFA throughout.  Add missing guard.
(node_is_atomic): New predicate.
(node_has_volatile_full_access): Likewise.
(gnat_strip_type_conversion): New function.
(outer_atomic_access_required_p): New predicate.
(atomic_sync_required_p): Rename into...
(atomic_access_required_p): ...this.  Add SYNC parameter, scan the
parent node first and then look for the atomic setting.  Add support
for Volatile_Full_Access.
(Call_to_gnu): Add atomic_access and outer_atomic_access parameters
and adjusts calls to above functions.  Use load-modify-store sequence
for updates of In/Out and Out parameters if required, as well as for
moving the result to the target if required.  Add couple of missing
guards.
(gnat_to_gnu): Adjust calls to above functions.
<N_Object_Renaming_Declaration>: If the renamed object has side-effects
evaluate only its address.
<N_Assignment_Statement>: Adjust call to Call_to_gnu.  Use load-modify
store sequence if required.
<N_Function_Call>: Adjust call to Call_to_gnu.
(extract_values): Adjust comment.
* gcc-interface/utils2.c (build_atomic_load): Add SYNC parameter and
use relaxed memory model if it is not set.
(build_atomic_store): Likewise.
(call_is_atomic_load): New predicate.
(build_load_modify_store): New function.
(build_binary_op) <MODIFY_EXPR>: Accept SAVE_EXPR on the LHS.
(gnat_stabilize_reference) <CALL_EXPR>: Deal with atomic loads.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223652 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS prior to
amonakov [Mon, 25 May 2015 18:07:26 +0000 (18:07 +0000)]
* config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS prior to
Q_REGS.  Expand comment.
(REG_CLASS_NAMES): Ditto.
(REG_CLASS_CONTENTS): Ditto.
testsuite:
* gcc.target/i386/pr66232-1.c: Adjust scan pattern.
* gcc.target/i386/pr66232-3.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223650 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/66274
uros [Mon, 25 May 2015 17:49:28 +0000 (17:49 +0000)]
PR target/66274
* config/i386/i386.c (print_reg): Only print "r" for TARGET_64BIT
when LEGACY_INT_REGNO_P is processed.

testsuite/ChangeLog:

PR target/66274
* gcc.target/i386/pr66274.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223649 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago* config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt.
amonakov [Mon, 25 May 2015 17:44:45 +0000 (17:44 +0000)]
* config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223648 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/avr/avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base
denisc [Mon, 25 May 2015 16:43:05 +0000 (16:43 +0000)]
* config/avr/avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base
register if not marked dead/unused, before return.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223647 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * c-ubsan.c (ubsan_instrument_shift): Use type0.
mpolacek [Mon, 25 May 2015 15:46:01 +0000 (15:46 +0000)]
* c-ubsan.c (ubsan_instrument_shift): Use type0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223646 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/ada-tree.h (DECL_RENAMING_GLOBAL_P): Rename into...
ebotcazou [Mon, 25 May 2015 14:00:28 +0000 (14:00 +0000)]
* gcc-interface/ada-tree.h (DECL_RENAMING_GLOBAL_P): Rename into...
(DECL_GLOBAL_NONCONSTANT_RENAMING_P): ...this.
* gcc-interface/gigi.h (record_global_renaming_pointer): Delete.
(invalidate_global_renaming_pointers): Likewise.
(record_global_nonconstant_renaming): New.
(invalidate_global_nonconstant_renamings): Likewise.
(get_inner_constant_reference): Likewise.
(gnat_constant_reference_p): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Adjust to above
and register the renaming pointer only if the object is non-constant.
(elaborate_expression_1): Call get_inner_constant_reference instead
of get_inner_reference.
* gcc-interface/trans.c (fold_constant_decl_in_expr): Minor tweak.
(Identifier_to_gnu): Adjust to above and do not recheck the renamed
object before substituting it.
(Compilation_Unit_to_gnu): Adjust to above renaming.  Minor tweaks.
(gnat_to_gnu) <N_Object_Renaming_Declaration>: Do not return the
result at the global level.
(N_Exception_Renaming_Declaration): Likewise.
* gcc-interface/utils.c (global_renaming_pointers): Rename into...
(global_nonconstant_renamings): ...this.
(destroy_gnat_utils): Adjust to above renaming.
(record_global_renaming_pointer): Rename into...
(record_global_nonconstant_renaming): ...this.
(invalidate_global_renaming_pointers): Rename into...
(invalidate_global_nonconstant_renamings): ...this and do not recheck
the renamed object before invalidating.
* gcc-interface/utils2.c (gnat_stabilize_reference): Minor tweak.
(get_inner_constant_reference): New public function.
(gnat_constant_reference_p): New predicate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223644 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-25 Javier Miranda <miranda@adacore.com>
charlet [Mon, 25 May 2015 12:37:37 +0000 (12:37 +0000)]
2015-05-25  Javier Miranda  <miranda@adacore.com>

* einfo.ads, einfo.adb (Has_Out_Or_In_Out_Parameter): This attribute
is now present in subprograms, generic subprograms, entries and
entry families.
* sem_ch6.adb (Set_Formal_Mode): Set As_Out_Or_In_Out_Parameter
on entries, entry families, subprograms and generic subprograms.
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration):
Minor code reorganization to ensure that the Ekind attribute
of the subprogram entity is set before its formals are
processed. Required to allow the use of the attribute
Has_Out_Or_In_Out_Parameter on the subprogram entity.
* sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate):
Perform the check on writable actuals only if the value of some
component of the aggregate involves calling a function with
out-mode parameters.
(Resolve_Record_Aggregate): Propagate the Check_Actuals flag to the
internally built aggregate.
* sem_ch3.adb (Build_Derived_Record_Type, Record_Type_Declaration):
Perform the check on writable actuals only if the initialization of
some component involves calling a function with out-mode parameters.
* sem_ch4.adb (Analyze_Arithmetic_Op, Analyze_Comparison_Op,
Analyze_Equality_Op, Analyze_Logical_Op, Analyze_Membership_Op,
Analyze_Range): Check writable actuals only if the
subtrees have a call to a function with out-mode parameters
(Analyze_Call.Check_Writable_Actuals): New subprogram. If the call
has out or in-out parameters then mark its outermost enclosing
construct as a node on which the writable actuals check must
be performed.
(Analyze_Call): Check if the flag must be set and if the outermost
enclosing construct.
* sem_util.adb (Check_Function_Writable_Actuals): Code cleanup
and reorganization. We skip processing aggregate discriminants
since their precise analysis involves two phases traversal.
* sem_res.adb (Resolve_Actuals, Resolve_Arithmetic_Op,
Resolve_Logical_Op, Resolve_Membership_Op): Remove call to
check_writable_actuals.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223643 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-25 Andreas Tobler <andreast@gcc.gnu.org>
andreast [Mon, 25 May 2015 08:50:43 +0000 (08:50 +0000)]
2015-05-25  Andreas Tobler  <andreast@gcc.gnu.org>

        * gcc.target/i386/pr64317.c: Use 'dg-require-effective-target ia32'
and 'dg-require-effective-target pie'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223642 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Mon, 25 May 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223640 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago cp/
nathan [Sun, 24 May 2015 23:17:58 +0000 (23:17 +0000)]
cp/
PR c++/66243
* decl.c (build_enumerator): Don't silently convert scoped enums.

testsuite/
PR c++/66243
* g++.dg/cpp0x/pr66243.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223636 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * configure: Regenerate.
ebotcazou [Sun, 24 May 2015 21:58:37 +0000 (21:58 +0000)]
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223635 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * ChangLog: Fix whitespace.
uros [Sun, 24 May 2015 19:57:47 +0000 (19:57 +0000)]
* ChangLog: Fix whitespace.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223634 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR lto/66180
hubicka [Sun, 24 May 2015 19:38:14 +0000 (19:38 +0000)]
PR lto/66180
* ipa-devirt.c (type_with_linkage): Check that TYPE_STUB_DECL
is set; check for assembler name at LTO time.
(type_in_anonymous_namespace): Remove hacks, check that all
anonymous types are called "<anon>"
(odr_type_p): Simplify; add check for "<anon>"
(odr_subtypes_equivalent): Add odr_type_p check.
* tree.c (need_assembler_name_p): Even anonymous namespace needs
assembler name.
* mangle.c (mangle_decl): Mangle anonymous namespace types as
"<anon>".
* g++.dg/lto/pr66180_0.C: New testcase.
* g++.dg/lto/pr66180_1.C: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223633 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR fortran/66257
mikael [Sun, 24 May 2015 14:55:50 +0000 (14:55 +0000)]
PR fortran/66257
gcc/fortran/
* resolve.c (resolve_actual_arglist): Don't throw an error
if the argument with procedure pointer component is not a variable.
gcc/testsuite/
* typebound_call_27.f90: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223631 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * ipa-utils.h (method_class_type): Remove.
hubicka [Sun, 24 May 2015 06:13:44 +0000 (06:13 +0000)]
* ipa-utils.h (method_class_type): Remove.
* cgraphunit.c (walk_polymorphic_call_targets): Use TYPE_METHOD_BASETYPE.
* ipa-devirt.c (type_in_anonymous_namespace_p): Check that it is called
on main variants only.
(method_class_type): Remove.
(update_type_inheritance_graph): Use TYPE_METHOD_BASETYPE.
(build_type_inheritance_graph): Likewise.
* ipa-icf.c (sem_function::equals_wpa): Likewise.
* pa-polymorphic-call.c (decl_maybe_in_construction_p,
check_stmt_for_type_change): Use TYPE_METHOD_BASETYPE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223629 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * tree.c (prototype_p, virtual_method_call_p, obj_type_ref_class,
hubicka [Sun, 24 May 2015 04:22:35 +0000 (04:22 +0000)]
* tree.c (prototype_p, virtual_method_call_p, obj_type_ref_class,
is_typedef_decl, typedef_variant_p): Constify.
* tree.h (prototype_p, virtual_method_call_p, obj_type_ref_class,
is_typedef_decl, typedef_variant_p): Constify.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223628 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoadd default for HAVE_tablejump
tbsaunde [Sun, 24 May 2015 00:33:06 +0000 (00:33 +0000)]
add default for HAVE_tablejump

gcc/ChangeLog:

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

* defaults.h (gen_tablejump): New function.
(HAVE_tablejump): Add default value.
* expr.c: Adjust.
* stmt.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223625 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoadd default for HAVE_store_multiple
tbsaunde [Sun, 24 May 2015 00:33:00 +0000 (00:33 +0000)]
add default for HAVE_store_multiple

gcc/ChangeLog:

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

* defaults.h (gen_store_multiple): New function.
(HAVE_store_multiple): Add default value.
* expr.c (move_block_from_reg): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223624 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoadd default for HAVE_load_multiple
tbsaunde [Sun, 24 May 2015 00:32:54 +0000 (00:32 +0000)]
add default for HAVE_load_multiple

gcc/ChangeLog:

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

* defaults.h (gen_load_multiple): New function.
(HAVE_load_multiple): Add default value.
* expr.c (move_block_to_reg): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223623 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoprovide default for HAVE_mem_signal_fence
tbsaunde [Sun, 24 May 2015 00:32:49 +0000 (00:32 +0000)]
provide default for HAVE_mem_signal_fence

gcc/ChangeLog:

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

* defaults.h (gen_mem_signal_fence): New function.
(HAVE_mem_signal_fence): Add default value.
* optabs.c: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223622 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoalways define HAVE_memory_barrier
tbsaunde [Sun, 24 May 2015 00:32:43 +0000 (00:32 +0000)]
always define HAVE_memory_barrier

gcc/ChangeLog:

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

* defaults.h (gen_memory_barrier): New function.
(HAVE_memory_barrier): Add default value.
* optabs.c: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223621 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoprovide default for HAVE_mem_thread_fence
tbsaunde [Sun, 24 May 2015 00:32:37 +0000 (00:32 +0000)]
provide default for HAVE_mem_thread_fence

gcc/ChangeLog:

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

* defaults.h (gen_mem_thread_fence): New function.
(HAVE_mem_thread_fence): Add default definition.
* optabs.c: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223620 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoalways define HAVE_lo_sum
tbsaunde [Sun, 24 May 2015 00:32:31 +0000 (00:32 +0000)]
always define HAVE_lo_sum

gcc/ChangeLog:

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

* combine.c (find_split_point): Check the value of HAVE_lo_sum
instead of if it is defined.
(combine_simplify_rtx): Likewise.
* lra-constraints.c (process_address_1): Likewise.
* config/darwin.c: Adjust.
* genconfig.c (main): Always define HAVE_lo_sum.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223619 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Sun, 24 May 2015 00:16:18 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223618 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/fortran/ChangeLog:
manu [Sat, 23 May 2015 23:02:52 +0000 (23:02 +0000)]
gcc/fortran/ChangeLog:

2015-05-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054
* gfortran.h (struct gfc_error_buf): Rename as
gfc_error_buffer. Move closer to push, pop and free
methods. Reimplement using an output_buffer.
* error.c (errors, warnings, warning_buffer, cur_error_buffer):
Delete everywhere in this file.
(error_char): Delete all contents.
(gfc_increment_error_count): Delete.
(gfc_error_now): Update comment. Set error_buffer.flag.
(gfc_warning_check): Do not handle warning_buffer.
(gfc_error_1): Delete.
(gfc_error_now_1): Delete.
(gfc_error_check): Simplify.
(gfc_move_error_buffer_from_to): Renamed from
gfc_move_output_buffer_from_to.
(gfc_push_error): Handle only gfc_error_buffer.
(gfc_pop_error): Likewise.
(gfc_free_error): Likewise.
(gfc_get_errors): Remove warnings and errors.
(gfc_diagnostics_init): Use static error_buffer.
(gfc_error_1,gfc_error_now_1): Delete declarations.
* symbol.c, decl.c, trans-common.c, data.c, expr.c, expr.c,
frontend-passes.c, resolve.c, match.c, parse.c: Replace
gfc_error_1 with gfc_error and gfc_error_now_1 with gfc_error_1
everywhere.
* f95-lang.c (gfc_be_parse_file): Do not update errorcount and
warningcount here.
* primary.c (match_complex_constant): Replace gfc_error_buf and
output_buffer with gfc_error_buffer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223614 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago cp/
nathan [Sat, 23 May 2015 22:28:54 +0000 (22:28 +0000)]
cp/
PR c++/65936
* pt.c (lookup_template_class_1): Copy may_alias attribute too.

testsuite/
PR c++/65936
* g++.dg/template/pr65936.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223613 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
prathamesh3492 [Sat, 23 May 2015 21:22:18 +0000 (21:22 +0000)]
2015-05-20  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* genmatch.c (parser::parse_operation): Reject expanding operator-list inside 'for'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223612 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix date in ChangeLog entry for r223610
prathamesh3492 [Sat, 23 May 2015 19:53:51 +0000 (19:53 +0000)]
Fix date in ChangeLog entry for r223610

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223611 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
prathamesh3492 [Sat, 23 May 2015 19:52:05 +0000 (19:52 +0000)]
2015-05-23  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* genmatch.c (parser::parse_for): Reject iterator if used as operator-list.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223610 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
prathamesh3492 [Sat, 23 May 2015 19:36:32 +0000 (19:36 +0000)]
2015-05-19  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN after end of id-list.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223609 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * lto.c (hash_canonical_type): Be sure we hash only types that
hubicka [Sat, 23 May 2015 18:25:41 +0000 (18:25 +0000)]
* lto.c (hash_canonical_type): Be sure we hash only types that
need alias set.
(gimple_register_canonical_type_1): Do not produce canonical
types for types that do not need alias sets.
* tree.c (gimple_canonical_types_compatible_p): Sanity check that
we do not try to compute canonical type for type that does not need
alias set.
(verify_type): Drop FIXME for METHOD_TYPE, update FIXME for
FUNCITON_TYPE.
* tree.h (type_with_alias_set_p): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223608 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * lto.c (hash_canonical_type): Drop hashing of METHOD_BASETYPE.
hubicka [Sat, 23 May 2015 14:32:26 +0000 (14:32 +0000)]
* lto.c (hash_canonical_type): Drop hashing of METHOD_BASETYPE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223607 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * tree.c (gimple_canonical_types_compatible_p): Do not compare
hubicka [Sat, 23 May 2015 13:51:26 +0000 (13:51 +0000)]
* tree.c (gimple_canonical_types_compatible_p):  Do not compare
function attributes.
(verify_type): Remove METHOD_TYPE FIXME; update FUNCTION_TYPE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223606 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-23 François Dumont fdumont@gcc.gnu.org>
fdumont [Sat, 23 May 2015 11:17:38 +0000 (11:17 +0000)]
2015-05-23  François Dumont  fdumont@gcc.gnu.org>

PR libstdc++/64657
* include/debug/functions.h (__check_sorted_aux): Cast expression to
void.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223605 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Sat, 23 May 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223603 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
wilson [Fri, 22 May 2015 23:39:06 +0000 (23:39 +0000)]
gcc/
* Makefile.in (check_gcc_parallelize): Delete.
(lang_checks_parallelized): Update comment.
gcc/c
* Make-lang.in (check_gcc_pallelize): Define.
gcc/cp
* Make-lang.in (check_g++_parallelize): Update comment.
gcc/fortran
* Make-lang.in (check_gfortran_parallelize): Update comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223597 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR rtl-optimization/66237
miyuki [Fri, 22 May 2015 22:58:22 +0000 (22:58 +0000)]
PR rtl-optimization/66237

* bb-reorder.c (fix_crossing_conditional_branches): Fix wrong
location of an "as_a" cast.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223596 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/pa/pa.md (non-canonical shift-add insns): Remove.
law [Fri, 22 May 2015 21:25:26 +0000 (21:25 +0000)]
* config/pa/pa.md (non-canonical shift-add insns): Remove.
(peepholes with non-canonical RTL sources): Remove.
(peepholes for indexed stores of FP regs in integer modes): Match and
generate canonical RTL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223592 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-22 Marc Glisse <marc.glisse@inria.fr>
glisse [Fri, 22 May 2015 21:05:26 +0000 (21:05 +0000)]
2015-05-22  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/63387
gcc/
* match.pd ((X /[ex] A) * A -> X): Remove unnecessary condition.
((x ord x) & (y ord y) -> (x ord y),
(x ord x) & (x ord y) -> (x ord y)): New simplifications.
* fold-const.c (tree_unary_nonnegative_warnv_p) <ABS_EXPR>: Handle
vectors like scalars.
gcc/testsuite/
* gcc.dg/pr63387-2.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223591 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-22 Marc Glisse <marc.glisse@inria.fr>
glisse [Fri, 22 May 2015 20:59:27 +0000 (20:59 +0000)]
2015-05-22  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* convert.c (convert_to_integer, convert_to_vector): Include the
types in the error message.
gcc/testsuite/
* gcc.dg/simd-1.c: Update to the new message.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223590 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoinclude/:
ian [Fri, 22 May 2015 20:53:45 +0000 (20:53 +0000)]
include/:
* libiberty.h (asprintf): Don't declare if HAVE_DECL_ASPRINTF is
not defined.
libiberty/:
* configure.ac: Add AC_GNU_SOURCE.
* Makefile.in (COMPILE.c): Add -D_GNU_SOURCE.
* configure, config.in: Rebuild.
* floatformat.c (_GNU_SOURCE): Don't define if already defined.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223589 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-22 Marc Glisse <marc.glisse@inria.fr>
glisse [Fri, 22 May 2015 20:37:04 +0000 (20:37 +0000)]
2015-05-22  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New
simplifications.
gcc/testsuite/
* gcc.dg/nand.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223587 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/pa/pa.md (integer_indexed_store splitters): Use
law [Fri, 22 May 2015 20:17:09 +0000 (20:17 +0000)]
* config/pa/pa.md (integer_indexed_store splitters): Use
mem_shadd_operand.  Use ASHIFT rather than MULT in the resulting
insns -- adjusting the constant 2nd operand accordingly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223586 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into
law [Fri, 22 May 2015 20:08:43 +0000 (20:08 +0000)]
* combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into
(plus (ashift X log2) Y) if it is a split point.

* gcc.target/hppa/shadd-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223583 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-22 Sandra Loosemore <sandra@codesourcery.com>
sandra [Fri, 22 May 2015 16:34:35 +0000 (16:34 +0000)]
2015-05-22  Sandra Loosemore  <sandra@codesourcery.com>

gcc/testsuite/
* gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp:
Set dg-do-what-default to compile only on ARM targets without
arm_neon_hw execution support.  Remove redundant c-torture-execute
in loop over test cases.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223580 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * pa.c (mem_shadd_or_shadd_rtx_p): New function factored out
law [Fri, 22 May 2015 16:13:07 +0000 (16:13 +0000)]
* pa.c (mem_shadd_or_shadd_rtx_p): New function factored out
of hppa_legitimize_address to handle both forms of a multiply
by 2, 4 or 8.
(hppa_legitimize_address): Use mem_shadd_or_shadd_rtx_p.
Always generate the ASHIFT variant as the result is not directly
used in a MEM.  Update comments and refactor slightly to improve
readability.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223579 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config.host (i[34567]-*-*, x86_64-*-*): Add t-crtfm instead of
uros [Fri, 22 May 2015 14:39:22 +0000 (14:39 +0000)]
* config.host (i[34567]-*-*, x86_64-*-*): Add t-crtfm instead of
i386/t-crtfm to tmake_file.
* config/i386/crtfastmath.c (set_fast_math_sse): New function.
(set_fast_math): Use set_fast_math_sse for SSE targets.
* config/i386/t-crtfm: Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223578 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64] PR target/65491: Classify V1TF vectors as AAPCS64 short vectors rather...
ktkachov [Fri, 22 May 2015 14:36:27 +0000 (14:36 +0000)]
[AArch64] PR target/65491: Classify V1TF vectors as AAPCS64 short vectors rather than composite types

PR target/65491
* config/aarch64/aarch64.c (aarch64_short_vector_p): Move above
aarch64_composite_type_p.  Remove check for aarch64_composite_type_p.
(aarch64_composite_type_p): Return false if given type and mode are
for a short vector.

PR target/65491
* gcc.target/aarch64/pr65491_1.c: New test.
* gcc.target/aarch64/aapcs64/type-def.h (vlf1_t): New typedef.
* gcc.target/aarch64/aapcs64/func-ret-1.c: Add test for vlf1_t.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223577 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago/cp
paolo [Fri, 22 May 2015 14:14:38 +0000 (14:14 +0000)]
/cp
2015-05-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/65598
* decl.c (grokdeclarator): Use the correct location in error
messages about 'explicit'.

/testsuite
2015-05-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/65598
* g++.dg/cpp0x/explicit9.C: New.
* g++.dg/cpp0x/explicit8.C: Check the locations too.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223576 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-22 Richard Biener <rguenther@suse.de>
rguenth [Fri, 22 May 2015 13:52:58 +0000 (13:52 +0000)]
2015-05-22  Richard Biener  <rguenther@suse.de>

* tree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern
member.
* tree-vect-loop.c (vect_analyze_loop_operations): Look at
patterns when determining whether SLP is pure.
(vect_is_slp_reduction): Remove check for pattern stmts.
(vect_is_simple_reduction_1): Remove dead code.
* tree-vect-slp.c (vect_create_oprnd_info): Initialize second_pattern.
(vect_get_and_check_slp_defs): Pass in the stmt number.
Allow the first def in a reduction to be not a pattern stmt when
the rest of the stmts def are patterns.
(vect_build_slp_tree_1): Allow tcc_expression codes like
SAD_EXPR and DOT_PROD_EXPR.
(vect_build_slp_tree): Adjust.
(vect_analyze_slp): Refactor and move BB vect error message ...
(vect_slp_analyze_bb_1): ... here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223574 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-22 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 22 May 2015 13:33:18 +0000 (13:33 +0000)]
2015-05-22  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Constrain_Concurrent): If the context is a
type declaration, generate an Itype_Reference for the anonymous
subtype, to force elaboration at this point in gigi.

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

* layout.adb, einfo.ads, sem_ch12.adb, freeze.adb, sem_util.ads,
exp_ch4.adb, sem_ch6.adb: Minor reformatting and typo fixes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223573 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * tree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P
aldyh [Fri, 22 May 2015 13:31:29 +0000 (13:31 +0000)]
* tree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P
for CSWTCH temporary.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223572 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agofix to use rvalue where expected
nathan [Fri, 22 May 2015 13:22:19 +0000 (13:22 +0000)]
fix to use rvalue where expected

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223571 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoMinor reformatting.
charlet [Fri, 22 May 2015 13:19:46 +0000 (13:19 +0000)]
Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223570 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-22 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 22 May 2015 13:17:54 +0000 (13:17 +0000)]
2015-05-22  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb (Resolve_Actuals): If the call is to an overridden
operation, replace the names of the actuals in named associations
with the names of the actuals of the subprogram that is eventually
executed. The names of the formals and the defaults can differ
between the two operations when they are operations of a formal
derived type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223569 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-22 Bob Duff <duff@adacore.com>
charlet [Fri, 22 May 2015 13:09:47 +0000 (13:09 +0000)]
2015-05-22  Bob Duff  <duff@adacore.com>

* a-convec.ads, a-convec.adb (Append): Check for fast path. Split
out slow path into separate procedure. Inline Append. Fast path
now avoids calling Insert.
(Finalize): Do the busy checking last, so the container gets emptied.
(Insert, Insert_Space): Remove redundancy.

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

* switch-c.adb (Scan_Front_End_Switches): Insist on -gnatc
for -gnatd.V.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223567 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gnatvsn.ads: Minor code reorg to remember more easily to update
charlet [Fri, 22 May 2015 13:06:34 +0000 (13:06 +0000)]
* gnatvsn.ads: Minor code reorg to remember more easily to update
variables.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223566 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-22 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 22 May 2015 13:04:01 +0000 (13:04 +0000)]
2015-05-22  Ed Schonberg  <schonberg@adacore.com>

* sem_ch10.adb (Analyze_With_Clause): In ASIS_Mode, a
limited_with clause on a predefined unit is not transformed into
a regular with_clause, to preserve the original tree structure.
* sinfo.ads (N_With_Clause): Add comment on handling of
Limited_With.
* sem_ch10.adb: Minor reformatting.

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

* sem_ch8.adb (Freeze_Profile): A limited view of a type in
the profile of a subprogram renaming does not require freezing,
because it is declared in a different unit.

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

* exp_aggr.adb (Get_Constraint_Association): If type (of ancestor
composite type) is private, go to full view. This was previously
done only in an instance context, but is happen whenever a chain
of private extensions includes one inherited discriminant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223565 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-22 Robert Dewar <dewar@adacore.com>
charlet [Fri, 22 May 2015 13:01:37 +0000 (13:01 +0000)]
2015-05-22  Robert Dewar  <dewar@adacore.com>

* einfo.ads: Minor comment updates.
* exp_unst.adb: Move Subps table to spec Don't remove old entries
from table Add Last field to record last entry used.
* exp_unst.ads: Move Subps table here from body So that Cprint
can access saved values.

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

* a-cdlili.adb, a-cdlili.ads, a-cohama.adb, a-cohama.ads,
* a-cohase.adb, a-cohase.ads, a-convec.adb, a-convec.ads,
* a-coorma.adb, a-coorma.ads, a-coorse.adb, a-coorse.ads:
(Pseudo_Reference, Element_Access, Get_Element_Access): New
declarations added for use by performance improvements in exp_ch5.adb.
* snames.ads-tmpl: New names referenced by exp_ch5.adb.
* exp_ch5.adb: Speed up "for ... of" loops for predefined containers.
Instead of doing literally what the RM calls for, we do something
equivalent that avoids expensive operations inside the loop. If the
container package has appropriate Next, Pseudo_Reference,
Element_Access, Get_Element_Access declarations, we invoke the
optimization.
* snames.ads-tmpl: Note speed improvement.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223563 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-22 Eric Botcazou <ebotcazou@adacore.com>
charlet [Fri, 22 May 2015 12:56:34 +0000 (12:56 +0000)]
2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>

* einfo.ads (Is_Atomic_Or_VFA): Move to XEINFO INLINES section.
* xeinfo.adb: Replace a-einfo.h with einfo.h throughout.
Add pattern to translate "or else" into "||".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223562 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-22 Eric Botcazou <ebotcazou@adacore.com>
charlet [Fri, 22 May 2015 12:54:59 +0000 (12:54 +0000)]
2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>

* einfo.ads (Has_Volatile_Full_Access): Rename into...
(Is_Volatile_Full_Access): ...this.
(Set_Has_Volatile_Full_Access): Rename into...
(Set_Is_Volatile_Full_Access): ...this.
* einfo.adb (Has_Volatile_Full_Access): Rename into...
(Is_Volatile_Full_Access): ...this.
(Set_Has_Volatile_Full_Access): Rename into...
(Set_Is_Volatile_Full_Access): ...this.
(Is_Atomic_Or_VFA): Adjust to above renaming.
* errout.adb (Special_Msg_Delete): Likewise.
* exp_pakd.adb (Install_PAT): Likewise.
* freeze.adb (Freeze_Array_Type): Likewise.
* sem_ch8.adb (Analyze_Object_Renaming): Likewise.
* sem_ch13.adb (Inherit_Delayed_Rep_Aspects): Likewise.
(Inherit_Aspects_At_Freeze_Point): Likewise.
* sem_prag.adb (Set_Atomic_VFA): Likewise.
(Process_Atomic_Independent_Shared_Volatile): Likewise.
* sem_util.adb (Is_Atomic_Or_VFA_Object): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223561 138bc75d-0d04-0410-961f-82ee72b054a4