platform/upstream/gcc.git
9 years ago[multiple changes]
Arnaud Charlet [Fri, 22 May 2015 10:53:29 +0000 (12:53 +0200)]
[multiple changes]

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

* sem_ch8.adb (Analyze_Object_Renaming): Check for renaming
component of an object to which Volatile_Full_Access applies.

2015-05-22  Jerome Guitton  <guitton@adacore.com>

* exp_dbug.ads: Add note about non bit-packed arrays.

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

* sem_prag.adb: Fix typo.
* einfo.ads: Grammar fixes in comments.

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

* a-cborma.ads, a-cidlli.ads, a-cimutr.ads, a-ciormu.ads,
* a-cihase.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
* a-cborse.ads, a-comutr.ads, a-ciorma.ads, a-cobove.ads,
* a-coormu.ads, a-convec.ads, a-cohase.ads, a-coinho.ads,
* a-cbdlli.ads, a-cbmutr.ads, a-cbhase.ads, a-cdlili.ads,
* a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
* a-coinho-shared.ads (Constant_Reference_Type, Reference_Type):
Add an initialization expression "raise Program_Error". See,
for example, RM-A.18.2(148.4).

From-SVN: r223548

9 years agofix some dates in ChangeLogs
Trevor Saunders [Fri, 22 May 2015 10:50:49 +0000 (10:50 +0000)]
fix some dates in ChangeLogs

From-SVN: r223547

9 years agodebug.adb: Update documentation.
Robert Dewar [Fri, 22 May 2015 10:50:19 +0000 (10:50 +0000)]
debug.adb: Update documentation.

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

* debug.adb: Update documentation.
* einfo.ads, einfo.adb (Needs_Typedef): New flag
* exp_unst.adb (Unnest_Subprogram): Mark AREC types as needing
typedef's in C.
* frontend.adb: Update comments.
* gnat1drv.adb (Adjust_Global_Switches): Set all needed flags
for -gnatd.V
* opt.ads (Generate_C_Code): New switch.
* osint-c.adb (Write_C_File_Info): Removed, not used
(Write_H_File_Info): Removed, not used
* osint-c.ads (Write_C_File_Info): Removed, not used
(Write_H_File_Info): Removed, not used
* osint.ads (Write_Info): Minor comment updates.
(Output_FD): Moved from private part to public part of spec.
* sem.adb (Semantics): Force expansion on if in Generate_C_Code
mode.
* atree.ads: minor typo in comment.
* sem_prag.adb (Process_Atomic_Independent_Shared_Volatile):
Do not allow VFA on composite object with aliased component.

From-SVN: r223546

9 years ago[multiple changes]
Arnaud Charlet [Fri, 22 May 2015 10:42:23 +0000 (12:42 +0200)]
[multiple changes]

2015-05-22  Arnaud Charlet  <charlet@adacore.com>

* osint-c.adb, osint-c.ads (Set_File_Name): Move back to spec.

2015-05-22  Pascal Obry  <obry@adacore.com>

* prj-util.adb: Minor comment editing.

From-SVN: r223545

9 years agoMinor reformatting.
Arnaud Charlet [Fri, 22 May 2015 10:40:27 +0000 (12:40 +0200)]
Minor reformatting.

From-SVN: r223544

9 years agomakeutl.ads (In_Place_Option): New constant.
Pascal Obry [Fri, 22 May 2015 10:40:07 +0000 (10:40 +0000)]
makeutl.ads (In_Place_Option): New constant.

2015-05-22  Pascal Obry  <obry@adacore.com>

* makeutl.ads (In_Place_Option): New constant.
* prj.ads (Obj_Root_Dir): New variable (absolute path to relocate
objects).
(Root_Src_Tree): New variable (absolute path of root source tree).
* prj-conf.adb (Do_Autoconf): Take into account the object root
directory (if defined) to generate configuration project.
* prj-nmsc.adb (Get_Directories): Handle case where Obj_Root_Dir
is defined.
(Locate_Directory): Likewise.

From-SVN: r223543

9 years agoprj-util.ads, [...] (Relative_Path): New routine.
Pascal Obry [Fri, 22 May 2015 10:38:07 +0000 (10:38 +0000)]
prj-util.ads, [...] (Relative_Path): New routine.

2015-05-22  Pascal Obry  <obry@adacore.com>

* prj-util.ads, prj-util.adb (Relative_Path): New routine.

From-SVN: r223542

9 years agoexp_utils.ads, [...] (Find_Optional_Prim_Op): New interface to return Empty when...
Bob Duff [Fri, 22 May 2015 10:36:56 +0000 (10:36 +0000)]
exp_utils.ads, [...] (Find_Optional_Prim_Op): New interface to return Empty when not found...

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

* exp_utils.ads, exp_utils.adb (Find_Optional_Prim_Op): New
interface to return Empty when not found, so we can avoid handling
Program_Error in that case.
(Find_Prim_Op): Fix latent bug: raise Program_Error when there are no
primitives.
* exp_ch7.adb, sem_util.adb: Use Find_Optional_Prim_Op when the
code is expecting Empty.
* sem_ch8.adb: Use Find_Optional_Prim_Op to avoid handling
Program_Error.

From-SVN: r223541

9 years agosem_ch3.adb, [...]: Remove incorrect hyphen in non-binary.
Robert Dewar [Fri, 22 May 2015 10:35:33 +0000 (10:35 +0000)]
sem_ch3.adb, [...]: Remove incorrect hyphen in non-binary.

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

* sem_ch3.adb, sem_intr.adb, exp_ch4.adb, s-rannum.adb,
sem_eval.adb, s-fatgen.adb, s-expmod.ads: Remove incorrect hyphen in
non-binary.
* exp_util.adb: Add comment.
* osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move from spec to
body.
(Set_File_Name): New name for the above.
(Create_C_File, Create_H_File, Write_C_File_Info, Write_H_File_Info,
Close_C_File, Close_H_File): New procedure.
* osint.adb: Minor reformatting.
* osint.ads: Minor comment updates.

From-SVN: r223540

9 years agoexp_ch4.adb: Minor rewording.
Robert Dewar [Fri, 22 May 2015 10:32:15 +0000 (10:32 +0000)]
exp_ch4.adb: Minor rewording.

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

* exp_ch4.adb: Minor rewording.
* exp_util.ads: Clarify that Find_Prim_Op is only for
tagged types.

From-SVN: r223539

9 years agoatree.adb, [...]: Change name Needs_Actuals_Check to Check_Actuals.
Robert Dewar [Fri, 22 May 2015 10:30:37 +0000 (10:30 +0000)]
atree.adb, [...]: Change name Needs_Actuals_Check to Check_Actuals.

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

* atree.adb, atree.ads, treepr.adb: Change name Needs_Actuals_Check to
Check_Actuals.
* exp_ch4.adb (Expand_N_Op_Expon): Optimize 2**x in modular
and overflow cases.

From-SVN: r223538

9 years ago[multiple changes]
Arnaud Charlet [Fri, 22 May 2015 10:28:06 +0000 (12:28 +0200)]
[multiple changes]

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

* exp_pakd.adb (Install_PAT): Propagate representation aspects
from the original array type to the PAT.

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

* treepr.adb (Print_Node_Header): Add output of Needs_Actuals_Check.

From-SVN: r223537

9 years agoatree.adb, atree.ads (Needs_Actuals_Check): New flag.
Robert Dewar [Fri, 22 May 2015 10:25:20 +0000 (10:25 +0000)]
atree.adb, atree.ads (Needs_Actuals_Check): New flag.

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

* atree.adb, atree.ads (Needs_Actuals_Check): New flag.

From-SVN: r223536

9 years agosem_prag.adb (Analyze_Pragma): Remove the detection of a useless Part_Of indicator...
Hristian Kirtchev [Fri, 22 May 2015 10:23:39 +0000 (10:23 +0000)]
sem_prag.adb (Analyze_Pragma): Remove the detection of a useless Part_Of indicator when...

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

* sem_prag.adb (Analyze_Pragma): Remove the detection
of a useless Part_Of indicator when the related item is a constant.
(Check_Matching_Constituent): Do not emit an error on a constant.
(Check_Missing_Part_Of): Do not check for a missing Part_Of indicator
when the related item is a constant.
(Collect_Body_States): Code cleanup.
(Collect_Visible_States): Code cleanup.
(Report_Unused_States): Do not emit an error on a constant.
* sem_util.ads, sem_util.adb (Has_Variable_Input): Removed.

From-SVN: r223535

9 years ago[multiple changes]
Arnaud Charlet [Fri, 22 May 2015 10:20:00 +0000 (12:20 +0200)]
[multiple changes]

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

* sem_ch8.adb (Analyze_Object_Renaming): Copy
Has_Volatile_Full_Access from renamed to renaming entities.
* sem_prag.adb (Process_Atomic_Independent_Shared_Volatile):
Tidy up and remove redundant setting of Has_Volatile_Full_Access.

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

* ghost.adb (Check_Ghost_Completion): Update references to SPARK
RM 6.9 rules.
(Check_Ghost_Policy): Update references to SPARK RM 6.9 rules.
* sem_ch3.adb (Analyze_Object_Declaration): Update references
to SPARK RM 6.9 rules.
(Check_Completion): Ghost entities do not require a special form of
completion.
* sem_ch6.adb (Analyze_Generic_Subprogram_Body): Update references
to SPARK RM 6.9 rules.
(Analyze_Subprogram_Body_Helper): Update references to SPARK RM 6.9
rules.
* sem_ch7.adb (Analyze_Package_Body_Helper): Update references
to SPARK RM 6.9 rules.
(Requires_Completion_In_Body): Ghost entities do not require a special
form of completion.

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

* a-csquin.ads: Use Ada 2012 notation.
* sem_ch8.adb: Minor reformatting.

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

* sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Import
acts as a completion.

From-SVN: r223534

