gcc.git
9 years agonios2.c (nios2_emit_stack_limit_check): Fix uninitialized-variable warning.
Sandra Loosemore [Thu, 16 Jul 2015 03:30:31 +0000 (23:30 -0400)]
nios2.c (nios2_emit_stack_limit_check): Fix uninitialized-variable warning.

2015-07-16  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/nios2/nios2.c (nios2_emit_stack_limit_check): Fix
uninitialized-variable warning.

From-SVN: r225857

9 years agore PR target/65249 (unable to find a register to spill in class 'R0_REGS' when compil...
Kaz Kojima [Thu, 16 Jul 2015 00:48:33 +0000 (00:48 +0000)]
re PR target/65249 (unable to find a register to spill in class 'R0_REGS' when compiling protobuf on sh4)

PR target/65249
* config/sh/sh.md (movdi): Split simple reg move to two movsi when
  the destination is R0 so as to lower R0-register pressure.

From-SVN: r225856

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

From-SVN: r225855

9 years agore PR target/66866 (incorrect load address on manual vector shuffle)
Uros Bizjak [Wed, 15 Jul 2015 22:20:17 +0000 (00:20 +0200)]
re PR target/66866 (incorrect load address on manual vector shuffle)

PR target/66866
* config/i386/i386-protos.h (ix86_expand_pextr): New prototype.
* config/i386/i386.c (ix86_expand_pextr): New function.
(ix86_expand_pinsr): Handle V1TI and TI modes.  Call ix86_expand_pextr
for non-lowpart subregs.
* config/i386/i386.md (extzv<mode>): Expand with ix86_expand_pextr.
(insv<mode>): Use SWI248 mode iterator.
(insv<mode>_1): Ditto.

testsuite/ChangeLog:

PR target/66866
* g++.dg/pr66866.C: New test.

From-SVN: r225852

9 years agoOne of the code refactorings introducing phi node iterators modified the semantics...
Aditya Kumar [Wed, 15 Jul 2015 21:37:07 +0000 (21:37 +0000)]
One of the code refactorings introducing phi node iterators modified the semantics of this code.

One of the code refactorings introducing phi node iterators modified
the semantics of this code.  Revert that change to what was before.

        * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Point
        iterator to use_stmt.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r225851

9 years ago[graphite] discard scops for which entry==exit
Aditya Kumar [Wed, 15 Jul 2015 21:37:01 +0000 (21:37 +0000)]
[graphite] discard scops for which entry==exit

In this patch we discard the scops where entry and exit are the same BB.
This is an effort to remove graphite-scop-detection.c:limit_scops.
Removing the limit_scops function introduces correctness regressions.
We are making relevant changes in incremental steps to fix those bugs,
and finally we intend to remove limit_scops.

2015-06-29  Aditya Kumar  <aditya.k7@samsung.com>
                Sebastian Pop <s.pop@samsung.com>

        * graphite-scop-detection.c (build_scops_1): Discard scops for which entry==exit

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r225850

9 years agographite-scop-detection.c (stmt_simple_for_scop_p): Bail out in case of a return...
Aditya Kumar [Wed, 15 Jul 2015 21:36:55 +0000 (21:36 +0000)]
graphite-scop-detection.c (stmt_simple_for_scop_p): Bail out in case of a return statement in scop.

        * graphite-scop-detection.c (stmt_simple_for_scop_p): Bail out in
        case of a return statement in scop.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r225849

9 years agographite-sese-to-poly.c (parameter_index_in_region): Only handle INTEGER_TYPE parameters.
Aditya Kumar [Wed, 15 Jul 2015 21:36:49 +0000 (21:36 +0000)]
graphite-sese-to-poly.c (parameter_index_in_region): Only handle INTEGER_TYPE parameters.

        * graphite-sese-to-poly.c (parameter_index_in_region): Only handle
        INTEGER_TYPE parameters.
        (scan_tree_for_params): Handle REAL_CST, COMPLEX_CST, and
        VECTOR_CST in scan_tree_for_params.
        (add_conditions_to_domain): Only constrain on INTEGER_TYPE.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r225848

9 years agogimple-pretty-print.h: Don't include pretty-print.h.
Andrew MacLeod [Wed, 15 Jul 2015 19:57:03 +0000 (19:57 +0000)]
gimple-pretty-print.h: Don't include pretty-print.h.

* gimple-pretty-print.h: Don't include pretty-print.h.
* tree-streamer.h: Don't include lto-streamer.h.
* gimple-streamer.h: Include tree-streamer.h rather than lto-streamer.h.
* gimple-streamer-in.c: Remove redundant includes.
* gimple-streamer-out.c: Likewise.
* ipa-devirt.c: Likewise.
* ipa-icf.c: Likewise.
* ipa-inline-analysis.c: Likewise.
* ipa-polymorphic-call.c: Likewise.
* ipa-profile.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-pure-const.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-streamer-out.c: Likewise.
* lto-streamer.c: Likewise.
* tree-streamer-in.c: Likewise.
* tree-streamer-out.c: Likewise.
* tree-streamer.c: Likewise.
* lto/lto.c: Remove redundant includes.

From-SVN: r225847

9 years agoopth-gen.awk: Check for UNKNOWN_LOCATION rather than GCC_TM_H, don't include input.h.
Andrew MacLeod [Wed, 15 Jul 2015 19:50:23 +0000 (19:50 +0000)]
opth-gen.awk: Check for UNKNOWN_LOCATION rather than GCC_TM_H, don't include input.h.

2015-07-15  Andrew MacLeod  <amacleod@redhat.com>

* opth-gen.awk: Check for UNKNOWN_LOCATION rather than GCC_TM_H, don't
include input.h.
* opts.c: Remove multiline #include comment.

2015-07-15  Andrew MacLeod  <amacleod@redhat.com>

* java/expr.c: Remove multiline #include comment.

2015-07-15  Andrew MacLeod  <amacleod@redhat.com>

* fortran/trans-types.c: Remove multiline #include comment.

2015-07-15  Andrew MacLeod  <amacleod@redhat.com>

* c-family/c-opts.c: Remove multiline #include comment.

From-SVN: r225846

9 years agomkoffload.c (process): Add C++ protection to emitted code.
Nathan Sidwell [Wed, 15 Jul 2015 18:54:18 +0000 (18:54 +0000)]
mkoffload.c (process): Add C++ protection to emitted code.

* config/nvptx/mkoffload.c (process): Add C++ protection to
emitted code.

From-SVN: r225844

9 years agore PR libgcc/66854 (libgcc2.c:1846:9: internal compiler error: Segmentation fault)
Michael Meissner [Wed, 15 Jul 2015 17:15:37 +0000 (17:15 +0000)]
re PR libgcc/66854 (libgcc2.c:1846:9: internal compiler error: Segmentation fault)

2015-07-14  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/66854
* config/rs6000/rs6000.c (rs6000_pass_by_reference): Move test for
null before IEEE 128-bit floating point support patch.

From-SVN: r225843

9 years agosimplify-rtx.c (simplify_ternary_operation): Add simplification for (!c) != {0,....
Bill Schmidt [Wed, 15 Jul 2015 16:31:46 +0000 (16:31 +0000)]
simplify-rtx.c (simplify_ternary_operation): Add simplification for (!c) != {0,...,0} ? a : b for vector modes.

[gcc]

2015-07-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* simplify-rtx.c (simplify_ternary_operation): Add simplification
for (!c) != {0,...,0} ? a : b for vector modes.

[gcc/testsuite]

2015-07-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/vec-cmp-sel.c: New test.

From-SVN: r225840

9 years agoLimit AA walking when inlining analysis examines parameters
Paolo Bonzini [Wed, 15 Jul 2015 15:58:43 +0000 (15:58 +0000)]
Limit AA walking when inlining analysis examines parameters

2015-07-15  Paolo Bonzini  <bonzini@gnu.org>
    Martin Jambor  <mjambor@suse.cz>

* ipa-inline-analysis.c (unmodified_parm_or_parm_agg_item): Accept
struct func_body_info* instead of struct ipa_node_params*, expecting
fbi->info to be filled in.  Replace throughout.  Adjust call to
ipa_load_from_parm_agg.
(set_cond_stmt_execution_predicate): Accept struct func_body_info*
instead of struct ipa_node_params*.  Adjust calls to other functions
so that they pass either fbi or fbi->info.
(set_switch_stmt_execution_predicate): Likewise.
(will_be_nonconstant_predicate): Likewise.
(compute_bb_predicates): Likewise.
(estimate_function_body_sizes): Move asserts earlier.  Fill in
struct func_body_info, replace parms_info with fbi.info.  Adjust
calls to functions that now accept struct func_body_info.
* ipa-prop.c (param_aa_status, struct ipa_bb_info): Move to ipa-prop.h.
(struct func_body_info): Likewise.
(ipa_load_from_parm_agg_1): Rename to ipa_load_from_parm_agg,
remove static.  Adjust callers.
(ipa_load_from_parm_agg): Remove.
* ipa-prop.h (param_aa_status, ipa_bb_info): Move from ipa-prop.c.
(func_body_info): Likewise.
(ipa_load_from_parm_agg): Adjust prototype.

Co-Authored-By: Martin Jambor <mjambor@suse.cz>
From-SVN: r225838

9 years agocheck_GNU_style.sh: Fix quoting in cat_with_prefix
Tom de Vries [Wed, 15 Jul 2015 15:41:21 +0000 (15:41 +0000)]
check_GNU_style.sh: Fix quoting in cat_with_prefix

2015-07-15  Tom de Vries  <tom@codesourcery.com>

* check_GNU_style.sh (cat_with_prefix): Fix quoting.

From-SVN: r225837

9 years agoremove some usage of expr_list from read_rtx
Trevor Saunders [Wed, 15 Jul 2015 14:38:13 +0000 (14:38 +0000)]
remove some usage of expr_list from read_rtx

gcc/ChangeLog:

2015-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* gensupport.c (rtx_handle_directive): Adjust.
* read-rtl.c (apply_iterators): Take vector to add rtxs to
instead of expr list rtx.
(add_define_attr_for_define_subst): Likewise.
(add_define_subst_attr): Likewise.
(read_subst_mapping): Likewise.
(read_rtx): Likewise.
* rtl.h (read_rtx): Adjust.

From-SVN: r225833

9 years agore PR c++/65091 (decltype(~arg) fails for template functions)
Jason Merrill [Wed, 15 Jul 2015 14:13:22 +0000 (10:13 -0400)]
re PR c++/65091 (decltype(~arg) fails for template functions)

PR c++/65091
* parser.c (cp_parser_unqualified_id): Don't accept ~x in a
template if there is no type x in scope.

From-SVN: r225831

9 years ago[AArch64] Use cinc mnemonic for *csinc2<mode>_insn
Kyrylo Tkachov [Wed, 15 Jul 2015 14:11:18 +0000 (14:11 +0000)]
[AArch64] Use cinc mnemonic for *csinc2<mode>_insn

* config/aarch64/aarch64.md (*csinc2<mode>_insn): Use cinc mnemonic.

From-SVN: r225830

9 years agore PR target/58066 (__tls_get_addr is called with misaligned stack on x86-64)
Uros Bizjak [Wed, 15 Jul 2015 13:42:07 +0000 (15:42 +0200)]
re PR target/58066 (__tls_get_addr is called with misaligned stack on x86-64)

PR target/58066
* config/i386/i386.md (*tls_global_dynamic_64_<mode>): Depend on SP_REG.
(*tls_local_dynamic_base_64_<mode>): Ditto.
(*tls_local_dynamic_base_64_largepic): Ditto.
(tls_global_dynamic_64_<mode>): Update expander pattern.
(tls_local_dynamic_base_64_<mode>): Ditto.

From-SVN: r225829

9 years agoFix libgomp tests.
Maxim Blumenthal [Wed, 15 Jul 2015 13:13:10 +0000 (13:13 +0000)]
Fix libgomp tests.

2015-07-15  Maxim Blumenthal  <maxim.blumenthal@intel.com>

libgomp/
* testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
of EPS parameter from integer to real.
* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
type of EPS parameter from integer to real.

From-SVN: r225827

9 years agofold-const.c (fold_binary_loc): Move bool_var != 0 -> bool_var and bool_var == 1...
Richard Biener [Wed, 15 Jul 2015 12:25:57 +0000 (12:25 +0000)]
fold-const.c (fold_binary_loc): Move bool_var != 0 -> bool_var and bool_var == 1 -> bool_var simplifications ...

2015-07-15  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Move bool_var != 0 -> bool_var
and bool_var == 1 -> bool_var simplifications ...
* match.pd: ... to patterns here.  Factor out negate_expr_p
cases from the A - B -> A + (-B) patterns as negate_expr_p
predicate and add a -(A + B) -> (-B) - A pattern.

From-SVN: r225825

9 years agoobjc-torture.exp (OBJC_TORTURE_OPTIONS): Remove { -O3 -fomit-frame-pointer }...
Richard Biener [Wed, 15 Jul 2015 11:47:54 +0000 (11:47 +0000)]
objc-torture.exp (OBJC_TORTURE_OPTIONS): Remove { -O3 -fomit-frame-pointer }...

2015-07-15  Richard Biener  <rguenther@suse.de>

* lib/objc-torture.exp (OBJC_TORTURE_OPTIONS): Remove
{ -O3 -fomit-frame-pointer },
{ -O3 -fomit-frame-pointer -funroll-loops } and
{ -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions }
in favor of
{ -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer
  -finline-functions }

From-SVN: r225821

9 years agoFix restoration of hi/lo in MIPS64R2 interrupt handlers.
Robert Suchanek [Wed, 15 Jul 2015 11:43:05 +0000 (11:43 +0000)]
Fix restoration of hi/lo in MIPS64R2 interrupt handlers.

gcc/
* config/mips/mips.c (mips_emit_save_slot_move): Fix typo.

gcc/testsuite/
* gcc.target/mips/interrupt_handler-5.c: New test.

From-SVN: r225820

9 years agoSupport new interrupt handler options.
Matthew Fortune [Wed, 15 Jul 2015 11:42:50 +0000 (11:42 +0000)]
Support new interrupt handler options.

gcc/
* config/mips/mips.c (mips_int_mask): New enum.
(mips_shadow_set): Likewise.
(int_mask): New variable.
(use_shadow_register_set_p): Change type to enum mips_shadow_set.
(machine_function): Add int_mask and use_shadow_register_set.
(mips_attribute_table): Add attribute handlers for interrupt and
use_shadow_register_set.
(mips_interrupt_mask): New static function.
(mips_handle_interrupt_attr): Likewise.
(mips_handle_use_shadow_register_set_attr): Likewise.
(mips_use_shadow_register_set): Change return type to enum
mips_shadow_set.  Add argument handling for use_shadow_register_set
attribute.
(mips_interrupt_extra_called_saved_reg_p): Update the conditional to
compare with mips_shadow_set enum.
(mips_compute_frame_info): Add interrupt mask and
use_shadow_register_set to per-function information structure.
Add a stack slot for EPC unconditionally.
(mips_expand_prologue): Compare use_shadow_register_set value
with mips_shadow_set enum.  Save EPC always in K1, clobber only K1 for
masked interrupt register but in EIC mode use K0 and save Cause in K0.
EPC saved and restored unconditionally.  Use PMODE_INSN macro when
copying the stack pointer from the shadow register set.
* config/mips/mips.h (SR_IM0): New define.
* config/mips/mips.md (mips_rdpgpr): Rename to...
(mips_rdpgpr_<mode>): ...this.  Use the Pmode iterator.
* doc/extend.texi (Declaring Attributes of Functions): Document
optional arguments for interrupt and use_shadow_register_set
attributes.

gcc/testsuite/
* gcc.target/mips/interrupt_handler-4.c: New test.

Co-Authored-By: Robert Suchanek <robert.suchanek@imgtec.com>
From-SVN: r225819

9 years agoSupport interrupt handlers with hard-float.
Robert Suchanek [Wed, 15 Jul 2015 11:42:34 +0000 (11:42 +0000)]
Support interrupt handlers with hard-float.

gcc/
* config/mips/mips.c (mips_compute_frame_info): Allow -mhard-float in
interrupt attribute.
(mips_expand_prologue): Disable the floating point unit in an ISR.
* config/mips/mips.h (SR_COP1): New define.

From-SVN: r225818

9 years agore PR testsuite/66734 (Many MPX tests are skipped)
Ilya Enkovich [Wed, 15 Jul 2015 09:56:00 +0000 (09:56 +0000)]
re PR testsuite/66734 (Many MPX tests are skipped)

PR testsuite/66734
* gcc.dg/lto/lto.exp: Initialize MPX.

From-SVN: r225815

9 years ago[ARM][testsuite] Add -mfloat-abi=softfp to some xscale tests
Kyrylo Tkachov [Wed, 15 Jul 2015 09:45:10 +0000 (09:45 +0000)]
[ARM][testsuite] Add -mfloat-abi=softfp to some xscale tests

* gcc.target/arm/scd42-1.c: Add -mfloat-abi=softfp and appropriate
dg-skip-if.
* gcc.target/arm/scd42-3.c: Likewise.

From-SVN: r225814

9 years agoMIPS: In mips.exp allow the post-arch code to be run when the pre-arch code increases...
Andrew Bennett [Wed, 15 Jul 2015 09:22:25 +0000 (09:22 +0000)]
MIPS: In mips.exp allow the post-arch code to be run when the pre-arch code increases the isa_rev to mips32r6 or greater.

testsuite/
* gcc.target/mips/mips.exp (mips-dg-options): Allow the post-arch
code to be run when the pre-arch code increases the isa_rev to
mips32r6 or greater.

From-SVN: r225813

9 years ago[gomp] Recycle last non-nested team if possible
Sebastian Huber [Wed, 15 Jul 2015 09:11:11 +0000 (09:11 +0000)]
[gomp] Recycle last non-nested team if possible

libgomp/ChangeLog
2015-07-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>

* team.c (get_last_team): New.
(gomp_new_team): Recycle last non-nested team if possible.
(gomp_team_end): Move team work share list free lock destruction
to ...
(free_team): ... here.

From-SVN: r225811

9 years agoAdd missing PR target/66731 to gcc/testsuite/Changelog
Szabolcs Nagy [Wed, 15 Jul 2015 09:03:15 +0000 (09:03 +0000)]
Add missing PR target/66731 to gcc/testsuite/Changelog

From-SVN: r225810

9 years agogenmatch.c (parser::peek, [...]): Add argument to tell how many tokens to peek ahead...
Richard Biener [Wed, 15 Jul 2015 08:35:15 +0000 (08:35 +0000)]
genmatch.c (parser::peek, [...]): Add argument to tell how many tokens to peek ahead (default 1).

2015-07-15  Richard Biener  <rguenther@suse.de>

* genmatch.c (parser::peek, parser::peek_ident): Add argument
to tell how many tokens to peek ahead (default 1).
(parser::eat_token, parser::eat_ident): Return token consumed.
(parser::parse_result): Parse new switch statement.
* match.pd: Use case statements where appropriate.

From-SVN: r225809

9 years agoc-torture.exp (C_TORTURE_OPTIONS): Remove { -O3 -fomit-frame-pointer }...
Richard Biener [Wed, 15 Jul 2015 08:02:43 +0000 (08:02 +0000)]
c-torture.exp (C_TORTURE_OPTIONS): Remove { -O3 -fomit-frame-pointer }...

2015-07-15  Richard Biener  <rguenther@suse.de>

* lib/c-torture.exp (C_TORTURE_OPTIONS): Remove
{ -O3 -fomit-frame-pointer },
{ -O3 -fomit-frame-pointer -funroll-loops } and
{ -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions }
in favor of
{ -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer
  -finline-functions }
* lib/gcc-dg.exp (DG_TORTURE_OPTIONS): Likewise.
* gcc.c-torture/execute/builtins/builtins.exp: Add -fno-tracer
to additional_flags.

From-SVN: r225808

9 years agore PR target/58066 (__tls_get_addr is called with misaligned stack on x86-64)
Uros Bizjak [Wed, 15 Jul 2015 07:39:30 +0000 (09:39 +0200)]
re PR target/58066 (__tls_get_addr is called with misaligned stack on x86-64)

PR rtl-optimization/58066
* calls.c (expand_call): Precompute register parameters before stack
alignment is performed.

From-SVN: r225807

9 years agore PR rtl-optimization/66838 (Calling multiple SYSV AMD64 ABI functions from MS x64...
Uros Bizjak [Wed, 15 Jul 2015 07:28:33 +0000 (09:28 +0200)]
re PR rtl-optimization/66838 (Calling multiple SYSV AMD64 ABI functions from MS x64 ABI one results in clobbered parameters)

PR rtl-optimization/66838
* postreload.c (reload_cse_move2add): Also process
CALL_INSN_FUNCTION_USAGE when resetting information of
call-clobbered registers.

testsuite/ChangeLog:

PR rtl-optimization/66838
* gcc.target/i386/pr66838.c: New test.

From-SVN: r225806

9 years agoDaily bump.
GCC Administrator [Wed, 15 Jul 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225804

9 years agore PR c++/66850 (Adding a forward declaration of a template containing a template...
Patrick Palka [Wed, 15 Jul 2015 00:01:21 +0000 (00:01 +0000)]
re PR c++/66850 (Adding a forward declaration of a template containing a template template parm causes ICE on valid code)

Fix PR c++/66850

gcc/cp/ChangeLog:

PR c++/66850
* pt.c (redeclare_class_template): Set the DECL_CONTEXTs of each
template template parm in the redeclaration.
(lookup_template_class_1): Peel off irrelevant template levels
from current_template_parms before augmenting the argument
list.

gcc/testsuite/ChangeLog:

PR c++/66850
* g++.dg/template/pr66850.C: New test.

From-SVN: r225801

9 years agoconstraints.md (U, v): New constraints.
Sandra Loosemore [Tue, 14 Jul 2015 23:43:48 +0000 (19:43 -0400)]
constraints.md (U, v): New constraints.

2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
    Cesar Philippidis  <cesar@codesourcery.com>
    Chung-Lin Tang  <cltang@codesourcery.com>

gcc/
* config/nios2/constraints.md (U, v): New constraints.
* config/nios2/predicates.md (rdprs_dcache_operand): New.
(ldstex_memory_operand): New.
* config/nios2/sync.md: New file.
* config/nios2/nios2.md (unspecv): Add new builtin function
UNSPECV codes.
(rdprs, flushd, flushda, wrpie, eni): New patterns.
(top-level): Include sync.md.
* config/nios2/nios2.c (N2_FTYPES): Add function types for
new builtins.
(N2_BUILTINS): Add arch field setting, add new builtins.
(enum nios2_builtin_code,nios2_builtins): Update N2_BUILTIN_DEF
for arch field.
(nios2_expand_ldst_builtin): Rename from nios2_expand_ldstio_builtin.
Also handle ldex/stex/ldsex/stsex builtins.
(nios2_expand_rdprs_builtin): New function.
(nios2_expand_cache_builtin): New function.
(nios2_expand_wrpie_builtin): New function.
(nios2_expand_eni_builtin): New function.
(nios2_expand_builtin): Add arch field handling and new builtin
        cases.
* doc/extend.texi (Altera Nios II Built-in Functions): Document
new builtins.
* doc/md.texi (Machine Constraints): Document U and v constraints.

gcc/testsuite/
* gcc.target/nios2/nios2-flushd.c: New.
* gcc.target/nios2/nios2-rdprs.c: New.
* gcc.target/nios2/r2-atomic.c: New.
* gcc.target/nios2/r2-eni.c: New.
* gcc.target/nios2/r2-wrpie.c: New.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
From-SVN: r225800

9 years agonios2-protos.h (nios2_expand_return): Declare.
Sandra Loosemore [Tue, 14 Jul 2015 23:32:06 +0000 (19:32 -0400)]
nios2-protos.h (nios2_expand_return): Declare.

2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
    Cesar Philippidis  <cesar@codesourcery.com>
    Chung-Lin Tang  <cltang@codesourcery.com>

gcc/
* config/nios2/nios2-protos.h (nios2_expand_return): Declare.
* config/nios2/nios2.c (struct GTY (()) machine_function): Add
callee_save_reg_size and uses_anonymous_args fields.
(nios2_compute_frame_layout): Update for CDX push.n/pop.n usage.
(nios2_create_cfa_notes): New function.
(nios2_adjust_stack): New function for adjusting stack.
(nios2_expand_prologue): Update for CDX push.n/pop.n usage.
Use nios2_adjust_stack.
(nios2_expand_epilogue): Likewise.
(nios2_expand_return): New function.
(nios2_can_use_return_insn): Update for CDX pop.n usage.
(nios2_setup_incoming_varargs): Set uses_anonymous_args flag.
If TARGET_HAS_CDX, defer pushing regs to nios2_expand_prologue.
* config/nios2/nios2.md (return): Use nios2_expand_return.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
From-SVN: r225799

9 years agopredicates.md (pop_operation): New.
Sandra Loosemore [Tue, 14 Jul 2015 23:16:43 +0000 (19:16 -0400)]
predicates.md (pop_operation): New.

2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
    Cesar Philippidis  <cesar@codesourcery.com>
    Chung-Lin Tang  <cltang@codesourcery.com>

gcc/
* config/nios2/predicates.md (pop_operation): New.
(ldwm_operation, stwm_operation): New.
(nios2_hard_register_operand): New.
* config/nios2/nios2-protos.h (pop_operation_p): Declare.
(ldstwm_operation_p): Declare.
(gen_ldstwm_peep): Declare.
* config/nios2/nios2.c: (nios2_ldst_parallel): Declare.
(base_reg_adjustment_p): New.
(pop_operation_p): New.
(CDX_LDSTWM_VALID_REGS_0, CDX_LDSTWM_VALID_REGS_1): Define.
(nios2_ldstwm_regset_p): New.
(ldstwm_operation_p): New.
(gen_ldst): New.
(nios2_ldst_parallel): New.
(struct ldswm_operand): Declare.
(compare_ldstwm_operands): New.
(can_use_cdx_ldstw): New.
(gen_ldstwm_peep): New.
* config/nios2/nios2-ldstwm.sml: New.
* config/nios2/nios2.md: Include ldstwm.md.
* config/nios2/ldstwm.md: Generated.

gcc/testsuite/
* gcc.target/nios2/cdx-ldstwm-1.c: New.
* gcc.target/nios2/cdx-ldstwm-2.c: New.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
From-SVN: r225798

9 years agonios2.h (LABEL_ALIGN): Define.
Sandra Loosemore [Tue, 14 Jul 2015 22:56:45 +0000 (18:56 -0400)]
nios2.h (LABEL_ALIGN): Define.

2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
    Cesar Philippidis  <cesar@codesourcery.com>
    Chung-Lin Tang  <cltang@codesourcery.com>

gcc/
* config/nios2/nios2.h (LABEL_ALIGN): Define.
(REG_ALLOC_ORDER): Define.
(ADJUST_REG_ALLOC_ORDER): Define.
(HONOR_REG_ALLOC_ORDER): Define.
(CDX_REG_P): Define.
(ANDCLEAR_INT): Define.
* config/nios2/nios2-protos.h (nios2_add_insn_asm): Declare.
(nios2_label_align): Declare.
(nios2_cdx_narrow_form_p): Declare.
(nios2_adjust_reg_alloc_order): Declare.
* config/nios2/nios2.c (nios2_rtx_costs): Adjust for BMX zero-extract
operation.
(nios2_large_unspec_reloc_p): New function, split from...
(nios2_legitimate_pic_operand_p): ...here.
(nios2_emit_move_sequence): Add *high/*lo_sum constant expand code.
(nios2_print_operand_punct_valid_p): New.
(nios2_print_operand): Add %., %!, %x, %y, %A.  Remove %U.
(split_mem_address): New.
(split_alu_insn): New.
(cdxreg): New.
(cdx_add_immed, cdx_and_immed, cdx_mov_immed, cdx_shift_immed): New.
(enum nios2_add_insn_kind): New.
(nios2_add_insn_names, nios2_add_insn_narrow): New.
(nios2_add_insn_classify): New.
(nios2_add_insn_asm): New.
(nios2_cdx_narrow_form_p): New.
(label_align, min_labelno, max_labelno): New.
(nios2_reorg): New.
(nios2_label_align): New.
(nios2_adjust_reg_alloc_order): New.
(TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
(TARGET_MACHINE_DEPENDENT_REORG): Define.
* config/nios2/constraints.md (P): New constraint.
* config/nios2/predicates.md (const_and_operand): New.
(and_operand): New.
(stack_memory_operand): New.
* config/nios2/nios2.md (SP_REGNO): Define stack pointer regno.
(length): Update to use nios2_cdx_narrow_form_p().
(type): Add new insn type values.
(control, alu, st, ld, shift): Update insn reservations with
new insn type values.
(*high, *lo_sum): Define new insn patterns for constant generation.
(movqi_internal, movhi_internal, movsi_internal): Reduce
alternatives, update asm template to handle CDX variants, update
type attributes.
(zero_extendhisi2, zero_extendqi<mode>2): Add CDX variants to asm
template, update type attributes.
(extendhisi2, extendqi<mode>2): Likewise.
(addsi3): Change to use function for asm string.
(subsi3): Add CDX notation to asm template, update type attributes.
(negsi3, one_cmplsi3): Likewise.
(andsi3): New pattern, specialized from logical patterns.
(<code>si3): Remove and case, combine alternatives, update asm
template.
(<shift_op>si3): Add CDX notation, update type attributes.
(rotrsi3): Update type attribute.
(*merge, extzv, insv): New insn patterns.
(return): Change to define_expand.
(simple_return): Add CDX notation, update type attributes.
(indirect_jump): Add CDX notation.
(jump): Update asm cases, update length attribute expression.
(*call, *call_value, *sibcall, *sibcall_value): Add CDX variant.
(nios2_cbranch): Update asm cases and length attribute expression
to handle CDX variants.
(nios2_cmp<code>): Update asm template.
(nop): Add CDX notation, update type attributes.
(trap): Add CDX notation.
(ctrapsi4): Update asm cases and length attribute expression to
handle CDX variant.
* doc/md.texi (Machine Constraints): Document P constraint.

gcc/testsuite/
* gcc.target/nios2/andci.c: New.
* gcc.target/nios2/bmx.c: New.
* gcc.target/nios2/cdx-add.c: New.
* gcc.target/nios2/cdx-branch.c: New.
* gcc.target/nios2/cdx-callret.c: New.
* gcc.target/nios2/cdx-loadstore.c: New.
* gcc.target/nios2/cdx-logical.c: New.
* gcc.target/nios2/cdx-mov.c: New.
* gcc.target/nios2/cdx-shift.c: New.
* gcc.target/nios2/cdx-sub.c: New.
* gcc.target/nios2/nios2-trap-insn.c: Adjust pattern.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
From-SVN: r225796

9 years agotramp.c (MOVHI, ORI, JMP): Conditionalize for __nios2_arch__ level.
Sandra Loosemore [Tue, 14 Jul 2015 22:43:46 +0000 (18:43 -0400)]
tramp.c (MOVHI, ORI, JMP): Conditionalize for __nios2_arch__ level.

2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
    Cesar Philippidis  <cesar@codesourcery.com>
    Chung-Lin Tang  <cltang@codesourcery.com>

libgcc/
* config/nios2/tramp.c (MOVHI, ORI, JMP): Conditionalize
for __nios2_arch__ level.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
From-SVN: r225794

9 years agore PR c++/65071 (ICE on valid, sizeof...() of template template parameter pack in...
Andrea Azzarone [Tue, 14 Jul 2015 22:36:50 +0000 (22:36 +0000)]
re PR c++/65071 (ICE on valid, sizeof...() of template template parameter pack in return type)

/cp
2015-07-14  Andrea Azzarone  <azzaronea@gmail.com>

PR c++/65071
* parser.c (cp_parser_sizeof_pack): Also consider template template
parameters.

/testsuite
2015-07-14  Andrea Azzarone  <azzaronea@gmail.com>

PR c++/65071
* g++.dg/cpp0x/vt-65071.C: New.

From-SVN: r225793

9 years agonios2.h (SMALL_INT12): New macro.
Sandra Loosemore [Tue, 14 Jul 2015 22:34:23 +0000 (18:34 -0400)]
nios2.h (SMALL_INT12): New macro.

2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
    Cesar Philippidis  <cesar@codesourcery.com>
    Chung-Lin Tang  <cltang@codesourcery.com>

gcc/
* config/nios2/nios2.h (SMALL_INT12): New macro.
* config/nios2/nios2.c (nios2_valid_addr_offset_p): New function.
(nios2_valid_addr_expr_p): Use it.
(nios2_symbol_ref_in_small_data_p): Disallow GP-relative addressing
with implicit "io" instructions on R2.
* config/nios2/constraints.md (w): New constraint.
* config/nios2/predicates.md (ldstio_memory_operand): New.
* config/nios2/nios2.md (ld<bhw_uns>io, ld<bh>io): Update memory
operand predicate and constraint.
(ld<bh>io_signed, st<bhw>io>): Likewise.
* doc/md.texi (Machine Constraints): Document w constraint.

gcc/testsuite/
* gcc.target/nios2/r2-io-range.c: New.
* gcc.target/nios2/r2-stio-1.c: New.
* gcc.target/nios2/r2-stio-2.c: New.
* gcc.target/nios2/nios2-ldxio.c: New.
* gcc.target/nios2/nios2-stxio.c: Change to assemble test instead
of just compile.  Add more tests.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
From-SVN: r225792

9 years agonios2.opt (march, mbmx, mcdx): New options.
Sandra Loosemore [Tue, 14 Jul 2015 22:22:45 +0000 (18:22 -0400)]
nios2.opt (march, mbmx, mcdx): New options.

2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
    Cesar Philippidis  <cesar@codesourcery.com>
    Chung-Lin Tang  <cltang@codesourcery.com>

gcc/
* config/nios2/nios2.opt (march, mbmx, mcdx): New options.
* config/nios2/nios2-opts.h (enum nios2_arch_type): New enum for
Nios II architecture level.
* config/nios2/nios2.h (TARGET_ARCH_R2): New define.
(TARGET_CPU_CPP_BUILTINS): Add definition of __nios2_arch__ symbol.
(OPTION_DEFAULT_SPECS): Define.
(ASM_SPEC): Add -march= spec strings.
* config/nios2/nios2.c (nios2_option_override): Check for
conflicts involving new options.
* config.gcc (nios2*-*-*): Support --with-arch=.
* doc/invoke.texi (Option Summary, Nios II Options): Document
-march=, -mbmx, and -mcdx.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
From-SVN: r225791

9 years agosimplify.c (gfc_simplify_floor): Set precision of temporary to that of arg.
Steven G. Kargl [Tue, 14 Jul 2015 21:44:46 +0000 (21:44 +0000)]
simplify.c (gfc_simplify_floor): Set precision of temporary to that of arg.

2015-07-14  Steven G. Kargl  <kargl@gcc.gnu.org>

* simplify.c (gfc_simplify_floor): Set precision of temporary to
that of arg.

2015-07-14  Steven G. Kargl  <kargl@gcc.gnu.org>

gfortran.dg/pr66864.f90: New test.

From-SVN: r225790

9 years agore PR rtl-optimization/66626 (gcc.dg/torture/stackalign/non-local-goto-5.c segfaults...
Vladimir Makarov [Tue, 14 Jul 2015 20:54:00 +0000 (20:54 +0000)]
re PR rtl-optimization/66626 (gcc.dg/torture/stackalign/non-local-goto-5.c segfaults w/ -mregparm=3 or -miamcu)

2015-07-14  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/66626
* lra-constraints.c (lra_constraints): Prevent equivalence
substitution for static chain pseudo in functions with nonlocal
goto.

2015-07-14  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/66626
* gcc.target/i386/pr66626.c: New.

From-SVN: r225789

9 years agoPR 66861 Fix null pointer crash on mingw.
Janne Blomqvist [Tue, 14 Jul 2015 20:26:06 +0000 (23:26 +0300)]
PR 66861 Fix null pointer crash on mingw.

2015-07-14  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/66861
* io/unix.c (compare_file_filename): Verify that u->filename is
non-NULL before strcmp.
(find_file0): Likewise.

From-SVN: r225788

9 years agonios2.c (TEMP_REG_NUM): Move define up in file.
Sandra Loosemore [Tue, 14 Jul 2015 19:19:35 +0000 (15:19 -0400)]
nios2.c (TEMP_REG_NUM): Move define up in file.

2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/nios2/nios2.c (TEMP_REG_NUM): Move define up in file.
(nios2_emit_stack_limit_check): Add size parameter.  Handle
-fstack-limit-symbol as well as -fstack-limit-register.
(nios2_expand_prologue): Emit only a single stack limit check,
even if multiple stack adjustments are required.
(nios2_option_override): Diagnose unsupported combination of -fpic
and -stack-limit-symbol.

gcc/testsuite/
* gcc.target/nios2/nios2-stack-check-1.c: Adjust patterns.
* gcc.target/nios2/nios2-stack-check-2.c: Likewise.
* gcc.target/nios2/nios2-stack-check-3.c: New test case.

From-SVN: r225787

9 years agosimd-3.c: (main): Change type of res and ref from int to double.
Maxim Blumenthal [Tue, 14 Jul 2015 18:54:35 +0000 (18:54 +0000)]
simd-3.c: (main): Change type of res and ref from int to double.

2015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>

libgomp/
* testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
and ref from int to double.  Replaced their comparison with
an inequality of their difference and EPS.
* testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
comparison of pri and a reference number with an inequality of their
difference and EPS.
* testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
the comparison of sum and sum_ref with an inequality of their
difference and EPS.
* testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
the comparison of pri and a reference number with an inequality of
their difference and EPS.

From-SVN: r225786

9 years ago* call.c (build_new_method_call_1): Call reshape_init.
Jason Merrill [Tue, 14 Jul 2015 17:35:38 +0000 (13:35 -0400)]
* call.c (build_new_method_call_1): Call reshape_init.

From-SVN: r225784

9 years agopt.c (check_template_shadow): Emit error + inform instead of two errors.
Paolo Carlini [Tue, 14 Jul 2015 16:20:47 +0000 (16:20 +0000)]
pt.c (check_template_shadow): Emit error + inform instead of two errors.

/cp
2015-07-14  Paolo Carlini  <paolo.carlini@oracle.com>

* pt.c (check_template_shadow): Emit error + inform instead of
two errors.

/testsuite
2015-07-14  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/template/crash81.C: Adjust for error + inform change.
* g++.dg/template/pr58878.C: Likewise.
* g++.dg/template/shadow1.C: Likewise.
* g++.dg/template/shadow2.C: Likewise.
* g++.old-deja/g++.benjamin/tem03.C: Likewise.
* g++.old-deja/g++.benjamin/tem04.C: Likewise.
* g++.old-deja/g++.brendan/crash7.C: Likewise.
* g++.old-deja/g++.pt/shadow2.C: Likewise.

From-SVN: r225783

9 years agoRemove trailing spaces in demangle.h
H.J. Lu [Tue, 14 Jul 2015 16:14:40 +0000 (09:14 -0700)]
Remove trailing spaces in demangle.h

From-SVN: r225782

9 years agoUpdate copyright year in include
H.J. Lu [Tue, 14 Jul 2015 16:08:59 +0000 (09:08 -0700)]
Update copyright year in include

From-SVN: r225781

9 years agoconfigure.tgt: Add *-*-dragonfly to supported targets.
John Marino [Tue, 14 Jul 2015 15:36:51 +0000 (15:36 +0000)]
configure.tgt: Add *-*-dragonfly to supported targets.

2015-07-14  John Marino  <gnugcc@marino.st>

* configure.tgt: Add *-*-dragonfly to supported targets.

From-SVN: r225779

9 years agoSync toplevel configure with binutils-gdb
H.J. Lu [Tue, 14 Jul 2015 15:32:05 +0000 (15:32 +0000)]
Sync toplevel configure with binutils-gdb

Sync with binutils-gdb:
2015-03-17  H.J. Lu  <hongjiu.lu@intel.com>

* configure.ac (target_configdirs): Exclude target-zlib if
target-libjava isn't built.
* configure: Regenerated.

From-SVN: r225778

9 years agoSync toplevel configure with binutils-gdb
H.J. Lu [Tue, 14 Jul 2015 15:22:24 +0000 (15:22 +0000)]
Sync toplevel configure with binutils-gdb

Sync with binutils-gdb:
2015-05-13  John David Anglin  <dave.anglin@bell.net>

* configure.ac: Disable configuration of GDB for HPUX targets.
* configure: Regenerate.

2015-04-01  H.J. Lu  <hongjiu.lu@intel.com>

* configure.ac: Add --with-system-zlib.
* configure: Regenerated.

2015-01-28  James Bowman  <james.bowman@ftdichip.com>

* configure.ac: Add FT32 support.
* configure: Regenerate.

2015-01-12  Anthony Green  <green@moxielogic.com>

* configure.ac: Don't disable gprof for moxie.
* configure: Rebuild.

From-SVN: r225777

9 years agoSync toplevel files binutils-gdb
H.J. Lu [Tue, 14 Jul 2015 15:03:11 +0000 (15:03 +0000)]
Sync toplevel files binutils-gdb

Sync with binutils-gdb:
2015-05-01  H.J. Lu  <hongjiu.lu@intel.com>

PR ld/18355
* Makefile.def: Add extra_configure_flags to host zlib.
* configure.ac (extra_host_zlib_configure_flags): New.  Set
to --enable-host-shared When bfd is to be built as shared
library.  AC_SUBST.
* Makefile.in: Regenerated.

From-SVN: r225776

9 years agoThis patch syncs zlib.m4 with binutils-gdb and uses AM_ZLIB from zlib.m4
H.J. Lu [Tue, 14 Jul 2015 14:25:35 +0000 (14:25 +0000)]
This patch syncs zlib.m4 with binutils-gdb and uses AM_ZLIB from zlib.m4
in gcc/configure.ac.

config/

* zlib.m4: Sync with binutils-gdb.

gcc/

* Makefile.in (top_srcdir): New.
* configure.ac: Use AM_ZLIB.
* configure: Regeneated.

From-SVN: r225774

9 years agore PR target/66840 (plugins fail to build on powerpc64le-linux-gnu)
Matthias Klose [Tue, 14 Jul 2015 13:50:01 +0000 (13:50 +0000)]
re PR target/66840 (plugins fail to build on powerpc64le-linux-gnu)

2015-07-14  Matthias Klose  <doko@ubuntu.com>

        PR target/66840
        * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def.

From-SVN: r225772

9 years agoSync with src:
Hans-Peter Nilsson [Tue, 14 Jul 2015 12:12:43 +0000 (12:12 +0000)]
Sync with src:

2015-03-30  H.J. Lu  <hongjiu.lu@intel.com>
* Makefile.def (dependencies): Add all-zlib to all-bfd.
* Makefile.in: Regenerated.

From-SVN: r225769

9 years agore PR tree-optimization/66863 (wrong code at -Os and above on x86_64-linux-gnu)
Richard Biener [Tue, 14 Jul 2015 11:39:14 +0000 (11:39 +0000)]
re PR tree-optimization/66863 (wrong code at -Os and above on x86_64-linux-gnu)

2015-07-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66863
* tree-vrp.c (register_edge_assert_for_2): Properly restrict
what we record for conversion use stmt lhs inequalities.

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

From-SVN: r225768

9 years agogenmatch.c (dt_node::gen_kids_1): Fix case label indenting.
Richard Biener [Tue, 14 Jul 2015 08:40:51 +0000 (08:40 +0000)]
genmatch.c (dt_node::gen_kids_1): Fix case label indenting.

2015-07-14  Richard Biener  <rguenther@suse.de>

* genmatch.c (dt_node::gen_kids_1): Fix case label indenting.
(decision_tree::gen_gimple): Likewise.

From-SVN: r225765

9 years agoIgnore -ftree-parallelize-loops={0,1} using gt
Tom de Vries [Tue, 14 Jul 2015 08:25:57 +0000 (08:25 +0000)]
Ignore -ftree-parallelize-loops={0,1} using gt

2015-07-14  Tom de Vries  <tom@codesourcery.com>

* gcc.c (greater_than_spec_func): Declare forward.
(LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use gt to ignore
-ftree-parallelize-loops={0,1}.
(static_spec_functions): Add greater_than_spec_func function with name
"gt".
(greater_than_spec_func): New function.

From-SVN: r225764

9 years agotree-ssa-dom.c (record_temporary_equivalences): Merge wideing type conversion case...
Richard Biener [Tue, 14 Jul 2015 07:27:04 +0000 (07:27 +0000)]
tree-ssa-dom.c (record_temporary_equivalences): Merge wideing type conversion case from record_equivalences_from_incoming_edge...

2015-07-14  Richard Biener  <rguenther@suse.de>

* tree-ssa-dom.c (record_temporary_equivalences): Merge
wideing type conversion case from record_equivalences_from_incoming_edge
and use record_equality to record equivalences.
(record_equivalences_from_incoming_edge): Call
record_temporary_equivalences.

From-SVN: r225761

9 years agogenmatch.c (struct operand): Add OP_IF and OP_WITH op_types.
Richard Biener [Tue, 14 Jul 2015 07:25:55 +0000 (07:25 +0000)]
genmatch.c (struct operand): Add OP_IF and OP_WITH op_types.

2015-07-14  Richard Biener  <rguenther@suse.de>

* genmatch.c (struct operand): Add OP_IF and OP_WITH op_types.
(struct if_expr): New.
(struct with_expr): Likewise.
(is_a_helper): Add helpers for if_expr and with_expr.
(struct simplify): Add simplify_kind enum and member.  Remove
ifexpr_vec member.
(simplify::simplify): Adjust.
(lower_commutative): Adjust.
(lower_opt_convert): Likewise.
(lower_cond): Likewise.
(replace_id): Handle with_expr and if_expr.
(lower_for): Adjust.
(dt_simplify::gen_1): New recursive worker, split out from ...
(dt_simplify::gen): ... here.  Deal with if and with expansion
recursively.
(capture_info::capture_info): Take context argument
(capture_info::walk_result): Only analyze specific result.
(parser::parse_result): New function.
(parser::parse_simplify): Adjust to parse ifs with then end
else case.
(parser::parse_if): Simplify.
(parser::parse_pattern): Pass down simplify kind.
* match.pd: Convert if structure to new syntax.

From-SVN: r225760

9 years agocompiler,runtime: Determine if allocations need new pointers in runtime.
Ian Lance Taylor [Tue, 14 Jul 2015 01:22:25 +0000 (01:22 +0000)]
compiler,runtime: Determine if allocations need new pointers in runtime.

    As the removed comment states, if the package being compiled played
    certain tricks with pointers that looked like integers, the compiler
    might allocate space for new pointers unnecessarily.  Since the type
    information on the heap is now precise, this logic can be moved to the
    runtime.

    Reviewed-on: https://go-review.googlesource.com/11581

From-SVN: r225757

9 years agocompiler: Improve location info for function parameters.
Ian Lance Taylor [Tue, 14 Jul 2015 00:52:25 +0000 (00:52 +0000)]
compiler: Improve location info for function parameters.

    Previously, errors reported for function parameters would point to the
    beginning of the function declaration instead of to the column for the
    given parameter.

    Reviewed-on: https://go-review.googlesource.com/11580

From-SVN: r225756

9 years agoDaily bump.
GCC Administrator [Tue, 14 Jul 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225755

9 years agoUpdate to patch that Aldy committed directly here.
Ian Lance Taylor [Tue, 14 Jul 2015 00:09:23 +0000 (00:09 +0000)]
Update to patch that Aldy committed directly here.

From-SVN: r225752

9 years agoescape: Analyze multiple result type assertions.
Ian Lance Taylor [Tue, 14 Jul 2015 00:02:19 +0000 (00:02 +0000)]
escape: Analyze multiple result type assertions.

    For multi-result type assertions, the object being converted is hidden
    behind unsafe conversions and calls to runtime methods.  This change
    allows the analysis to make edges between the result of the assertion
    and the object being asserted.

    Reviewed-on: https://go-review.googlesource.com/10661

From-SVN: r225751

9 years agore PR c++/65186 (internal compiler error: in tsubst, at cp/pt.c:11738)
Patrick Palka [Mon, 13 Jul 2015 20:35:53 +0000 (20:35 +0000)]
re PR c++/65186 (internal compiler error: in tsubst, at cp/pt.c:11738)

Fix PR c++/65186

gcc/cp/ChangeLog:
PR c++/65186
* pt.c (invalid_nontype_parm_type_p): Accept a bound template
template parm type under C++11 and later.

gcc/testsuite/ChangeLog:

PR c++/65186
* g++.dg/template/pr65186.C: New test.

From-SVN: r225749

9 years agore PR libstdc++/66855 (codecvt wrong endianness in UTF-16 conversions)
Jonathan Wakely [Mon, 13 Jul 2015 20:07:48 +0000 (21:07 +0100)]
re PR libstdc++/66855 (codecvt wrong endianness in UTF-16 conversions)

PR libstdc++/66855
* src/c++11/codecvt.cc (__codecvt_utf8_utf16_base::do_in): Override
endianness bit in mode.
* testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: New.

From-SVN: r225748

9 years ago* rtl.c (rtx_equal_p_cb): Fix typo.
Marek Polacek [Mon, 13 Jul 2015 19:41:01 +0000 (19:41 +0000)]
* rtl.c (rtx_equal_p_cb): Fix typo.

From-SVN: r225747

9 years agosyscall: remove calls to Entersyscall & Exitsyscall in Getdents
Ian Lance Taylor [Mon, 13 Jul 2015 18:55:15 +0000 (18:55 +0000)]
syscall: remove calls to Entersyscall & Exitsyscall in Getdents

    The syscall for Getdents in syscall/libcall_linux.go
    called Entersyscall and Exitsyscall, causing the
    runtime_sched counts for goroutines to be incorrect.
    Inconsistent counts caused checkdead in runtime/proc.c
    to panic.

    Fixes golang/go#11406

    Reviewed-on: https://go-review.googlesource.com/11761

From-SVN: r225745

9 years agoc++config (_GLIBCXX_NOEXCEPT_IF): Define.
Jonathan Wakely [Mon, 13 Jul 2015 17:15:48 +0000 (18:15 +0100)]
c++config (_GLIBCXX_NOEXCEPT_IF): Define.

* include/bits/c++config (_GLIBCXX_NOEXCEPT_IF): Define.
* include/bits/forward_list.h (forward_list::swap): Make noexcept
unconditional.
* include/bits/hashtable.h (_Hashtable::swap): Do not use
_S_nothrow_swap().
* include/bits/stl_bvector.h (vector<bool>::swap): Make noexcept
unconditional.
* include/bits/stl_deque.h (deque::swap): Likewise.
(swap(deque&, deque&)): Use _GLIBCXX_NOEXCEPT_IF.
* include/bits/stl_list.h (list::swap): Make noexcept unconditional.
(swap(list&, list&)): Use _GLIBCXX_NOEXCEPT_IF.
* include/bits/stl_map.h (map::swap, swap(map&, map&)): Use
_GLIBCXX_NOEXCEPT_IF, do not depend on _S_nothrow_swap.
* include/bits/stl_multimap.h (multimap::swap,
swap(multimap&, multimap&)): Likewise.
* include/bits/stl_multiset.h (multiset::swap,
swap(multiset&, multiset&)): Likewise.
* include/bits/stl_set.h (set::swap, swap(set&, set&)): Likewise.
* include/bits/stl_tree.h (_Rb_tree::swap,
swap(_Rb_tree&, _Rb_tree&)): Likewise.
* include/bits/stl_vector.h (vector::swap): Make noexcept
unconditional.
(swap(vector&, vector&)): Use _GLIBCXX_NOEXCEPT_IF.
* include/debug/deque (deque::swap, swap): Likewise.
* include/debug/forward_list (swap): Add noexcept.
* include/debug/list (list::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
* include/debug/map.h (map::swap, swap): Likewise.
* include/debug/multimap.h (multimap::swap, swap): Likewise.
* include/debug/multiset.h (multiset::Swap, swap): Likewise.
* include/debug/set.h (set::swap, swap): Likewise.
* include/debug/unordered_map (unordered_map::swap,
unordered_multimap::swap, swap): Likewise.
* include/debug/unordered_set (unordered_set::swap,
unordered_multiset::swap, swap): Likewise.
* include/debug/vector (vector::swap, swap): Likewise.
* include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()):
Remove.
* include/profile/deque (deque::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
* include/profile/forward_list (swap): Add noexcept.
* include/profile/list (list::swap, swap) : Use _GLIBCXX_NOEXCEPT_IF.
* include/profile/map.h (map::swap, swap): Likewise.
* include/profile/multimap.h (multimap::swap, swap): Likewise.
* include/profile/multiset.h (multiset::swap, swap): Likewise.
* include/profile/set.h (set::swap, swap): Likewise.
* include/profile/unordered_map (swap): Likewise.
* include/profile/unordered_set (swap): Likewise.
* include/profile/vector (vector::swap, swap): Likewise. Remove
overloads for swapping rvalues.
* testsuite/23_containers/deque/allocator/noexcept.cc: Update tests
for noexcept on swap.
* testsuite/23_containers/forward_list/allocator/noexcept.cc:
Likewise.
* testsuite/23_containers/list/allocator/noexcept.cc: Likewise.
* testsuite/23_containers/map/allocator/noexcept.cc: Likewise.
* testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise.
* testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise.
* testsuite/23_containers/set/allocator/noexcept.cc: Likewise.
* testsuite/23_containers/unordered_map/allocator/noexcept.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/allocator/noexcept.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/allocator/noexcept.cc:
Likewise.
* testsuite/23_containers/unordered_set/allocator/noexcept.cc:
Likewise.
* testsuite/23_containers/vector/allocator/noexcept.cc: Likewise.
* testsuite/23_containers/vector/bool/allocator/noexcept.cc: Likewise.
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line
number.

From-SVN: r225744

9 years ago[ARM][testsuite] Fix FAIL: gcc.target/arm/macro_defs0.c and macro_defs1.c when -marm...
Mantas Mikaitis [Mon, 13 Jul 2015 16:00:39 +0000 (16:00 +0000)]
[ARM][testsuite] Fix FAIL: gcc.target/arm/macro_defs0.c and macro_defs1.c when -marm forced

On behalf of Mantas Mikaitis

2015-07-13  Mantas Mikaitis  <mantas.mikaitis@arm.com>

* gcc.target/arm/macro_defs0.c: Add directive to skip
test if -marm is present.
* gcc.target/arm/macro_defs1.c: Likewise.

From-SVN: r225742

9 years agoomega.h: Don't include config.h...
Andrew MacLeod [Mon, 13 Jul 2015 15:41:54 +0000 (15:41 +0000)]
omega.h: Don't include config.h...

* omega.h: Don't include config.h, don't include params.h again if
omega.h has already been included.
* graphite-poly.h: Include sese.h.
* graphite.c: Don't include sese.h, remove needless includes and
minimize includes outside #ifdef HAVE_isl block.
* graphite-blocking.c: Don't include sese.h, remove needless includes,
and wrap entire file in #ifdef HAVE_isl
* graphite-dependences.c: Likewise.
* graphite-interchange.c: Likewise.
* graphite-isl-ast-to-gimple.c: Likewise.
* graphite-optimize-isl.c: Likewise.
* graphite-poly.c: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-sese-to-poly.c: Likewise.

From-SVN: r225741

9 years agot-dragonfly: New.
John Marino [Mon, 13 Jul 2015 14:53:16 +0000 (14:53 +0000)]
t-dragonfly: New.

2015-07-13  John Marino  <gnugcc@marino.st>

* config/i386/t-dragonfly: New.

From-SVN: r225738

9 years agoos_defines.h (_GLIBCXX_USE_C99_CHECK, [...]): Define.
John Marino [Mon, 13 Jul 2015 14:53:08 +0000 (14:53 +0000)]
os_defines.h (_GLIBCXX_USE_C99_CHECK, [...]): Define.

2015-07-13  John Marino  <gnugcc@marino.st>

* config/os/bsd/dragonfly/os_defines.h (_GLIBCXX_USE_C99_CHECK,
_GLIBCXX_USE_C99_DYNAMIC, _GLIBCXX_USE_C99_LONG_LONG_CHECK,
_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC): Define.

From-SVN: r225737

9 years agoUpdate libgomp/testsuite/*/examples-4/* according to latest version (4.0.2)
Maxim Blumenthal [Mon, 13 Jul 2015 13:08:13 +0000 (13:08 +0000)]
Update libgomp/testsuite/*/examples-4/* according to latest version (4.0.2)

2015-07-13  Maxim Blumenthal  <maxim.blumenthal@intel.com>

* testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
* testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
* testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
* testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
* testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
* testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
* testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
* testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
* testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
* testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
* testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
* testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
(vec_mult_ref): Remove v1 and v2 arguments, turn them into local
variables.
(vec_mult): Likewise.  Add #pragma omp taskwait.
(main): Adjust caller.
* testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
* testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
* testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
* testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
* testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
* testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
* testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
* testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
* testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
* testsuite/libgomp.c/examples-4/device-1.c: ...this.
* testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
* testsuite/libgomp.c/examples-4/device-2.c: ...this.
* testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
* testsuite/libgomp.c/examples-4/device-3.c: ...this.
* testsuite/libgomp.c/examples-4/simd-1.c: New file.
* testsuite/libgomp.c/examples-4/simd-2.c: New file.
* testsuite/libgomp.c/examples-4/simd-3.c: New file.
* testsuite/libgomp.c/examples-4/simd-4.c: New file.
* testsuite/libgomp.c/examples-4/simd-5.c: New file.
* testsuite/libgomp.c/examples-4/simd-6.c: New file.
* testsuite/libgomp.c/examples-4/simd-7.c: New file.
* testsuite/libgomp.c/examples-4/simd-8.c: New file.
* testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
* testsuite/libgomp.c/examples-4/target-1.c: ...this.
* testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
* testsuite/libgomp.c/examples-4/target-2.c: ...this.
* testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
* testsuite/libgomp.c/examples-4/target-3.c: ...this.
* testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
* testsuite/libgomp.c/examples-4/target-4.c: ...this.
* testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
* testsuite/libgomp.c/examples-4/target-5.c: ...this.
* testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
* testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
* testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
* testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
* testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
* testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
* testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
* testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
* testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
* testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
* testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
* testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
* testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
* testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
* testsuite/libgomp.c/examples-4/teams-2.c: ...this.
* testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
* testsuite/libgomp.c/examples-4/teams-3.c: ...this.
* testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
* testsuite/libgomp.c/examples-4/teams-4.c: ...this.
* testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
* testsuite/libgomp.c/examples-4/teams-5.c: ...this.
* testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
* testsuite/libgomp.c/examples-4/teams-6.c: ...this.
* testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
(vec_mult): Add !$omp taskwait.
* testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
* testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
* testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
* testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
* testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
* testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
* testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
* testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
* testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
* testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
* testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
* testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
* testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
* testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
* testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
* testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
* testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.

From-SVN: r225735

9 years ago[AArch64][testsuite] Adjust some arith+compare tests for potentially more aggressive...
Kyrylo Tkachov [Mon, 13 Jul 2015 10:19:49 +0000 (10:19 +0000)]
[AArch64][testsuite] Adjust some arith+compare tests for potentially more aggressive if-conversion

* gcc.target/aarch64/adds3.c: Adjust for more aggressive
if-conversion..
* gcc.target/aarch64/adds1.c: Likewise.
* gcc.target/aarch64/ands_1.c: Likewise.
* gcc.target/aarch64/bics_1.c: Likewise.
* gcc.target/aarch64/subs1.c: Likewise.
* gcc.target/aarch64/subs3.c: Likewise.

From-SVN: r225732

9 years agoMark *.omp_data_i as non-trapping
Tom de Vries [Mon, 13 Jul 2015 09:46:37 +0000 (09:46 +0000)]
Mark *.omp_data_i as non-trapping

2015-07-13  Tom de Vries  <tom@codesourcery.com>

* omp-low.c (build_receiver_ref): Mark *.omp_data_i as non-trapping.

From-SVN: r225731

9 years agore PR fortran/64589 ([OOP] Linking error due to undefined integer symbol with unlimit...
Andre Vehreschild [Mon, 13 Jul 2015 09:01:54 +0000 (11:01 +0200)]
re PR fortran/64589 ([OOP] Linking error due to undefined integer symbol with unlimited polymorphism)

gcc/testsuite/ChangeLog:

2015-07-13  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/64589
* gfortran.dg/pr64589.f90: New test.

gcc/fortran/ChangeLog:

2015-07-13  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/64589
* class.c (find_intrinsic_vtab): Put/Search vtabs for intrinsic
types in the top-level namespace.

From-SVN: r225730

9 years ago[PATCH]Fix PR66556.
Renlin Li [Mon, 13 Jul 2015 08:29:46 +0000 (08:29 +0000)]
[PATCH]Fix PR66556.

[PATCH]Fix PR66556. Don't drop side-effect in
simplify_const_relational_operation function.

gcc/

2015-07-13  Renlin Li  <renlin.li@arm.com>

PR rtl/66556
* simplify-rtx.c (simplify_const_relational_operation): Add
side_effects_p checks.

gcc/testsuite/

2015-07-13  Renlin Li  <renlin.li@arm.com>

PR rtl/66556
* gcc.c-torture/execute/pr66556.c: New.

From-SVN: r225729

9 years agoFix several crashes of C++ demangler on fuzzed input.
Mikhail Maltsev [Mon, 13 Jul 2015 05:49:54 +0000 (05:49 +0000)]
Fix several crashes of C++ demangler on fuzzed input.

libiberty/
* cp-demangle.c (d_dump): Fix syntax error.
(d_identifier): Adjust type of len to match d_source_name.
(d_expression_1): Fix out-of-bounds access.  Check code variable for
NULL before dereferencing it.
(d_find_pack): Do not recurse for FIXED_TYPE, DEFAULT_ARG and NUMBER.
(d_print_comp_inner): Add NULL pointer check.
* cp-demangle.h (d_peek_next_char): Define as inline function when
CHECK_DEMANGLER is defined.
(d_advance): Likewise.
* testsuite/demangle-expected: Add new testcases.

From-SVN: r225727

9 years agoFix double word typos.
Aldy Hernandez [Mon, 13 Jul 2015 04:46:34 +0000 (04:46 +0000)]
Fix double word typos.

From-SVN: r225726

9 years agoDaily bump.
GCC Administrator [Mon, 13 Jul 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225725

9 years agore PR tree-optimization/66726 (missed optimization, factor conversion out of COND_EXPR)
Kugan Vivekanandarajah [Sun, 12 Jul 2015 11:22:42 +0000 (11:22 +0000)]
re PR tree-optimization/66726 (missed optimization, factor conversion out of COND_EXPR)

gcc/testsuite/ChangeLog:

2015-07-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
    Jeff Law  <law@redhat.com>

PR middle-end/66726
* g++.dg/tree-ssa/pr66726.c: New test.
* gcc.dg/tree-ssa/pr66726-2.c: New test.
* gcc.dg/tree-ssa/pr66726.c: New test.

gcc/ChangeLog:

2015-07-12  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/66726
* tree-ssa-phiopt.c(factor_out_conditional_conversion): New function.
tree_ssa_phiopt_worker): Call it.

Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r225722

9 years agocse.c (cse_insn): Calculate src_eqv for ZERO_EXTRACT.
Kugan Vivekanandarajah [Sun, 12 Jul 2015 11:16:30 +0000 (11:16 +0000)]
cse.c (cse_insn): Calculate src_eqv for ZERO_EXTRACT.

gcc/ChangeLog:

2015-07-12  Kugan Vivekanandarajah  <kuganv@linaro.org>

* cse.c (cse_insn): Calculate src_eqv for ZERO_EXTRACT.
* emit-rtl.c (set_for_reg_notes): Allow ZERO_EXTRACT to set
REG_EQUAL note.

From-SVN: r225721

9 years agoDaily bump.
GCC Administrator [Sun, 12 Jul 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225718

9 years agore PR c++/58734 ([C++11] Template template parameter pack instantiation problem)
Paolo Carlini [Sat, 11 Jul 2015 18:17:41 +0000 (18:17 +0000)]
re PR c++/58734 ([C++11] Template template parameter pack instantiation problem)

2015-07-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58734
* g++.dg/cpp0x/variadic-ttp2.C: New.

From-SVN: r225713

9 years ago2015-07-10 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Sat, 11 Jul 2015 17:53:42 +0000 (17:53 +0000)]
2015-07-10  Paolo Carlini  <paolo.carlini@oracle.com>

* Fix typo in the last ChangeLog entry.

From-SVN: r225712

9 years agore PR middle-end/66353 (Missing bb_has_abnormal_call_pred in basic-block.h)
Marek Polacek [Sat, 11 Jul 2015 10:03:38 +0000 (10:03 +0000)]
re PR middle-end/66353 (Missing bb_has_abnormal_call_pred in basic-block.h)

PR middle-end/66353
* basic-block.h (has_abnormal_call_or_eh_pred_edge_p): New function.
* ira-lives.c (bb_has_abnormal_call_pred): Remove function.
(process_bb_node_lives): Call has_abnormal_call_or_eh_pred_edge_p
rather than bb_has_abnormal_call_pred.
* lra-lives.c (bb_has_abnormal_call_pred): Remove function.
(process_bb_lives): Call has_abnormal_call_or_eh_pred_edge_p
rather than bb_has_abnormal_call_pred.

From-SVN: r225711

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

From-SVN: r225709

9 years agore PR c++/30044 (ICE in tsubst, at cp/pt.c:7359)
Patrick Palka [Fri, 10 Jul 2015 23:21:39 +0000 (23:21 +0000)]
re PR c++/30044 (ICE in tsubst, at cp/pt.c:7359)

Fix PR c++/30044

gcc/cp/ChangeLog:

PR c++/30044
* pt.c (begin_template_parm_list): Add a dummy parameter level
to current_template_parms.
(end_template_parm_list): Remove the dummy parameter level
before adding the real one.
(tsubst): Don't attempt to substitute for template parameters
corresponding to a dummy argument level.
(template_parms_to_args): Remove obsolete hack for
giving template template arguments the proper level.
(splite_late_return_type): Remove obsolete hack for giving
template template arguments the proper level.
* error.c (dump_template_decl): Don't print dummy template
levels.

gcc/testsuite/ChangeLog

PR c++/30044
* g++.dg/cpp0x/auto46.C: New test.
* g++.dg/template/pr30044.C: New test.
* g++.dg/template/shadow2.C: New test.
* g++.dg/template/error55.C: New test.
* g++.dg/template/crash83.C: Accept any error string.
* g++.dg/cpp0x/variadic18.C: Adjust to avoid shadowing template
parameters.
* g++.dg/cpp0x/variadic18.C: Likewise
* g++.dg/template/canon-type-13.C: Likewise.
* g++.old-deja/g++.pt/ttp42.C: Likewise.
* g++.dg/torture/20070621-1.C: Likewise.

From-SVN: r225706

9 years agore PR c++/54521 (g++ fails to call explicit constructors in the second step of copy...
Paolo Carlini [Fri, 10 Jul 2015 22:56:35 +0000 (22:56 +0000)]
re PR c++/54521 (g++ fails to call explicit constructors in the second step of copy initialization)

/cp
2015-07-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54521
* call.c (convert_like_real): Do not set LOOKUP_ONLYCONVERTING for
the second step of copy-initialization.

/testsuite
2015-07-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54521
* g++.dg/init/explicit3.C: New.

From-SVN: r225705

9 years agotypo
Jason Merrill [Fri, 10 Jul 2015 21:35:09 +0000 (17:35 -0400)]
typo

From-SVN: r225693

9 years agopt.c (find_parameter_packs_r): Handle variable templates.
Jason Merrill [Fri, 10 Jul 2015 21:35:04 +0000 (17:35 -0400)]
pt.c (find_parameter_packs_r): Handle variable templates.

* pt.c (find_parameter_packs_r): Handle variable templates.
(variable_template_specialization_p): New.
* cp-tree.h: Declare it.

From-SVN: r225692

9 years ago* parser.c (cp_parser_template_id): SET_EXPR_LOCATION.
Jason Merrill [Fri, 10 Jul 2015 21:34:59 +0000 (17:34 -0400)]
* parser.c (cp_parser_template_id): SET_EXPR_LOCATION.

From-SVN: r225691

9 years ago[V850] Hookize GO_IF_LEGITIMATE_ADDRESS
Anatoly Sokolov [Fri, 10 Jul 2015 21:31:19 +0000 (00:31 +0300)]
[V850] Hookize GO_IF_LEGITIMATE_ADDRESS

From-SVN: r225690