gcc.git
9 years agore PR rtl-optimization/66237 (FAIL: gcc.dg/tree-prof/pr34999.c compilation, -fprofil...
Mikhail Maltsev [Fri, 22 May 2015 22:58:22 +0000 (22:58 +0000)]
re PR rtl-optimization/66237 (FAIL: gcc.dg/tree-prof/pr34999.c compilation,  -fprofile-use -D_PROFILE_USE (internal compiler error))

PR rtl-optimization/66237

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

From-SVN: r223596

9 years agopa.md (non-canonical shift-add insns): Remove.
Jeff Law [Fri, 22 May 2015 21:25:26 +0000 (15:25 -0600)]
pa.md (non-canonical shift-add insns): Remove.

* 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.

From-SVN: r223592

9 years agore PR other/63387 (Optimize pairs of isnan() calls into a single isunordered())
Marc Glisse [Fri, 22 May 2015 21:05:26 +0000 (23:05 +0200)]
re PR other/63387 (Optimize pairs of isnan() calls into a single isunordered())

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.

From-SVN: r223591

9 years agoconvert.c (convert_to_integer, [...]): Include the types in the error message.
Marc Glisse [Fri, 22 May 2015 20:59:27 +0000 (22:59 +0200)]
convert.c (convert_to_integer, [...]): Include the types in the error message.

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.

From-SVN: r223590

9 years agolibiberty.h (asprintf): Don't declare if HAVE_DECL_ASPRINTF is not defined.
Yunlian Jiang [Fri, 22 May 2015 20:53:45 +0000 (20:53 +0000)]
libiberty.h (asprintf): Don't declare if HAVE_DECL_ASPRINTF is not defined.

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.

From-SVN: r223589

9 years agomatch.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New simplifications.
Marc Glisse [Fri, 22 May 2015 20:37:04 +0000 (22:37 +0200)]
match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New simplifications.

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.

From-SVN: r223587

9 years agopa.md (integer_indexed_store splitters): Use mem_shadd_operand.
Jeff Law [Fri, 22 May 2015 20:17:09 +0000 (14:17 -0600)]
pa.md (integer_indexed_store splitters): Use mem_shadd_operand.

* 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.

From-SVN: r223586

9 years agocombine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into (plus (ashift X...
Jeff Law [Fri, 22 May 2015 20:08:43 +0000 (14:08 -0600)]
combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into (plus (ashift X log2) Y) if...

* 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.

From-SVN: r223583

9 years agoadvsimd-intrinsics.exp: Set dg-do-what-default to compile only on ARM targets without...
Sandra Loosemore [Fri, 22 May 2015 16:34:35 +0000 (12:34 -0400)]
advsimd-intrinsics.exp: Set dg-do-what-default to compile only on ARM targets without arm_neon_hw...

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.

From-SVN: r223580

9 years agopa.c (mem_shadd_or_shadd_rtx_p): New function factored out of hppa_legitimize_address...
Jeff Law [Fri, 22 May 2015 16:13:07 +0000 (10:13 -0600)]
pa.c (mem_shadd_or_shadd_rtx_p): New function factored out of hppa_legitimize_address to handle both forms of a...

* 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.

From-SVN: r223579

9 years agoconfig.host (i[34567]-*-*, x86_64-*-*): Add t-crtfm instead of i386/t-crtfm to tmake_...
Uros Bizjak [Fri, 22 May 2015 14:39:22 +0000 (16:39 +0200)]
config.host (i[34567]-*-*, x86_64-*-*): Add t-crtfm instead of i386/t-crtfm to tmake_file.

* 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.

From-SVN: r223578

9 years ago[AArch64] PR target/65491: Classify V1TF vectors as AAPCS64 short vectors rather...
Kyrylo Tkachov [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.

From-SVN: r223577

9 years agore PR c++/65598 (Fix column location for 'explicit')
Paolo Carlini [Fri, 22 May 2015 14:14:38 +0000 (14:14 +0000)]
re PR c++/65598 (Fix column location for 'explicit')

/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.

From-SVN: r223576

9 years agotree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern member.
Richard Biener [Fri, 22 May 2015 13:52:58 +0000 (13:52 +0000)]
tree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern member.

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.

From-SVN: r223574

9 years ago[multiple changes]
Arnaud Charlet [Fri, 22 May 2015 13:33:18 +0000 (15:33 +0200)]
[multiple changes]

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.

From-SVN: r223573

9 years agotree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P for CSWTCH temporary.
Aldy Hernandez [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.

* tree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P
for CSWTCH temporary.

From-SVN: r223572

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

From-SVN: r223571

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

From-SVN: r223570

9 years agosem_res.adb (Resolve_Actuals): If the call is to an overridden operation...
Ed Schonberg [Fri, 22 May 2015 13:17:54 +0000 (13:17 +0000)]
sem_res.adb (Resolve_Actuals): If the call is to an overridden operation...

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.

From-SVN: r223569

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

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.

From-SVN: r223567

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

* gnatvsn.ads: Minor code reorg to remember more easily to update
variables.

From-SVN: r223566

9 years agosem_ch10.adb (Analyze_With_Clause): In ASIS_Mode...
Ed Schonberg [Fri, 22 May 2015 13:04:01 +0000 (13:04 +0000)]
sem_ch10.adb (Analyze_With_Clause): In ASIS_Mode...

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.

From-SVN: r223565

9 years ago[multiple changes]
Arnaud Charlet [Fri, 22 May 2015 13:01:37 +0000 (15:01 +0200)]
[multiple changes]

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.

From-SVN: r223563

9 years agoeinfo.ads (Is_Atomic_Or_VFA): Move to XEINFO INLINES section.
Eric Botcazou [Fri, 22 May 2015 12:56:34 +0000 (12:56 +0000)]
einfo.ads (Is_Atomic_Or_VFA): Move to XEINFO INLINES section.

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 "||".

From-SVN: r223562

9 years agoeinfo.ads (Has_Volatile_Full_Access): Rename into...
Eric Botcazou [Fri, 22 May 2015 12:54:59 +0000 (12:54 +0000)]
einfo.ads (Has_Volatile_Full_Access): Rename into...

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.

From-SVN: r223561

9 years agoexp_ch5.adb, [...]: This is a general change that deals with the fact that most of...
Robert Dewar [Fri, 22 May 2015 12:53:21 +0000 (12:53 +0000)]
exp_ch5.adb, [...]: This is a general change that deals with the fact that most of the special...

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

* exp_ch5.adb, layout.adb, einfo.adb, einfo.ads, sem_prag.adb,
freeze.adb, freeze.ads, sem_util.adb, sem_util.ads, exp_ch2.adb,
exp_ch4.adb, errout.adb, exp_aggr.adb, sem_ch13.adb: This is a general
change that deals with the fact that most of the special coding for
Atomic should also apply to the case of Volatile_Full_Access.
A new attribute Is_Atomic_Or_VFA is introduced, and many of the
references to Is_Atomic now use this new attribute.

From-SVN: r223560

9 years agoexp_ch4.adb (Expand_N_Op_Eq): Introduce 'Machine for 'Result comparison.
Robert Dewar [Fri, 22 May 2015 12:51:36 +0000 (12:51 +0000)]
exp_ch4.adb (Expand_N_Op_Eq): Introduce 'Machine for 'Result comparison.

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

* exp_ch4.adb (Expand_N_Op_Eq): Introduce 'Machine for 'Result
comparison.

From-SVN: r223559

9 years ago[ARM] Handle UNSPEC_VOLATILE in rtx costs and don't recurse inside the unspec
Kyrylo Tkachov [Fri, 22 May 2015 12:51:34 +0000 (12:51 +0000)]
[ARM] Handle UNSPEC_VOLATILE in rtx costs and don't recurse inside the unspec

* config/arm/arm.c (arm_new_rtx_costs): Handle UNSPEC_VOLATILE.
(arm_unspec_cost): Allow UNSPEC_VOLATILE.  Do not recurse inside
unknown unspecs.

From-SVN: r223558

9 years ago[multiple changes]
Arnaud Charlet [Fri, 22 May 2015 12:50:35 +0000 (14:50 +0200)]
[multiple changes]

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

* sprint.adb (Source_Dump): When generating debug files, deal
with the case of a stand-alone package instantiation by dumping
together the spec and the body in the common debug file.

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

* sem_ch13.adb (Minimum_Size): Size is zero for null range
discrete subtype.

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

* einfo.adb (Anonymous_Master): This attribute now applies
to package and subprogram bodies.
(Set_Anonymous_Master): This attribute now applies to package and
subprogram bodies.
(Write_Field36_Name): Add output for package and subprogram bodies.
* einfo.ads Update the documentation on attribute Anonymous_Master
along with occurrences in entities.
* exp_ch4.adb (Create_Anonymous_Master): Reimplemented to
handle spec and body anonymous masters of the same unit.
(Current_Anonymous_Master): Reimplemented. Handle a
package instantiation that acts as a compilation unit.
(Insert_And_Analyze): Reimplemented.

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

* sem_ch10.adb (Analyze_With_Clause): A limited_with_clause on a
predefined unit is treated as a regular with_clause.

From-SVN: r223557

9 years agoMinor reformatting.
Arnaud Charlet [Fri, 22 May 2015 12:46:00 +0000 (14:46 +0200)]
Minor reformatting.

From-SVN: r223556

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

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

* sem_ch12.adb, prj.ads, makeutl.ads, sem_ch6.adb, prj-nmsc.adb,
prj-conf.adb, sem_disp.adb: Minor reformatting.

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

* clean.adb (Parse_Cmd_Line): For native gnatclean, check
for switch -P and, if found and gprclean is available, invoke
silently gprclean.
* make.adb (Initialize): For native gnatmake, check for switch -P
and, if found and gprbuild is available, invoke silently gprbuild.

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

* sem_ch13.adb (Validate_Unchecked_Conversions): Also issue
specific warning for discrete types when the source is larger
than the target.

From-SVN: r223555

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

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

* einfo.ads, einfo.adb (Incomplete_Actuals): New attribute of
package instantiations. Holds the list of actuals in the instance
that are incomplete types, to determine where the corresponding
instance body must be placed.
* sem_ch6.adb (Conforming_Types): An incomplete type used as an
actual in an instance matches an incomplete formal.
* sem_disp.adb (Check_Dispatching_Call): Handle missing case of
explicit dereference.
(Inherited_Subprograms): In the presence of a limited view there
are no subprograms to inherit.
* sem_ch12.adb (Preanalyze_Actuals): Build list of incomplete
actuals of instance, for later placement of instance body and
freeze nodes for actuals.
(Install_Body): In the presence of actuals that incomplete types
from a limited view, the instance body cannot be placed after
the declaration because full views have not been seen yet. Any
use of the non-limited views in the instance body requires
the presence of a regular with_clause in the enclosing unit,
and will fail if this with_clause is missing.  We place the
instance body at the beginning of the enclosing body, which is
the unit being compiled, and ensure that freeze nodes for the
full views of the incomplete types appear before the instance.

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

* makeutl.ads, prj-conf.adb, prj-nmsc.adb, prj.ads
(In_Place_Option): Removed.
(Relocate_Build_Tree_Option): New constant.
(Root_Dir_Option): New constant.
(Obj_Root_Dir): Removed.
(Build_Tree_Dir): New variable.
(Root_Src_Tree): Removed.
(Root_Dir): New variable.
* prj-conf.adb (Get_Or_Create_Configuration_File): Add check
for improper relocation.
* prj-nmsc.adb (Locate_Directory): Add check for improper
relocation.

From-SVN: r223553

9 years agore PR middle-end/66251 (ICE in vect_get_vec_def_for_operand, at tree-vect-stmts.c...
Richard Biener [Fri, 22 May 2015 12:34:46 +0000 (12:34 +0000)]
re PR middle-end/66251 (ICE in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1484)

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

PR tree-optimization/66251
* tree-vect-stmts.c (vectorizable_conversion): Properly
set STMT_VINFO_VEC_STMT even for the SLP case.

* gfortran.fortran-torture/compile/pr66251.f90: New testcase.

From-SVN: r223552

9 years agoeinfo.adb (Default_Init_Cond_Procedure): Code cleanup.
Hristian Kirtchev [Fri, 22 May 2015 12:34:33 +0000 (12:34 +0000)]
einfo.adb (Default_Init_Cond_Procedure): Code cleanup.

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

* einfo.adb (Default_Init_Cond_Procedure): Code cleanup. The
attribute now applies to the base type.
(Has_Default_Init_Cond): Now applies to the base type.
(Has_Inherited_Default_Init_Cond): Now applies to the base type.
(Set_Default_Init_Cond_Procedure): Code cleanup. The attribute now
applies to the base type.
(Set_Has_Default_Init_Cond): Now applies to the base type.
(Set_Has_Inherited_Default_Init_Cond): Now applies to the base type.
* exp_ch3.adb (Expand_N_Object_Declaration): No need to use the
base type when adding a call to the Default_Initial_Condition.

From-SVN: r223551

9 years ago2015-05-22 Hristian Kirtchev <kirtchev@adacore.com>
Hristian Kirtchev [Fri, 22 May 2015 12:32:55 +0000 (12:32 +0000)]
2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb Node36 is now used as Anonymous_Master. Flag253
is now unused.
(Anonymous_Master): New routine.
(Has_Anonymous_Master): Removed.
(Set_Anonymous_Master): New routine.
(Set_Has_Anonymous_Master): Removed.
(Write_Entity_Flags): Remove the output for Has_Anonymous_Maser.
(Write_Field36_Name): Add output for Anonymous_Master.
* einfo.ads Add new attribute Anonymous_Master along with
occurrences in nodes. Remove attribute Has_Anonymous_Master along
with occurrences in nodes.
(Anonymous_Master): New routine along with pragma Inline.
(Has_Anonymous_Master): Removed along with pragma Inline.
(Set_Anonymous_Master): New routine along with pragma Inline.
(Set_Has_Anonymous_Master): Removed along with pragma Inline.
* exp_ch4.adb (Create_Anonymous_Master): New routine.
(Current_Anonymous_Master): Reimplemented.

From-SVN: r223550

9 years agofreeze.adb (Freeze_Profile): Suppress warning if imported subprogram is not at librar...
Bob Duff [Fri, 22 May 2015 12:31:03 +0000 (12:31 +0000)]
freeze.adb (Freeze_Profile): Suppress warning if imported subprogram is not at library level.

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

* freeze.adb (Freeze_Profile): Suppress warning if imported
subprogram is not at library level.

From-SVN: r223549

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