9 years ago[multiple changes]
Arnaud Charlet [Fri, 22 May 2015 10:15:47 +0000 (12:15 +0200)]
[multiple changes]

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

* sem_ch13.adb: Minor reformatting.

2015-05-22  Jose Ruiz  <ruiz@adacore.com>

* a-reatim.adb: Minor change, fix typo.

From-SVN: r223533

9 years agosem_util.ads: Minor addition of ??? comment.
Robert Dewar [Fri, 22 May 2015 10:14:35 +0000 (10:14 +0000)]
sem_util.ads: Minor addition of ??? comment.

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

* sem_util.ads: Minor addition of ??? comment.
* sem_prag.adb, sem_util.adb: Minor reformatting.
* sem_ch13.adb: minor reformatting.

From-SVN: r223532

9 years ago[multiple changes]
Arnaud Charlet [Fri, 22 May 2015 10:11:36 +0000 (12:11 +0200)]
[multiple changes]

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

* a-reatim.ads: Add Compile_Time_Error to ensure Duration
is 64-bits.
* sem_ch13.adb: Improve error message.
* exp_ch4.adb: Minor reformatting.

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

* sem_prag.adb (Analyze_Pragma): Constants without variable
input do not require indicator Part_Of.
(Check_Missing_Part_Of): Constants without variable input do not
requrie indicator Part_Of.
(Collect_Visible_States): Constants without variable input are
not part of the hidden state of a package.
* sem_util.ads, sem_util.adb (Has_Variable_Input): New routine.

From-SVN: r223531

9 years ago* doc/extend.texi: Use @pxref instead of @xref.
Marek Polacek [Fri, 22 May 2015 09:27:35 +0000 (09:27 +0000)]
* doc/extend.texi: Use @pxref instead of @xref.

From-SVN: r223530

9 years agogimple.h (gimple_expr_type): Refactor to make it concise.
Aditya Kumar [Fri, 22 May 2015 09:10:29 +0000 (09:10 +0000)]
gimple.h (gimple_expr_type): Refactor to make it concise.

2015-05-22  hiraditya  <hiraditya@msn.com>

        * gimple.h (gimple_expr_type): Refactor to make it concise.
        Remove redundant if.

From-SVN: r223529

9 years agore PR ipa/65701 (r221530 makes 187.facerec drop with -Ofast -flto on bdver2)
Richard Biener [Fri, 22 May 2015 09:08:46 +0000 (09:08 +0000)]
re PR ipa/65701 (r221530 makes 187.facerec drop with -Ofast -flto on bdver2)

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

PR tree-optimization/65701
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
Move peeling cost models into one place.  Peel for alignment
for single loads only if an aligned load is cheaper than
an unaligned load.

From-SVN: r223528

9 years agore PR c/47043 (allow deprecating enum values)
Marek Polacek [Fri, 22 May 2015 09:07:31 +0000 (09:07 +0000)]
re PR c/47043 (allow deprecating enum values)

PR c/47043
* c-common.c (handle_deprecated_attribute): Allow CONST_DECL.

* c-parser.c (c_parser_enum_specifier): Parse and apply enumerator
attributes.

* cp-tree.h (build_enumerator): Update declaration.
* decl.c (build_enumerator): Add attributes parameter.  Call
cplus_decl_attributes.
* init.c (constant_value_1): Pass tf_none to mark_used.
* parser.c (cp_parser_enumerator_definition): Parse attributes and
pass them down to build_enumerator.
* pt.c (tsubst_enum): Pass decl attributes to build_enumerator.
* semantics.c (finish_id_expression): Don't warn_deprecated_use here.

* doc/extend.texi (Enumerator Attributes): New section.
Document syntax of enumerator attributes.

* c-c++-common/attributes-enum-1.c: New test.
* c-c++-common/attributes-enum-2.c: New test.
* g++.dg/cpp0x/attributes-enum-1.C: New test.
* g++.dg/cpp1y/attributes-enum-1.C: New test.

Co-Authored-By: Edward Smith-Rowland <3dw4rd@verizon.net>
From-SVN: r223527

9 years agotree-vect-loop.c (get_reduction_op): New function.
Richard Biener [Fri, 22 May 2015 09:00:28 +0000 (09:00 +0000)]
tree-vect-loop.c (get_reduction_op): New function.

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

* tree-vect-loop.c (get_reduction_op): New function.
(vect_model_reduction_cost): Use it, add reduc_index parameter.
Make ready for BB reductions.
(vect_create_epilog_for_reduction): Use get_reduction_op.
(vectorizable_reduction): Init reduc_index to a valid value.
Adjust vect_model_reduction_cost call.
* tree-vect-slp.c (vect_get_constant_vectors): Use the proper
operand for reduction defaults.  Add SAD_EXPR support.
Assert we have a neutral op for SLP reductions.
* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): When
walking pattern stmt ops only recurse to SSA names.

From-SVN: r223526

9 years agotree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace assert with guard, remove...
Richard Biener [Fri, 22 May 2015 08:55:59 +0000 (08:55 +0000)]
tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace assert with guard, remove check on detected reduction.

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

* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace
assert with guard, remove check on detected reduction.
(vect_recog_sad_pattern): Likewise.
(vect_recog_widen_sum_pattern): Likewise.

From-SVN: r223525

9 years ago[multiple changes]
Arnaud Charlet [Fri, 22 May 2015 08:52:17 +0000 (10:52 +0200)]
[multiple changes]

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

* exp_util.adb (Activate_Atomic_Synchronization): Do not set
Atomic_Sync_Required for an object renaming declaration.
* sem_ch8.adb (Analyze_Object_Renaming): Copy Is_Atomic and
Is_Independent to renaming object.

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

* sem_ch5.adb (Analyze_Iterator_Specification): Diagnose
various illegalities in iterators over arrays and containers:
a) New function Get_Cursor_Type, to verify that the cursor is
not a limited type at the point of iteration.
b) If the container is a constant, an element_iterator is illegal
if the container type does not have a Constant_Indexing aspect.
c) If the iterate function has an in-out controlling parameter,
the container cannot be a constant object.
d) Reject additional cases of iterators over a
discriminant-dependent component of a mutable object.

From-SVN: r223524

9 years ago[AArch64] Add __extension__ and __always_inline__ to crypto intrinsics
Kyrylo Tkachov [Fri, 22 May 2015 08:21:22 +0000 (08:21 +0000)]
[AArch64] Add __extension__ and __always_inline__ to crypto intrinsics

* config/aarch64/arm_neon.h (vaeseq_u8): Add __extension__ and
__always_inline__ attribute.
(vaesdq_u8): Likewise.
(vaesmcq_u8): Likewise.
(vaesimcq_u8): Likewise.
(vsha1cq_u32): Likewise.
(vsha1mq_u32): Likewise.
(vsha1pq_u32): Likewise.
(vsha1h_u32): Likewise.
(vsha1su0q_u32): Likewise.
(vsha1su1q_u32): Likewise.
(vsha256hq_u32): Likewise.
(vsha256h2q_u32): Likewise.
(vsha256su0q_u32): Likewise.
(vsha256su1q_u32): Likewise.
(vmull_p64): Likewise.
(vmull_high_p64): Likewise.

From-SVN: r223523

9 years agoalways define HAVE_peephole
Trevor Saunders [Fri, 22 May 2015 01:04:24 +0000 (01:04 +0000)]
always define HAVE_peephole

gcc/ChangeLog:

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

* final.c (final_scan_insn): Don't check HAVE_peephole with the
preprocessor.
* output.h: Likewise.
* genconfig.c (main): Alwways define HAVE_peephole.
* genpeep.c: Don't emit checks of HAVE_peephole.

From-SVN: r223519

9 years agoremove #if HAVE_conditional_move
Trevor Saunders [Fri, 22 May 2015 01:04:17 +0000 (01:04 +0000)]
remove #if HAVE_conditional_move

gcc/ChangeLog:

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

* combine.c, expmed.c, expr.c, optabs.c optabs.h, toplev.c: DOn't
check HAVE_conditional_move with the preprocessor.

From-SVN: r223518

9 years agoalways define HAVE_conditional_move
Trevor Saunders [Fri, 22 May 2015 01:04:09 +0000 (01:04 +0000)]
always define HAVE_conditional_move

gcc/ChangeLog:

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

* genconfig.c (main): Always define HAVE_conditional_move.
* combine.c, expmed.c, expr.c, ifcvt.c, optabs.c, optabs.h,
toplev.c, tree-ssa-phiopt.c: Don't check if HAVE_conditional_move
is defined.

From-SVN: r223517

9 years agodon't compare ARG_FRAME_POINTER_REGNUM and FRAME_POINTER_REGNUM with the preprocessor
Trevor Saunders [Fri, 22 May 2015 01:03:59 +0000 (01:03 +0000)]
don't compare ARG_FRAME_POINTER_REGNUM and FRAME_POINTER_REGNUM with the preprocessor

gcc/ChangeLog:

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

* combine.c, df-problems.c, df-scan.c, emit-rtl.c, reginfo.c,
reload.c, rtlanal.c: Remove comparison of ARG_FRAME_POINTER_REGNUM
and FRAME_POINTER_REGNUM with the preprocessor.

From-SVN: r223516

9 years agomove default for STACK_PUSH_CODE to defaults.h
Trevor Saunders [Fri, 22 May 2015 01:03:51 +0000 (01:03 +0000)]
move default for STACK_PUSH_CODE to defaults.h

gcc/ChangeLog:

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

* defaults.h: Add default for STACK_PUSH_CODE.
* expr.c: Don't redefine STACK_PUSH_CODE.
* recog.c: Likewise.

From-SVN: r223515

9 years agoremove most ifdef STACK_GROWS_DOWNWARD
Trevor Saunders [Fri, 22 May 2015 01:03:42 +0000 (01:03 +0000)]
remove most ifdef STACK_GROWS_DOWNWARD

gcc/c-family/ChangeLog:

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

* c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
STACK_GROWS_DOWNWARD.

gcc/ChangeLog:

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

* builtins.c, dwarf2cfi.c, explow.c, expr.c, recog.c,
sched-deps.c: Use if instead of preprocessor checks with
STACK_GROWS_DOWNWARD.

From-SVN: r223514

9 years agoalways define STACK_GROWS_DOWNWARD
Trevor Saunders [Fri, 22 May 2015 01:03:11 +0000 (01:03 +0000)]
always define STACK_GROWS_DOWNWARD

gcc/c-family/ChangeLog:

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

* c-cppbuiltin.c (c_cpp_builtins): Check the value of
STACK_GROWS_DOWNWARD rather than if it is defined.

gcc/ChangeLog:

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

* *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it
is defined.
* config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer.
* defaults.h: Provide default for STACK_GROWS_DOWNWARD.
* doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD.
* doc/tm.texi: Regenerate.

From-SVN: r223513

9 years agoDaily bump.
GCC Administrator [Fri, 22 May 2015 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r223512

9 years agosimd.exp: Skip all tests if no arm_neon_ok effective target support.
Sandra Loosemore [Thu, 21 May 2015 23:02:18 +0000 (19:02 -0400)]
simd.exp: Skip all tests if no arm_neon_ok effective target support.

2015-05-21  Sandra Loosemore  <sandra@codesourcery.com>

gcc/testsuite/
* gcc.target/arm/simd/simd.exp: Skip all tests if no arm_neon_ok
effective target support.  If no arm_neon_hw support, do not attempt
to execute the tests; only compile them.
* gcc.target/arm/simd/vextf32_1.c: Remove explicit "dg-do run"
and "dg-require-effective-target arm_neon_ok".
* gcc.target/arm/simd/vextp16_1.c: Likewise.
* gcc.target/arm/simd/vextp64_1.c: Likewise.
* gcc.target/arm/simd/vextp8_1.c: Likewise.
* gcc.target/arm/simd/vextQf32_1.c: Likewise.
* gcc.target/arm/simd/vextQp16_1.c: Likewise.
* gcc.target/arm/simd/vextQp64_1.c: Likewise.
* gcc.target/arm/simd/vextQp8_1.c: Likewise.
* gcc.target/arm/simd/vextQs16_1.c: Likewise.
* gcc.target/arm/simd/vextQs32_1.c: Likewise.
* gcc.target/arm/simd/vextQs64_1.c: Likewise.
* gcc.target/arm/simd/vextQs8_1.c: Likewise.
* gcc.target/arm/simd/vextQu16_1.c: Likewise.
* gcc.target/arm/simd/vextQu32_1.c: Likewise.
* gcc.target/arm/simd/vextQu64_1.c: Likewise.
* gcc.target/arm/simd/vextQu8_1.c: Likewise.
* gcc.target/arm/simd/vexts16_1.c: Likewise.
* gcc.target/arm/simd/vexts32_1.c: Likewise.
* gcc.target/arm/simd/vexts64_1.c: Likewise.
* gcc.target/arm/simd/vexts8_1.c: Likewise.
* gcc.target/arm/simd/vextu16_1.c: Likewise.
* gcc.target/arm/simd/vextu32_1.c: Likewise.
* gcc.target/arm/simd/vextu64_1.c: Likewise.
* gcc.target/arm/simd/vextu8_1.c: Likewise.
* gcc.target/arm/simd/vrev16p8_1.c: Likewise.
* gcc.target/arm/simd/vrev16qp8_1.c: Likewise.
* gcc.target/arm/simd/vrev16qs8_1.c: Likewise.
* gcc.target/arm/simd/vrev16qu8_1.c: Likewise.
* gcc.target/arm/simd/vrev16s8_1.c: Likewise.
* gcc.target/arm/simd/vrev16u8_1.c: Likewise.
* gcc.target/arm/simd/vrev32p16_1.c: Likewise.
* gcc.target/arm/simd/vrev32p8_1.c: Likewise.
* gcc.target/arm/simd/vrev32qp16_1.c: Likewise.
* gcc.target/arm/simd/vrev32qp8_1.c: Likewise.
* gcc.target/arm/simd/vrev32qs16_1.c: Likewise.
* gcc.target/arm/simd/vrev32qs8_1.c: Likewise.
* gcc.target/arm/simd/vrev32qu16_1.c: Likewise.
* gcc.target/arm/simd/vrev32qu8_1.c: Likewise.
* gcc.target/arm/simd/vrev32s16_1.c: Likewise.
* gcc.target/arm/simd/vrev32s8_1.c: Likewise.
* gcc.target/arm/simd/vrev32u16_1.c: Likewise.
* gcc.target/arm/simd/vrev32u8_1.c: Likewise.
* gcc.target/arm/simd/vrev64f32_1.c: Likewise.
* gcc.target/arm/simd/vrev64p16_1.c: Likewise.
* gcc.target/arm/simd/vrev64p8_1.c: Likewise.
* gcc.target/arm/simd/vrev64qf32_1.c: Likewise.
* gcc.target/arm/simd/vrev64qp16_1.c: Likewise.
* gcc.target/arm/simd/vrev64qp8_1.c: Likewise.
* gcc.target/arm/simd/vrev64qs16_1.c: Likewise.
* gcc.target/arm/simd/vrev64qs32_1.c: Likewise.
* gcc.target/arm/simd/vrev64qs8_1.c: Likewise.
* gcc.target/arm/simd/vrev64qu16_1.c: Likewise.
* gcc.target/arm/simd/vrev64qu32_1.c: Likewise.
* gcc.target/arm/simd/vrev64qu8_1.c: Likewise.
* gcc.target/arm/simd/vrev64s16_1.c: Likewise.
* gcc.target/arm/simd/vrev64s32_1.c: Likewise.
* gcc.target/arm/simd/vrev64s8_1.c: Likewise.
* gcc.target/arm/simd/vrev64u16_1.c: Likewise.
* gcc.target/arm/simd/vrev64u32_1.c: Likewise.
* gcc.target/arm/simd/vrev64u8_1.c: Likewise.
* gcc.target/arm/simd/vtrnf32_1.c: Likewise.
* gcc.target/arm/simd/vtrnp16_1.c: Likewise.
* gcc.target/arm/simd/vtrnp8_1.c: Likewise.
* gcc.target/arm/simd/vtrnqf32_1.c: Likewise.
* gcc.target/arm/simd/vtrnqp16_1.c: Likewise.
* gcc.target/arm/simd/vtrnqp8_1.c: Likewise.
* gcc.target/arm/simd/vtrnqs16_1.c: Likewise.
* gcc.target/arm/simd/vtrnqs32_1.c: Likewise.
* gcc.target/arm/simd/vtrnqs8_1.c: Likewise.
* gcc.target/arm/simd/vtrnqu16_1.c: Likewise.
* gcc.target/arm/simd/vtrnqu32_1.c: Likewise.
* gcc.target/arm/simd/vtrnqu8_1.c: Likewise.
* gcc.target/arm/simd/vtrns16_1.c: Likewise.
* gcc.target/arm/simd/vtrns32_1.c: Likewise.
* gcc.target/arm/simd/vtrns8_1.c: Likewise.
* gcc.target/arm/simd/vtrnu16_1.c: Likewise.
* gcc.target/arm/simd/vtrnu32_1.c: Likewise.
* gcc.target/arm/simd/vtrnu8_1.c: Likewise.
* gcc.target/arm/simd/vuzpf32_1.c: Likewise.
* gcc.target/arm/simd/vuzpp16_1.c: Likewise.
* gcc.target/arm/simd/vuzpp8_1.c: Likewise.
* gcc.target/arm/simd/vuzpqf32_1.c: Likewise.
* gcc.target/arm/simd/vuzpqp16_1.c: Likewise.
* gcc.target/arm/simd/vuzpqp8_1.c: Likewise.
* gcc.target/arm/simd/vuzpqs16_1.c: Likewise.
* gcc.target/arm/simd/vuzpqs32_1.c: Likewise.
* gcc.target/arm/simd/vuzpqs8_1.c: Likewise.
* gcc.target/arm/simd/vuzpqu16_1.c: Likewise.
* gcc.target/arm/simd/vuzpqu32_1.c: Likewise.
* gcc.target/arm/simd/vuzpqu8_1.c: Likewise.
* gcc.target/arm/simd/vuzps16_1.c: Likewise.
* gcc.target/arm/simd/vuzps32_1.c: Likewise.
* gcc.target/arm/simd/vuzps8_1.c: Likewise.
* gcc.target/arm/simd/vuzpu16_1.c: Likewise.
* gcc.target/arm/simd/vuzpu32_1.c: Likewise.
* gcc.target/arm/simd/vuzpu8_1.c: Likewise.
* gcc.target/arm/simd/vzipf32_1.c: Likewise.
* gcc.target/arm/simd/vzipp16_1.c: Likewise.
* gcc.target/arm/simd/vzipp8_1.c: Likewise.
* gcc.target/arm/simd/vzipqf32_1.c: Likewise.
* gcc.target/arm/simd/vzipqp16_1.c: Likewise.
* gcc.target/arm/simd/vzipqp8_1.c: Likewise.
* gcc.target/arm/simd/vzipqs16_1.c: Likewise.
* gcc.target/arm/simd/vzipqs32_1.c: Likewise.
* gcc.target/arm/simd/vzipqs8_1.c: Likewise.
* gcc.target/arm/simd/vzipqu16_1.c: Likewise.
* gcc.target/arm/simd/vzipqu32_1.c: Likewise.
* gcc.target/arm/simd/vzipqu8_1.c: Likewise.
* gcc.target/arm/simd/vzips16_1.c: Likewise.
* gcc.target/arm/simd/vzips32_1.c: Likewise.
* gcc.target/arm/simd/vzips8_1.c: Likewise.
* gcc.target/arm/simd/vzipu16_1.c: Likewise.
* gcc.target/arm/simd/vzipu32_1.c: Likewise.
* gcc.target/arm/simd/vzipu8_1.c: Likewise.

From-SVN: r223508

9 years agobb-slp-pr65935.c: Remove explicit "dg-do run".
Sandra Loosemore [Thu, 21 May 2015 23:00:32 +0000 (19:00 -0400)]
bb-slp-pr65935.c: Remove explicit "dg-do run".

2015-05-21  Sandra Loosemore  <sandra@codesourcery.com>

gcc/testsuite/
* gcc.dg/vect/bb-slp-pr65935.c: Remove explicit "dg-do run".
* gcc.dg/vect/pr59354.c: Likewise.
* gcc.dg/vect/pr64252.c: Likewise.
* gcc.dg/vect/pr64404.c: Likewise.
* gcc.dg/vect/pr64493.c: Likewise.
* gcc.dg/vect/pr64495.c: Likewise.
* gcc.dg/vect/pr64844.c: Likewise.
* gcc.dg/vect/pr65518.c: Likewise.
* gcc.dg/vect/vect-aggressive-1.c: Likewise.

From-SVN: r223507

9 years agore PR c++/66210 (Variable template specialization does not work with alias-declarations)
Paolo Carlini [Thu, 21 May 2015 22:39:32 +0000 (22:39 +0000)]
re PR c++/66210 (Variable template specialization does not work with alias-declarations)

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

PR c++/66210
* g++.dg/cpp1y/var-templ28.C: New.

From-SVN: r223506

9 years agoAllow indirect branch via GOT slot for x32
H.J. Lu [Thu, 21 May 2015 21:58:57 +0000 (21:58 +0000)]
Allow indirect branch via GOT slot for x32

X32 doesn't support indirect branch via 32-bit memory slot since
indirect branch will load 64-bit address from 64-bit memory slot.
Since x32 GOT slot is 64-bit, we should allow indirect branch via GOT
slot for x32.

gcc/

PR target/66232
* config/i386/constraints.md (Bg): New constraint for GOT memory
operand.
* config/i386/i386.md (*call_got_x32): New pattern.
(*call_value_got_x32): Likewise.
* config/i386/predicates.md (GOT_memory_operand): New predicate.

gcc/testsuite/

PR target/66232
* gcc.target/i386/pr66232-1.c: New test.
* gcc.target/i386/pr66232-2.c: Likewise.
* gcc.target/i386/pr66232-3.c: Likewise.
* gcc.target/i386/pr66232-4.c: Likewise.
* gcc.target/i386/pr66232-5.c: Likewise.

From-SVN: r223505

9 years agore PR c++/60943 ([C++14] Return type deduction interferes with ref-qualifiers)
Nathan Sidwell [Thu, 21 May 2015 20:50:45 +0000 (20:50 +0000)]
re PR c++/60943 ([C++14] Return type deduction interferes with ref-qualifiers)

cp/
PR c++/60943
* decl2.c (change_return_type): Propagate FUNCTION_REF_QUALIFIED.

testsuite/
* g++.dg/cpp1y/pr60943.C: New.

From-SVN: r223502

9 years agore PR tree-optimization/66233 (internal compiler error: in expand_fix, at optabs...
Jakub Jelinek [Thu, 21 May 2015 19:17:28 +0000 (21:17 +0200)]
re PR tree-optimization/66233 (internal compiler error: in expand_fix, at optabs.c:5358)

PR tree-optimization/66233
* match.pd (ocvt (icvt@1 @0)): Don't handle vector types.
Simplify.

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

From-SVN: r223500

9 years agore PR fortran/66176 (Handle conjg() in inline matmul)
Thomas Koenig [Thu, 21 May 2015 19:00:45 +0000 (19:00 +0000)]
re PR fortran/66176 (Handle conjg() in inline matmul)

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

PR fortran/66176
* frontend-passes.c (check_conjg_variable):  New function.
(inline_matmul_assign):  Use it to keep track of conjugated
variables.

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

PR fortran/66176
* gfortran.dg/inline_matmul_11.f90:  New test

From-SVN: r223499

9 years agopr32219-1.c: Use 'dg-require-effective-target pie' instead of listing several targets...
Andreas Tobler [Thu, 21 May 2015 18:13:06 +0000 (20:13 +0200)]
pr32219-1.c: Use 'dg-require-effective-target pie' instead of listing several targets on its own.

2015-05-21  Andreas Tobler  <andreast@gcc.gnu.org>

    * gcc.target/i386/pr32219-1.c: Use 'dg-require-effective-target pie'
    instead of listing several targets on its own.
    * gcc.target/i386/pr32219-2.c: Likewise.
    * gcc.target/i386/pr32219-3.c: Likewise.
    * gcc.target/i386/pr32219-4.c: Likewise.
    * gcc.target/i386/pr32219-5.c: Likewise.
    * gcc.target/i386/pr32219-6.c: Likewise
    * gcc.target/i386/pr32219-7.c: Likewise.
    * gcc.target/i386/pr32219-8.c: Likewise.
    * gcc.target/i386/pr39013-1.c: Likewise.
    * gcc.target/i386/pr39013-2.c: Likewise.
    * gcc.target/i386/pr64317.c: Likewise.

From-SVN: r223498

9 years agoinclhack.def (aix_externc): New fix.
David Edelsohn [Thu, 21 May 2015 17:25:00 +0000 (17:25 +0000)]
inclhack.def (aix_externc): New fix.

* inclhack.def (aix_externc): New fix.
(aix_externcpp[12]): New fix.
* fixincl.x: Regenerate.
* test/base/ctype.h [AIX_EXTERNC_CHECK]: New test.
* test/base/sys/socket.h [AIX_EXTERNCPP[12]_CHECK]: New test.
* test/base/fcntl.h: New file.

From-SVN: r223497

9 years agore PR target/66224 (PowerPC _GLIBCXX_READ_MEM_BARRIER too weak)
David Edelsohn [Thu, 21 May 2015 17:18:25 +0000 (13:18 -0400)]
re PR target/66224 (PowerPC _GLIBCXX_READ_MEM_BARRIER too weak)

        PR target/66224
        * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER):
        Don't use isync. Use lwsync if available.
        * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use
        powerpc cpu definition.

From-SVN: r223496

9 years agopa.md (add-with-constant splitter): Use ASHIFT rather than MULT for shadd sequences.
Jeff Law [Thu, 21 May 2015 17:18:16 +0000 (11:18 -0600)]
pa.md (add-with-constant splitter): Use ASHIFT rather than MULT for shadd sequences.

* config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather
than MULT for shadd sequences.

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

From-SVN: r223495

9 years agorevert: configure.ac: Add -std=c++98 to stage1_cxxflags.
Jason Merrill [Thu, 21 May 2015 17:05:33 +0000 (13:05 -0400)]
revert: configure.ac: Add -std=c++98 to stage1_cxxflags.

Revert:
       * configure.ac: Add -std=c++98 to stage1_cxxflags.
       * Makefile.tpl (STAGE1_CXXFLAGS): And substitute it.
       * Makefile.in, configure: Regenerate.

From-SVN: r223494

9 years agoalias.c (alias_stats): New static var.
Jan Hubicka [Thu, 21 May 2015 15:51:59 +0000 (17:51 +0200)]
alias.c (alias_stats): New static var.

* alias.c (alias_stats): New static var.
(alias_sets_conflict_p, alias_sets_must_conflict_p): Update stats.
(dump_alias_stats_in_alias_c): New function.
* alias.h (dump_alias_stats_in_alias_c): Declare.
* tree-ssa-alias.c (dump_alias_stats): Call it.

From-SVN: r223491

9 years agoSee <https://gcc.gnu.org/ml/gcc-patches/2015-05/msg01977.html> for
Marek Polacek [Thu, 21 May 2015 15:30:09 +0000 (15:30 +0000)]
See <https://gcc.gnu.org/ml/gcc-patches/2015-05/msg01977.html> for
the rationale.

Bootstrapped/regtested on x86_64-linux, applying to trunk.

2015-05-21  Marek Polacek  <polacek@redhat.com>

* c-typeck.c (inform_declaration): Use DECL_IS_BUILTIN instead of
DECL_BUILT_IN.

diff --git gcc/c/c-typeck.c gcc/c/c-typeck.c
index ba8797b..f55d4c6 100644
--- gcc/c/c-typeck.c
+++ gcc/c/c-typeck.c
@@ -2853,9 +2853,10 @@ build_function_call (location_t loc, tree function, tree params)

 /* Give a note about the location of the declaration of DECL.  */

-static void inform_declaration (tree decl)
+static void
+inform_declaration (tree decl)
 {
-  if (decl && (TREE_CODE (decl) != FUNCTION_DECL || !DECL_BUILT_IN (decl)))
+  if (decl && (TREE_CODE (decl) != FUNCTION_DECL || !DECL_IS_BUILTIN (decl)))
     inform (DECL_SOURCE_LOCATION (decl), "declared here");
 }

From-SVN: r223490

9 years ago* typeck.c (warn_args_num): Don't print "declare here" for builtins.
Marek Polacek [Thu, 21 May 2015 15:27:12 +0000 (15:27 +0000)]
* typeck.c (warn_args_num): Don't print "declare here" for builtins.

From-SVN: r223489

9 years agodel_opv.cc: Suppress -Wsized-deallocation.
Jason Merrill [Thu, 21 May 2015 15:12:40 +0000 (11:12 -0400)]
del_opv.cc: Suppress -Wsized-deallocation.

* libsupc++/del_opv.cc: Suppress -Wsized-deallocation.
* libsupc++/del_op.cc: Likewise.

From-SVN: r223488

9 years agoconfigure.ac: Add -std=c++98 to stage1_cxxflags.
Jason Merrill [Thu, 21 May 2015 15:12:35 +0000 (11:12 -0400)]
configure.ac: Add -std=c++98 to stage1_cxxflags.

* configure.ac: Add -std=c++98 to stage1_cxxflags.
* Makefile.tpl (STAGE1_CXXFLAGS): And substitute it.
* Makefile.in, configure: Regenerate.

From-SVN: r223487

9 years agotree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p to strided_p.
Michael Matz [Thu, 21 May 2015 14:36:04 +0000 (14:36 +0000)]
tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p to strided_p.

* tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p
to strided_p.
(STMT_VINFO_STRIDE_LOAD_P): Rename to ...
(STMT_VINFO_STRIDED_P): ... this.
* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust.
(vect_verify_datarefs_alignment): Likewise.
(vect_enhance_data_refs_alignment): Likewise.
(vect_analyze_data_ref_access): Likewise.
(vect_analyze_data_refs): Accept strided stores.
* tree-vect-stmts.c (vect_model_store_cost): Count strided stores.
(vect_model_load_cost): Adjust for macro rename.
(vectorizable_mask_load_store): Likewise.
(vectorizable_load): Likewise.
(vectorizable_store): Open code strided stores.

testsuite/
* gcc.dg/vect/vect-strided-store.c: New test.
* gfortran.dg/vect/fast-math-pr37021.f90: Adjust.
* gfortran.dg/vect/fast-math-rnflow-trs2a2.f90: Adjust.

From-SVN: r223486

9 years agoTestsuite check for sqrt_insn. Move pow/sqrt synth test from gcc.target/aarch64/...
Kyrylo Tkachov [Thu, 21 May 2015 13:30:24 +0000 (13:30 +0000)]
Testsuite check for sqrt_insn. Move pow/sqrt synth test from gcc.target/aarch64/ to to gcc.dg/

* lib/target-supports.exp (check_effective_target_sqrt_insn): New check.
* gcc.dg/pow-sqrt-synth-1.c: New test.
* gcc.target/aarch64/pow-sqrt-synth-1.c: Delete.

* doc/sourcebuild.texi (7.2.3.9 Other hardware attributes):
Document sqrt_insn.

From-SVN: r223485

9 years agoeinfo.adb (Contract): This attribute now applies to constants.
Hristian Kirtchev [Thu, 21 May 2015 13:26:51 +0000 (13:26 +0000)]
einfo.adb (Contract): This attribute now applies to constants.

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

* einfo.adb (Contract): This attribute now applies to constants.
(Set_Contract): This attribute now applies to constants.
(Write_Field34_Name): Add output for constants.
* einfo.ads Attribute Contract now applies to constants.
* sem_ch3.adb (Analyze_Object_Contract): Constants now have
their Part_Of indicator verified.
* sem_prag.adb (Analyze_Constituent): A constant is now a valid
constituent.
(Analyze_Global_Item): A constant cannot act as an output.
(Analyze_Initialization_Item): Constants are now a valid
initialization item.
(Analyze_Initializes_In_Decl_Part): Rename
global variable States_And_Vars to States_And_Objs and update
all its occurrences.
(Analyze_Input_Item): Constants are now a
valid initialization item. Remove SPARM RM references from error
messages.
(Analyze_Pragma): Indicator Part_Of can now apply to a constant.
(Collect_Body_States): Collect both source constants
and variables.
(Collect_States_And_Objects): Collect both source constants and
variables.
(Collect_States_And_Variables): Rename
to Collect_States_And_Objects and update all its occurrences.
(Collect_Visible_States): Do not collect constants and variables
used to map generic formals to actuals.
(Find_Role): The role of a constant is that of an input. Separate the
role of a variable from that of a constant.
(Report_Unused_Constituents): Add specialized wording for constants.
(Report_Unused_States): Add specialized wording for constants.
* sem_util.adb (Add_Contract_Item): Add processing for constants.
* sem_util.ads (Add_Contract_Item): Update the comment on usage.
(Find_Placement_In_State_Space): Update the comment on usage.

From-SVN: r223484

9 years agore PR c++/66211 (Rvalue conversion in ternary operator causes internal compiler error)
Richard Biener [Thu, 21 May 2015 13:23:41 +0000 (13:23 +0000)]
re PR c++/66211 (Rvalue conversion in ternary operator causes internal compiler error)

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

PR c++/66211
* match.pd: Guard pattern optimzing (int)(float)int
conversions to apply only on GIMPLE.

* g++.dg/conversion/pr66211.C: New testcase.
* gcc.dg/tree-ssa/forwprop-18.c: Adjust.

From-SVN: r223483

9 years ago[multiple changes]
Arnaud Charlet [Thu, 21 May 2015 13:12:18 +0000 (15:12 +0200)]
[multiple changes]

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

* sem_ch5.adb: minor reformatting.

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

* freeze.adb (Freeze_Entity): Properly tag -gnatw.z messages.

From-SVN: r223482

9 years agocombine.c (find_split_point): Handle ASHIFT like MULT to encourage multiply-accumulat...
Jeff Law [Thu, 21 May 2015 12:44:44 +0000 (06:44 -0600)]
combine.c (find_split_point): Handle ASHIFT like MULT to encourage multiply-accumulate/shift-add insn generation.

* combine.c (find_split_point): Handle ASHIFT like MULT to encourage
multiply-accumulate/shift-add insn generation.

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

From-SVN: r223481

9 years agopa.c (pa_print_operand): New 'o' output modifier.
Jeff Law [Thu, 21 May 2015 12:44:35 +0000 (06:44 -0600)]
pa.c (pa_print_operand): New 'o' output modifier.

2015-05-20  Jeff Law  <law@redhat.com>

* config/pa/pa.c (pa_print_operand): New 'o' output modifier.
(pa_mem_shadd_constant_p): Renamed from pa_shadd_constant_p.
(pa_shadd_constant_p): Allow constants for shadd insns rather
than valid scaling constants for memory addresses.
* config/pa/pa-protos.h (pa_mem_shadd_constant_p): Add prototype.
* config/pa/predicates.md (mem_shadd_operand): New predicate.
* config/pa/pa.md (shift-add insns using MULT): Use mem_shadd_operand.
(shift-add insns using ASHIFT): New patterns.

* gcc.target/hppa/hppa.exp: New target test driver.
* gcc.target/hppa/shadd-1.c: New test.

From-SVN: r223480

9 years agore PR target/54236 ([SH] Improve addc and subc insn utilization)
Oleg Endo [Thu, 21 May 2015 12:36:35 +0000 (12:36 +0000)]
re PR target/54236 ([SH] Improve addc and subc insn utilization)

gcc/
PR target/54236
* config/sh/sh.md (*round_int_even): Reject pattern if operands[0] and
operands[1] are the same.

gcc/testsuite/
PR target/54236
* gcc.target/sh/pr54236-2.c: Fix typo in comment.

From-SVN: r223479

9 years ago[multiple changes]
Arnaud Charlet [Thu, 21 May 2015 10:51:22 +0000 (12:51 +0200)]
[multiple changes]

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

* freeze.adb: Minor reformatting.
* cstand.adb (Print_Standard): Fix bad printing of Duration
low bound.
* a-reatim.adb (Time_Of): Complete rewrite to properly detect
out of range args.

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

* sem_ch5.adb: add (useless) initial value.
* sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram):
Check whether the procedure has parameters before processing
formals in ASIS mode.

From-SVN: r223477

9 years agoMinor reformatting.
Arnaud Charlet [Thu, 21 May 2015 10:47:50 +0000 (12:47 +0200)]
Minor reformatting.

From-SVN: r223476

9 years agosem_ch13.adb (Check_Iterator_Functions): Emit error on Iterator aspect as well when...
Ed Schonberg [Thu, 21 May 2015 10:47:34 +0000 (10:47 +0000)]
sem_ch13.adb (Check_Iterator_Functions): Emit error on Iterator aspect as well when indexing function is illegal.

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

* sem_ch13.adb (Check_Iterator_Functions): Emit error on Iterator
aspect as well when indexing function is illegal.
(Valid_Default_Iterator): Handle properly somme illegal cases
to prevent compilation abandoned messages.
(Check_Primitive_Function): Verify that type and indexing function
are in the same scope.
* freeze.adb (Freeze_Record): Extend patch on the presence of
indexing aspects to aspect Default_Iterator.

From-SVN: r223475

9 years agore PR target/26702 (.size is not emitted for BSS variables)
Ramana Radhakrishnan [Thu, 21 May 2015 09:23:14 +0000 (09:23 +0000)]
re PR target/26702 (.size is not emitted for BSS variables)

Fix PR target/26702

For Kwok Cheung Yeung.

From-SVN: r223473

9 years agore PR middle-end/66221 (lto1: error: type variant has different TYPE_ARG_TYPES)
Ilya Enkovich [Thu, 21 May 2015 08:32:52 +0000 (08:32 +0000)]
re PR middle-end/66221 (lto1: error: type variant has different TYPE_ARG_TYPES)

gcc/

PR middle-end/66221
* ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use
build_distinct_type_copy to copy bounds.

gcc/testsuite/

PR middle-end/66221
* gcc.dg/lto/pr66221_0.c: New test.
* gcc.dg/lto/pr66221_1.c: New test.

From-SVN: r223471

9 years agore PR c/52952 (Wformat location info is bad (wrong column number))
Manuel López-Ibáñez [Thu, 21 May 2015 06:49:38 +0000 (06:49 +0000)]
re PR c/52952 (Wformat location info is bad (wrong column number))

gcc/testsuite/ChangeLog:

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

PR c/52952
* gcc.dg/redecl-4.c: Update column numbers.
* gcc.dg/format/bitfld-1.c: Likewise.
* gcc.dg/format/attr-2.c: Likewise.
* gcc.dg/format/attr-6.c: Likewise.
* gcc.dg/format/attr-7.c (baz): Likewise.
* gcc.dg/format/asm_fprintf-1.c: Likewise.
* gcc.dg/format/attr-4.c: Likewise.
* gcc.dg/format/branch-1.c: Likewise.
* gcc.dg/format/c90-printf-1.c: Likewise. Add tests for column
locations within strings with embedded escape sequences.

gcc/c-family/ChangeLog:

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

PR c/52952
* c-format.c (location_column_from_byte_offset): New.
(location_from_offset): New.
(struct format_wanted_type): Add offset_loc field.
(check_format_info): Move handling of location for extra arguments
closer to the point of warning.
(check_format_info_main): Pass the result of location_from_offset
to warning_at.
(format_type_warning): Pass the result of location_from_offset
to warning_at.

From-SVN: r223470

9 years agogenrecog: Address -Wsign-compare diagnostics.
Thomas Schwinge [Thu, 21 May 2015 06:46:55 +0000 (08:46 +0200)]
genrecog: Address -Wsign-compare diagnostics.

    g++-4.6 [...] [...]/gcc/genrecog.c
    [...]/gcc/genrecog.c: In function 'state_size find_subroutines(routine_type, state*, vec<state*>&)':
    [...]/gcc/genrecog.c:3338:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    [...]/gcc/genrecog.c:3347:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    [...]/gcc/genrecog.c:3359:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    [...]/gcc/genrecog.c:3365:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

    3305   state_size size;
         [...]
    3337           state_size to_size = find_subroutines (type, trans->to, procs);
    3338           if (d->next && to_size.depth > MAX_DEPTH)
         [...]
    3347               if (to_size.num_statements < MIN_NUM_STATEMENTS)
         [...]
    3359   if (size.num_statements > MAX_NUM_STATEMENTS)
         [...]
    3365              && size.num_statements > MAX_NUM_STATEMENTS)

     175 static const int MAX_DEPTH = 6;
         [...]
     179 static const int MIN_NUM_STATEMENTS = 5;
         [...]
     185 static const int MAX_NUM_STATEMENTS = 200;
         [...]
    3258 struct state_size
    3259 {
         [...]
    3261   unsigned int num_statements;
         [...]
    3265   unsigned int depth;
    3266 };

gcc/
* genrecog.c (MAX_DEPTH, MIN_NUM_STATEMENTS, MAX_NUM_STATEMENTS):
Change to unsigned int.

From-SVN: r223469

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

From-SVN: r223468

9 years agore PR libgcc/66225 (libgcc/config/rs6000/morecore.S will not build on systems with...
Alan Modra [Wed, 20 May 2015 23:55:08 +0000 (09:25 +0930)]
re PR libgcc/66225 (libgcc/config/rs6000/morecore.S will not build on systems with an older assembler)

PR libgcc/66225
* config/rs6000/morestack.S: Remove ".abiversion 1".

From-SVN: r223464

9 years agopt.c (tsubst_decl): SET_DECL_IMPLICIT_INSTANTIATION before register_specialization.
Jason Merrill [Wed, 20 May 2015 21:32:52 +0000 (17:32 -0400)]
pt.c (tsubst_decl): SET_DECL_IMPLICIT_INSTANTIATION before register_specialization.

* pt.c (tsubst_decl) [VAR_DECL]: SET_DECL_IMPLICIT_INSTANTIATION
before register_specialization.

From-SVN: r223461

9 years agodecl.c (grok_op_properties): Don't complain about size_t placement delete here.
Jason Merrill [Wed, 20 May 2015 21:32:46 +0000 (17:32 -0400)]
decl.c (grok_op_properties): Don't complain about size_t placement delete here.

* decl.c (grok_op_properties): Don't complain about size_t
placement delete here.
* call.c (second_parm_is_size_t): Split out from...
(non_placement_deallocation_fn_p): ...here.
(build_op_delete_call): Warn about size_t placement delete with
-Wc++14-compat.

From-SVN: r223460

9 years agoformatter.h (_GLIBCXX_TYPEID): New macro to simplify usage of typeid.
François Dumont [Wed, 20 May 2015 19:44:25 +0000 (19:44 +0000)]
formatter.h (_GLIBCXX_TYPEID): New macro to simplify usage of typeid.

2015-05-20  François Dumont  <fdumont@gcc.gnu.org>

* include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify
usage of typeid.
(_Error_formatter::_M_print_type): New.
* src/c++11/debug.cc
(_Error_formatter::_Parameter::_M_print_field): Use latter.
(_Error_formatter::_M_print_type): Implement latter using
__cxaabiv1::__cxa_demangle to print demangled type name.

From-SVN: r223455

9 years agoPromote types of RTL expressions to more derived ones.
Mikhail Maltsev [Wed, 20 May 2015 19:39:42 +0000 (19:39 +0000)]
Promote types of RTL expressions to more derived ones.

* bb-reorder.c (set_edge_can_fallthru_flag): Use rtx_jump_insn where
feasible.
(fix_up_fall_thru_edges): Likewise.
(fix_crossing_conditional_branches): Likewise. Promote jump targets
from to rtx_insn to rtx_code_label where feasible.
* bt-load.c (move_btr_def): Remove as-a cast of the value returned by
gen_move_insn (returned type changed to rtx_insn).
* builtins.c (expand_errno_check): Fix arguments of
do_compare_rtx_and_jump (now expects rtx_code_label).
(expand_builtin_acc_on_device): Likewise.
* cfgcleanup.c (try_simplify_condjump): Add cast when calling
invert_jump (now exprects rtx_jump_insn).
* cfgexpand.c (label_rtx_for_bb): Promote return type to rtx_code_label.
(construct_init_block): Use rtx_code_label.
* cfgrtl.c (block_label): Promote return type to rtx_code_label.
(try_redirect_by_replacing_jump): Use cast to rtx_jump_insn when
calling redirect_jump.
(patch_jump_insn): Likewise.
(redirect_branch_edge): Likewise.
(force_nonfallthru_and_redirect): Likewise.
(fixup_reorder_chain): Explicitly use rtx_jump_insn instead of rtx_insn
when suitable.
(rtl_lv_add_condition_to_bb): Update call of do_compare_rtx_and_jump.
* cfgrtl.h: Promote return type of block_label to rtx_code_label.
* config/bfin/bfin.c (hwloop_optimize): Fix call of emit_label_before.
* config/i386/i386.c (ix86_emit_cmove): Explicitly use rtx_code_label
to store the value retured by gen_label_rtx.
* config/mips/mips.c (mips16_split_long_branches): Promote rtx_insn to
rtx_jump_insn.
* config/sh/sh.c (gen_far_branch): Likewise. Fix call of invert_jump.
(split_branches): Fix calls of redirect_jump.
* dojump.c (jumpifnot): Promote argument type from rtx to rtx_code_label.
(jumpifnot_1): Likewise.
(jumpif): Likewise.
(jumpif_1): Likewise.
(do_jump_1): Likewise.
(do_jump): Likewise. Use rtx_code_label when feasible.
(do_jump_by_parts_greater_rtx): Likewise.
(do_jump_by_parts_zero_rtx): Likewise.
(do_jump_by_parts_equality_rtx): Likewise.
(do_compare_rtx_and_jump): Likewise.
* dojump.h: Update function prototypes.
* dse.c (emit_inc_dec_insn_before): Remove case (gen_move_insn now
returns rtx_insn).
* emit-rtl.c (emit_jump_insn_before_noloc): Promote return type to
rtx_jump_insn.
(emit_label_before): Likewise.
(emit_jump_insn_after_noloc): Likewise.
(emit_jump_insn_after_setloc): Likewise.
(emit_jump_insn_after): Likewise
(emit_jump_insn_before_setloc): Likewise.
(emit_jump_insn_before): Likewise.
(emit_label_before): Promote return type to rtx_code_label.
(emit_label): Likewise.
* except.c (sjlj_emit_dispatch_table): Use jump_target_rtx.
* explow.c (emit_stack_save): Use gen_move_insn_uncast instead of
gen_move_insn.
(emit_stack_restore): Likewise.
* expmed.c (emit_store_flag_force): Fix calls of do_compare_rtx_and_jump.
(do_cmp_and_jump): Likewise.
* expr.c (expand_expr_real_2): Likewise. Promote some local variables
from rtx to rtx_code_label.
(gen_move_insn_uncast): New function.
* expr.h: Update return type of gen_move_insn (promote to rtx_insn).
* function.c (convert_jumps_to_returns): Fix call of redirect_jump.
* gcse.c (pre_insert_copy_insn): Use rtx_insn instead of rtx.
* ifcvt.c (dead_or_predicable): Use rtx_jump_insn when calling
invert_jump_1 and redirect_jump_1.
* internal-fn.c (expand_arith_overflow_result_store): Fix call of
do_compare_rtx_and_jump.
(expand_addsub_overflow): Likewise.
(expand_neg_overflow): Likewise.
(expand_mul_overflow): Likewise.
* ira.c (split_live_ranges_for_shrink_wrap): Use rtx_insn for
return value of gen_move_insn.
* jump.c (redirect_jump): Promote argument from rtx to rtx_jump_insn.
* loop-doloop.c (add_test): Use rtx_code_label.
(doloop_modify): Likewise.
(doloop_optimize): Likewise.
* loop-unroll.c (compare_and_jump_seq): Promote rtx to rtx_code_label.
* lra-constraints.c (emit_spill_move): Remove cast of value returned
by gen_move_insn.
(inherit_reload_reg): Add cast when calling dump_insn_slim.
(split_reg): Likewise.
* modulo-sched.c (schedule_reg_moves): Remove cast of value returned by
gen_move_insn.
* optabs.c (expand_binop_directly): Remove casts of values returned by
maybe_gen_insn.
(expand_unop_direct): Likewise.
(expand_abs): Likewise.
(maybe_emit_unop_insn): Likewise.
(maybe_gen_insn): Promote return type to rtx_insn.
* optabs.h: Update prototype of maybe_gen_insn.
* postreload-gcse.c (eliminate_partially_redundant_load): Remove
redundant cast.
* recog.c (struct peep2_insn_data): Promote type of insn field to
rtx_insn.
(peep2_reinit_state): Use NULL instead of NULL_RTX.
(peep2_attempt): Remove casts of insn in peep2_insn_data.
(peep2_fill_buffer): Promote argument from rtx to rtx_insn
* recog.h (struct insn_gen_fn): Promote return types of function
pointers and operator ().from rtx to rtx_insn.
* reorg.c (fill_simple_delay_slots): Promote rtx_insn to rtx_jump_insn.
(fill_eager_delay_slots): Likewise.
(relax_delay_slots): Likewise.
(make_return_insns): Likewise.
(dbr_schedule): Likewise.
(optimize_skips): Likewise.
(reorg_redirect_jump): Likewise.
(fill_slots_from_thread): Likewise.
* reorg.h: Update prototypes.
* resource.c (find_dead_or_set_registers): Use dyn_cast to
rtx_jump_insn instead of check.  Use it's jump_target method.
* rtl.h (rtx_jump_insn::jump_label): Define new method.
(rtx_jump_insn::jump_target): Define new method.
(rtx_jump_insn::set_jump_target): Define new method.
* rtlanal.c (tablejump_p): Promote type of one local variable.
* sched-deps.c (sched_analyze_2): Promote rtx to rtx_insn_list.
(sched_analyze_insn): Likewise.
* sched-vis.c (print_insn_with_notes): Promote rtx to rtx_insn.
(print_insn): Likewise.
* stmt.c (label_rtx): Promote return type to rtx_insn.
(force_label_rtx): Likewise.
(jump_target_rtx): Define new function.
(expand_label): Use it, get rid of one cast.
(expand_naked_return): Promote rtx to rtx_code_label.
(do_jump_if_equal): Fix do_compare_rtx_and_jump call.
(expand_case): Use rtx_code_label instread of rtx where feasible.
(expand_sjlj_dispatch_table): Likewise.
(emit_case_nodes): Likewise.
* stmt.h: Declare jump_target_rtx.  Update prototypes.  Fix comments.
* store-motion.c (insert_store): Make use of new return type of
gen_move_insn and remove a cast.
(replace_store_insn): Likewise.

From-SVN: r223454

9 years ago2015-05-20 François Dumont <fdumont@gcc.gnu.org>
François Dumont [Wed, 20 May 2015 19:02:22 +0000 (19:02 +0000)]
2015-05-20  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/cpp_type_traits.h
(std::move_iterator): Delete declaration.
(std::__is_move_iterator<move_iterator>): Move partial specialization...
* include/bits/stl_iterator.h: ... here.
(std::__miter_base): Overloads for std::reverse_iterator and
std::move_iterator.
* include/bits/stl_algobase.h (std::__miter_base): Provide default
implementation.

From-SVN: r223453

9 years agore PR target/65730 (xtensa: ICE in libstdc++-v3/include/bits/atomic_base.h: In functi...
Max Filippov [Wed, 20 May 2015 18:56:14 +0000 (18:56 +0000)]
re PR target/65730 (xtensa: ICE in libstdc++-v3/include/bits/atomic_base.h: In function ‘bool std::atomic_flag_test_and_set_explicit(std::__atomic_flag_base*, std::memory_order)’)

Fix PR target/65730

2015-05-20  Max Filippov  <jcmvbkbc@gmail.com>
gcc/
* config/xtensa/xtensa.c (init_alignment_context): Replace MULT
by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).

From-SVN: r223452

9 years agothumb1-far-jump-2.c (r4): Added int in definition.
Alex Velenko [Wed, 20 May 2015 18:04:41 +0000 (18:04 +0000)]
thumb1-far-jump-2.c (r4): Added int in definition.

gcc/testsuite

2015-05-20  Alex Velenko  <Alex.Velenko@arm.com>

        * gcc.target/arm/thumb1-far-jump-2.c (r4): Added int in definition.

From-SVN: r223451

9 years ago* testsuite/util/testsuite_fs.h (nonexistent_path): Don't use tempnam.
Jonathan Wakely [Wed, 20 May 2015 17:28:04 +0000 (18:28 +0100)]
* testsuite/util/testsuite_fs.h (nonexistent_path): Don't use tempnam.

From-SVN: r223450

9 years agore PR libstdc++/66078 (20_util/specialized_algorithms/uninitialized_copy/808590.cc...
Jonathan Wakely [Wed, 20 May 2015 17:11:03 +0000 (18:11 +0100)]
re PR libstdc++/66078 (20_util/specialized_algorithms/uninitialized_copy/808590.cc fails with -std=c++11)

PR libstdc++/66078
* include/bits/stl_iterator.h (__make_move_if_noexcept_iterator): Add
overload for pointers.
* testsuite/20_util/specialized_algorithms/uninitialized_copy/
808590.cc: Add -std=gnu++03 switch.
* testsuite/20_util/specialized_algorithms/uninitialized_copy/
808590-cxx11.cc: Copy of 808590.cc to test with -std=gnu++11.
* testsuite/23_containers/vector/modifiers/push_back/
strong_guarantee.cc: New.

From-SVN: r223449

9 years agotree-ssa-threadupdate.c (mark_threaded_blocks): Properly dispose of the jump thread...
Jeff Law [Wed, 20 May 2015 16:36:30 +0000 (10:36 -0600)]
tree-ssa-threadupdate.c (mark_threaded_blocks): Properly dispose of the jump thread path when...

       * tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
        dispose of the jump thread path when the jump threading
        opportunity is cancelled.

From-SVN: r223448

9 years ago-Wmisleading-indentation: Increase test coverage
David Malcolm [Wed, 20 May 2015 16:09:19 +0000 (16:09 +0000)]
-Wmisleading-indentation: Increase test coverage

gcc/testsuite/ChangeLog:
* c-c++-common/Wmisleading-indentation.c (fn_32): New.
(fn_33_k_and_r_style): New.
(fn_33_stroustrup_style): New.
(fn_33_allman_style): New.
(fn_33_whitesmiths_style): New.
(fn_33_horstmann_style): New.
(fn_33_ratliff_banner_style): New.
(fn_33_lisp_style): New.
(fn_34_indent_dash_gnu): New.
(fn_34_indent_dash_kr): New.
(fn_34_indent_dash_orig): New.
(fn_34_indent_linux_style): New.

From-SVN: r223447

9 years agodiagnostic.c (diagnostic_print_caret_line): Fix off-by-one error when printing the...
Manuel López-Ibáñez [Wed, 20 May 2015 15:58:15 +0000 (15:58 +0000)]
diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error when printing the caret character.

gcc/ChangeLog

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

       * diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error
       when printing the caret character.

From-SVN: r223446

9 years agore PR fortran/65548 (gfc_conv_procedure_call)
Andre Vehreschild [Wed, 20 May 2015 14:56:47 +0000 (16:56 +0200)]
re PR fortran/65548 (gfc_conv_procedure_call)

gcc/fortran/ChangeLog:

2015-05-19  Andre Vehreschild  <vehre@gmx.de>

PR fortran/65548
* trans-stmt.c (gfc_trans_allocate): Always retrieve the
descriptor or a reference to a source= expression for
arrays and non-arrays, respectively.  Use a temporary
symbol and gfc_trans_assignment for all source=
assignments to allocated objects besides for class and
derived types.

gcc/testsuite/ChangeLog:

2015-05-19  Andre Vehreschild  <vehre@gmx.de>

PR fortran/65548
* gfortran.dg/allocate_with_source_5.f90: Extend test.

From-SVN: r223445

9 years agocfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P.
Marek Polacek [Wed, 20 May 2015 11:47:18 +0000 (11:47 +0000)]
cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P.

* cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P.

* c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.

From-SVN: r223442

9 years agoexpr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P.
Marek Polacek [Wed, 20 May 2015 11:46:00 +0000 (11:46 +0000)]
expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P.

* expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P.
* gimple-expr.c (gimple_cond_get_ops_from_tree): Likewise.
* gimple-fold.c (canonicalize_bool): Likewise.
(same_bool_result_p): Likewise.
* tree-if-conv.c (parse_predicate): Likewise.

From-SVN: r223441

9 years agogimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P.
Marek Polacek [Wed, 20 May 2015 11:45:07 +0000 (11:45 +0000)]
gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P.

* gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P.
* gimplify.c (gimplify_modify_expr_rhs): Likewise.

* c-ada-spec.c (dump_sloc): Use DECL_P.

From-SVN: r223440

9 years ago[AArch64][obvious] In aarch64_class_max_nregs use UNITS_PER_VREG and UNITS_PER_WORD
Kyrylo Tkachov [Wed, 20 May 2015 11:41:45 +0000 (11:41 +0000)]
[AArch64][obvious] In aarch64_class_max_nregs use UNITS_PER_VREG and UNITS_PER_WORD

* config/aarch64/aarch64.c (aarch64_class_max_nregs):
Use UNITS_PER_VREG and UNITS_PER_WORD instead of their direct
values.

From-SVN: r223439

9 years agoAdd missing declaration.
Robert Suchanek [Wed, 20 May 2015 10:35:21 +0000 (10:35 +0000)]
Add missing declaration.

gcc/
* config/mips/mips.h (micromips_globals): Declare.

From-SVN: r223438

9 years agoc-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
Marek Polacek [Wed, 20 May 2015 10:10:07 +0000 (10:10 +0000)]
c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.

* c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
* c-common.c: Likewise.

* c-decl.c: Use VAR_OR_FUNCTION_DECL_P throughout.
* c-typeck.c: Likewise.

From-SVN: r223437

9 years agoIntroduce TV_INITIALIZE_RTL
David Malcolm [Wed, 20 May 2015 09:23:36 +0000 (09:23 +0000)]
Introduce TV_INITIALIZE_RTL

gcc/ChangeLog:
* timevar.def (TV_INITIALIZE_RTL): New.
* toplev.c (initialize_rtl): Use an auto_timevar to account this
function's time to TV_INITIALIZE_RTL.

From-SVN: r223436

9 years agolibcpp: Eliminate most of the non-const/reference-returning inline fns
David Malcolm [Wed, 20 May 2015 09:13:19 +0000 (09:13 +0000)]
libcpp: Eliminate most of the non-const/reference-returning inline fns

gcc/java/ChangeLog:
* jcf-parse.c (set_source_filename): Replace write through
ORDINARY_MAP_FILE_NAME with direct access to "to_file".

libcpp/ChangeLog:
* include/line-map.h (MAP_START_LOCATION): Eliminate the non-const
variant, and tweak comment for the const variant.
(ORDINARY_MAP_STARTING_LINE_NUMBER): Drop the non-const variant.
(ORDINARY_MAP_INCLUDER_FILE_INDEX): Likewise.
(ORDINARY_MAP_IN_SYSTEM_HEADER_P): Likewise.
(SET_ORDINARY_MAP_NUMBER_OF_COLUMN_BITS): Delete.
(ORDINARY_MAP_FILE_NAME): Drop the non-const variant.
(MACRO_MAP_MACRO): Likewise.
(MACRO_MAP_NUM_MACRO_TOKENS): Likewise.
(MACRO_MAP_LOCATIONS): Likewise.
(MACRO_MAP_EXPANSION_POINT_LOCATION): Likewise.
* line-map.c (linemap_add): Replace writes through macros with
direct field accesses.
(linemap_enter_macro): Likewise.
(linemap_line_start): Likewise.

From-SVN: r223435

9 years agotree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless gimple_build_nop...
Ilya Enkovich [Wed, 20 May 2015 08:23:00 +0000 (08:23 +0000)]
tree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless gimple_build_nop calls.

* tree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless
gimple_build_nop calls.
(chkp_find_bounds_for_elem): Likewise.
(chkp_get_zero_bounds): Likewise.
(chkp_get_none_bounds): Likewise.
(chkp_get_bounds_by_definition): Likewise.
(chkp_generate_extern_var_bounds): Likewise.
(chkp_get_bounds_for_decl_addr): Likewise.
(chkp_get_bounds_for_string_cst): Likewise.

From-SVN: r223434

9 years agore PR tree-optimization/65447 (AArch64: iv-opt causes bad addressing)
Bin Cheng [Wed, 20 May 2015 05:15:56 +0000 (05:15 +0000)]
re PR tree-optimization/65447 (AArch64: iv-opt causes bad addressing)

PR tree-optimization/65447
* tree-ssa-loop-ivopts.c (struct iv_use): New fields.
(dump_use, dump_uses): Support to dump sub use.
(record_use): New parameters to support sub use.  Remove call to
dump_use.
(record_sub_use, record_group_use): New functions.
(compute_max_addr_offset, split_all_small_groups): New functions.
(group_address_uses, rewrite_use_address): New functions.
(strip_offset): New declaration.
(find_interesting_uses_address): Call record_group_use.
(add_candidate): New assertion.
(infinite_cost_p): Move definition forward.
(add_costs): Check INFTY cost and return immediately.
(get_computation_cost_at): Clear setup cost and dependent bitmap
for sub uses.
(determine_use_iv_cost_address): Compute cost for sub uses.
(rewrite_use_address_1): Rename from old rewrite_use_address.
(free_loop_data): Free sub uses.
(tree_ssa_iv_optimize_loop): Call group_address_uses.

gcc/testsuite
PR tree-optimization/65447
* gcc.dg/tree-ssa/pr65447.c: New test.

From-SVN: r223433

9 years agoaarch-common-protos.h (struct mem_cost_table): Added new fields loadv and storev.
Kugan Vivekanandarajah [Wed, 20 May 2015 03:05:10 +0000 (03:05 +0000)]
aarch-common-protos.h (struct mem_cost_table): Added new fields loadv and storev.

gcc/ChangeLog:

2015-05-20  Kugan Vivekanandarajah  <kuganv@linaro.org>
    Jim Wilson  <jim.wilson@linaro.org>

* config/arm/aarch-common-protos.h (struct mem_cost_table): Added
new  fields loadv and storev.
* config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
Initialize loadv and storev.
* config/arm/aarch-cost-tables.h (generic_extra_costs): Likewise.
(cortexa53_extra_costs): Likewise.
(cortexa57_extra_costs): Likewise.
(xgene1_extra_costs): Likewise.
* config/aarch64/aarch64.c (aarch64_rtx_costs): Update vector
rtx_costs.

2015-05-20  Kugan Vivekanandarajah  <kuganv@linaro.org>

* config/arm/arm.c (cortexa9_extra_costs): Initialize loadv and
 storev.
(cortexa8_extra_costs): Likewise.
(cortexa5_extra_costs): Likewise.
(cortexa7_extra_costs): Likewise.
(cortexa12_extra_costs): Likewise.
(cortexa15_extra_costs): Likewise.
(v7m_extra_costs): Likewise.

Co-Authored-By: Jim Wilson <jim.wilson@linaro.org>
From-SVN: r223432

9 years agotree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread instead of open...
Jeff Law [Wed, 20 May 2015 02:21:29 +0000 (20:21 -0600)]
tree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread instead of open-coded version.

       * tree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread
        instead of open-coded version.  Also delete the jump thread created
        within this function.

From-SVN: r223431

9 years agore PR c++/65954 (gcc segfaults on the following input with a syntax error)
Nathan Sidwell [Wed, 20 May 2015 01:54:09 +0000 (01:54 +0000)]
re PR c++/65954 (gcc segfaults on the following input with a syntax error)

cp/
PR c++/65954
* typeck.c (finish_class_member_access_expr): Diagnose failed
lookup of enum class member.

testsuite/
* g++.dg/cpp0x/pr65954.C: New.

From-SVN: r223430

9 years agors6000.c (rs6000_emit_allocate_stack): Return stack adjusting insn.
Alan Modra [Wed, 20 May 2015 01:30:48 +0000 (11:00 +0930)]
rs6000.c (rs6000_emit_allocate_stack): Return stack adjusting insn.

* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Return
stack adjusting insn.  Formatting.
(rs6000_emit_prologue): Track stack adjusting insn, and use of
r12.  If possible, emit first -fsplit-stack arg pointer insn
before stack adjust.  Don't use r12 to save cr if split-stack.

From-SVN: r223427

9 years agors6000-common.c (TARGET_SUPPORTS_SPLIT_STACK): Define.
Alan Modra [Wed, 20 May 2015 01:26:28 +0000 (10:56 +0930)]
rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK): Define.

gcc/
* common/config/rs6000/rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK):
Define.
(rs6000_supports_split_stack): New function.
* gcc/config/rs6000/rs6000.c (machine_function): Add
split_stack_arg_pointer.
(TARGET_EXTRA_LIVE_ON_ENTRY, TARGET_INTERNAL_ARG_POINTER): Define.
(setup_incoming_varargs): Use crtl->args.internal_arg_pointer
rather than virtual_incoming_args_rtx.
(rs6000_va_start): Likewise.
(split_stack_arg_pointer_used_p): New function.
(rs6000_emit_prologue): Set up arg pointer for -fsplit-stack.
(morestack_ref): New var.
(gen_add3_const, rs6000_expand_split_stack_prologue,
rs6000_internal_arg_pointer, rs6000_live_on_entry,
rs6000_split_stack_space_check): New functions.
(rs6000_elf_file_end): Call file_end_indicate_split_stack.
* gcc/config/rs6000/rs6000.md (UNSPEC_STACK_CHECK): Define.
(UNSPECV_SPLIT_STACK_RETURN): Define.
(split_stack_prologue, load_split_stack_limit,
load_split_stack_limit_di, load_split_stack_limit_si,
split_stack_return, split_stack_space_check): New expands and insns.
* gcc/config/rs6000/rs6000-protos.h
(rs6000_expand_split_stack_prologue): Declare.
(rs6000_split_stack_space_check): Declare.
libgcc/
* config/rs6000/morestack.S: New.
* config/rs6000/t-stack-rs6000: New.
* config.host (powerpc*-*-linux*): Add t-stack and t-stack-rs6000
to tmake_file.
* generic-morestack.c: Don't build for powerpc 32-bit.

From-SVN: r223426

9 years agors6000.c (struct rs6000_stack): Correct comments.
Alan Modra [Wed, 20 May 2015 01:17:45 +0000 (10:47 +0930)]
rs6000.c (struct rs6000_stack): Correct comments.

* config/rs6000/rs6000.c (struct rs6000_stack): Correct comments.
(rs6000_stack_info): Don't zero offsets when not saving registers.
(debug_stack_info): Adjust to omit printing unused offsets,
as before.
(direct_return): Test vrsave_size rather than vrsave_mask.
(rs6000_emit_prologue): Likewise.  Remove redundant altivec tests.
(rs6000_emit_epilogue): Likewise.

From-SVN: r223425

9 years agors6000.c (rs6000_stack_info): Don't zero offsets when not saving registers.
Alan Modra [Wed, 20 May 2015 01:15:59 +0000 (10:45 +0930)]
rs6000.c (rs6000_stack_info): Don't zero offsets when not saving registers.

* config/rs6000/rs6000.c (rs6000_stack_info): Don't zero offsets
when not saving registers.
(debug_stack_info): Adjust to omit printing unused offsets,
as before.
(rs6000_emit_epilogue): Adjust use_backchain_to_restore_sp
expression.

From-SVN: r223424

9 years agofixup hash table descriptor in winnt.c
Trevor Saunders [Wed, 20 May 2015 01:03:51 +0000 (01:03 +0000)]
fixup hash table descriptor in winnt.c

gcc/ChangeLog:

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

PR c++/65835
* config/i386/winnt.c (struct wrapped_symbol_hasher): Change
value_type to const char *.

From-SVN: r223423

9 years agoDaily bump.
GCC Administrator [Wed, 20 May 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r223422