gcc.git
8 years agoFix PR/70013
Alan Lawrence [Fri, 11 Mar 2016 12:08:01 +0000 (12:08 +0000)]
Fix PR/70013

gcc:

PR tree-optimization/70013
* tree-sra.c (analyze_access_subtree): Also set grp_unscalarized_data
for constant-pool entries.

gcc/testsuite:

* gcc.dg/tree-ssa/sra-20.c: New.

From-SVN: r234138

8 years agore PR rtl-optimization/70174 (ICE at -O1 and above on x86_64-linux-gnu in gen_lowpart...
Jakub Jelinek [Fri, 11 Mar 2016 12:07:01 +0000 (13:07 +0100)]
re PR rtl-optimization/70174 (ICE at -O1 and above on x86_64-linux-gnu in gen_lowpart_general, at rtlhooks.c:63)

PR rtl-optimization/70174
* expmed.c (store_bit_field_using_insv): Use gen_lowpart_if_possible
followed by gen_lowpart on force_reg instead of just gen_lowpart.

* gcc.dg/pr70174.c: New test.

From-SVN: r234137

8 years agore PR tree-optimization/70169 (ICE at -O1 and above on x86_64-linux-gnu in gen_lsm_tm...
Jakub Jelinek [Fri, 11 Mar 2016 12:05:58 +0000 (13:05 +0100)]
re PR tree-optimization/70169 (ICE at -O1 and above on x86_64-linux-gnu in gen_lsm_tmp_name, at tree-ssa-loop.c:791)

PR tree-optimization/70169
* tree-ssa-loop.c (gen_lsm_tmp_name): Handle FUNCTION_DECL and
LABEL_DECL like VAR_DECL.  Emit nothing instead of gcc_unreachable
for unknown codes.

* gcc.dg/pr70169.c: New test.

From-SVN: r234136

8 years agore PR rtl-optimization/70160 (gcc ICE at -O2 (seg fault) and above on valid code...
Ilya Enkovich [Fri, 11 Mar 2016 11:25:29 +0000 (11:25 +0000)]
re PR rtl-optimization/70160 (gcc ICE at -O2 (seg fault) and above on valid code on x86_64-linux-gnu)

gcc/

PR target/70160
* config/i386/i386.c (scalar_chain::convert_reg): Skip uses
of uninitialized values.

gcc/testsuite/

PR target/70160
* gcc.target/i386/pr70160.c: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r234135

8 years agoS/390: Fix rounding for _Decimal128 to _Decimal32 conversion
Andreas Krebbel [Fri, 11 Mar 2016 07:47:47 +0000 (07:47 +0000)]
S/390: Fix rounding for _Decimal128 to _Decimal32 conversion

We do not have a direct conversion instruction from 128 bit DFP to 32
bit DFP so this needs to be done in two steps.  The first needs to be
done with the "prepare for shorter precision rounding mode" in order
to produce a correct result.

gcc/ChangeLog:

2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390.md ("trunctddd2"): Turn former define_insn into
define_expand.
("*trunctddd2"): New pattern definition.
("trunctdsd2"): Set prep_for_short_prec rounding mode for the
TD->DD truncation.

gcc/testsuite/ChangeLog:

2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* gcc.target/s390/dfp-1.c: New test.

From-SVN: r234134

8 years agoS/390: Define macros for rounding mode constants
Andreas Krebbel [Fri, 11 Mar 2016 07:24:41 +0000 (07:24 +0000)]
S/390: Define macros for rounding mode constants

This patch replaces a few magic numbers used for floating point
rounding modes with macros.  This is mostly a NoOp change apart from:

fixuns_truncdddi2, fixuns_trunctddi2, fixuns_trunc<mode>si2: Replace 5
with DFP_RND_TOWARD_0 (which is 9).

5 as well as 9 represent round towards 0 with the difference that for
5 the new DFP quantum exception is enabled as well.  This exception
isn't IEEE754 and we do not have an interface to enable and test it
anyway.  So we do not intend to enable it.  This so far should not
have any noticable effect since the quantum exception was not
observable through the Posix functions.

Some pattern ("fix_trunc<mode>di2") is already using rounding mode 9
correctly.

gcc/ChangeLog:

2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390.md (BFP_RND_*, DFP_RND_*): Add new constant
definitions for BFP and DFP rounding modes.
("fixuns_truncdddi2", "fixuns_trunctddi2")
("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2")
("fix_trunc<DSF:mode><GPR:mode>2", "fix_trunc<mode>di2")
("fix_trunctf<mode>2"): Use the new constants instead of magic
numbers.

From-SVN: r234133

8 years agoS/390: Rename shift_count_or_setmem_operand to setmem_operand
Andreas Krebbel [Fri, 11 Mar 2016 07:23:49 +0000 (07:23 +0000)]
S/390: Rename shift_count_or_setmem_operand to setmem_operand

The shift_count_or_setmem_operand predicate is now only used for
setmem patterns anymore.  Rename it together with the related
functions.

gcc/ChangeLog:

2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/constraints.md: Adjust comment.
("Y"): Adjust comment.  Rename s390_decompose_shift_count to
s390_decompose_addrstyle_without_index.
* config/s390/predicates.md (shift_count_or_setmem_operand):
Rename to setmem_operand.
* config/s390/s390-protos.h
(s390_decompose_shift_count): Rename to
s390_decompose_addrstyle_without_index.
* config/s390/s390.c (s390_decompose_shift_count)
(s390_mem_constraint, print_shift_count_operand)
(print_operand_address, print_operand): Rename
s390_decompose_shift_count to
s390_decompose_addrstyle_without_index and rename
print_shift_count_operand to print_addrstyle_operand troughout the
file.
* config/s390/s390.md ("setmem_long_<P:mode>", "*setmem_long")
("*setmem_long_and", "*setmem_long_31z", "*setmem_long_and_31z"):
Rename shift_count_or_setmem_operand to setmem_operand.
* config/s390/vx-builtins.md ("vec_insert<mode>")
("vec_promote<mode>"): Replace shift_count_or_setmem_operand with
nonmemory_operand.

From-SVN: r234132

8 years agoDaily bump.
GCC Administrator [Fri, 11 Mar 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r234130

8 years agore PR target/70168 (Wrong code generation in __sync_val_compare_and_swap on PowerPC)
Ulrich Weigand [Thu, 10 Mar 2016 23:58:44 +0000 (23:58 +0000)]
re PR target/70168 (Wrong code generation in __sync_val_compare_and_swap on PowerPC)

PR target/70168
* config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
Handle overlapping retval and newval.

From-SVN: r234126

8 years agore PR testsuite/70009 (test case libgomp.oacc-c-c++-common/vprop.c fails starting...
Cesar Philippidis [Thu, 10 Mar 2016 22:50:40 +0000 (14:50 -0800)]
re PR testsuite/70009 (test case libgomp.oacc-c-c++-common/vprop.c fails starting with its introduction in r233607)

libgomp/
PR testsuite/70009
* testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.

From-SVN: r234124

8 years ago* g++.dg/ubsan/pr70135.C: Don't rely on C++17 static_assert.
Jason Merrill [Thu, 10 Mar 2016 20:19:47 +0000 (15:19 -0500)]
* g++.dg/ubsan/pr70135.C: Don't rely on C++17 static_assert.

From-SVN: r234120

8 years agore PR target/7044 (vax casesi breakage)
Nick Clifton [Thu, 10 Mar 2016 17:24:16 +0000 (17:24 +0000)]
re PR target/7044 (vax casesi breakage)

PR target/7044
* config/aarch64/aarch64.c
(aarch64_override_options_after_change_1): When forcing
flag_omit_frame_pointer to be true, use a special value that can
be detected if this function is called again, thus preventing
flag_omit_leaf_frame_pointer from being forced to be false.

* gcc.target/aarch64/pr70044.c: New test.

From-SVN: r234118

8 years agore PR c++/70001 (Infinity compilation time)
Patrick Palka [Thu, 10 Mar 2016 17:23:06 +0000 (17:23 +0000)]
re PR c++/70001 (Infinity compilation time)

PR c++/70001
* constexpr.c (cxx_eval_vec_init_1): For pre_init case, reuse
return value from cxx_eval_constant_expression from earlier
elements if it is valid constant initializer requiring no
relocations.

* g++.dg/cpp0x/constexpr-70001-1.C: New test.
* g++.dg/cpp0x/constexpr-70001-2.C: New test.
* g++.dg/cpp0x/constexpr-70001-3.C: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r234117

8 years ago[AArch64] Fix thinko in handling of -momit-leaf-frame-pointer option
Kyrylo Tkachov [Thu, 10 Mar 2016 16:24:26 +0000 (16:24 +0000)]
[AArch64] Fix thinko in handling of -momit-leaf-frame-pointer option

* common/config/aarch64/aarch64-common.c (aarch64_handle_option):
Set x_flag_omit_leaf_frame_pointer when handling
-momit-leaf-frame-pointer.

From-SVN: r234116

8 years agore PR ipa/69589 (ICE in initialize_node_lattices, at ipa-cp.c:971)
Jan Hubicka [Thu, 10 Mar 2016 16:11:14 +0000 (17:11 +0100)]
re PR ipa/69589 (ICE in initialize_node_lattices, at ipa-cp.c:971)

PR lto/69589
* cgraph.c (cgraph_node::dump): Dump split_part and indirect_call_target.
* cgraph.h (cgraph_node): Add indirect_call_target flag.
* ipa.c (has_addr_references_p): Cleanup.
(is_indirect_call_target_p): New.
(walk_polymorphic_call_targets): Do not mark virtuals that may be
called indirectly as local.
(symbol_table::remove_unreachable_nodes): Compute indirect_call_target.

* g++.dg/lto/pr69589_0.C: New testcase
* g++.dg/lto/pr69589_1.C: New testcase

From-SVN: r234115

8 years agore PR lto/69630 (LTO ICE in types_same_for_odr at ipa-devirt.c:402)
Jan Hubicka [Thu, 10 Mar 2016 16:05:59 +0000 (17:05 +0100)]
re PR lto/69630 (LTO ICE in types_same_for_odr at ipa-devirt.c:402)

PR ipa/69630
* ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
on cxa_pure_virtual.

From-SVN: r234114

8 years agore PR ipa/69589 (ICE in initialize_node_lattices, at ipa-cp.c:971)
Jan Hubicka [Thu, 10 Mar 2016 16:02:55 +0000 (17:02 +0100)]
re PR ipa/69589 (ICE in initialize_node_lattices, at ipa-cp.c:971)

PR lto/69589
* tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL.

From-SVN: r234113

8 years agore PR ipa/69589 (ICE in initialize_node_lattices, at ipa-cp.c:971)
Jan Hubicka [Thu, 10 Mar 2016 16:02:00 +0000 (17:02 +0100)]
re PR ipa/69589 (ICE in initialize_node_lattices, at ipa-cp.c:971)

PR lto/69589
* tree.c (need_assembler_name_p): Only record main variant type names.

From-SVN: r234112

8 years agore PR c++/70153 (ICE on valid C++ code)
Marek Polacek [Thu, 10 Mar 2016 15:13:01 +0000 (15:13 +0000)]
re PR c++/70153 (ICE on valid C++ code)

PR c++/70153
* cp-gimplify.c (cp_fold): Handle UNARY_PLUS_EXPR.

* g++.dg/delayedfold/unary-plus1.C: New test.

From-SVN: r234111

8 years agopr45701-1.c: Escape brackets.
Andre Vieira [Thu, 10 Mar 2016 13:43:29 +0000 (13:43 +0000)]
pr45701-1.c: Escape brackets.

2016-03-10 Andre Vieira <andre.simoesdiasvieira@arm.com>

    gcc/testsuite/
    * gcc.target/arm/pr45701-1.c: Escape brackets.
    * gcc.target/arm/pr45701-2.c: Likewise.

From-SVN: r234109

8 years agore PR target/70113 ([AArch64] -mpc-relative-literal-loads conflicts with fix-cortex...
Christophe Lyon [Thu, 10 Mar 2016 13:29:48 +0000 (13:29 +0000)]
re PR target/70113 ([AArch64] -mpc-relative-literal-loads conflicts with fix-cortex-a53-843419)

2016-03-10  Christophe Lyon  <christophe.lyon@linaro.org>

PR target/70113.
* config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_843419_DEFAULT):
Always define to 0 or 1.
(TARGET_FIX_ERR_A53_843419): New macro.
* config/aarch64/aarch64-elf-raw.h
(TARGET_FIX_ERR_A53_843419_DEFAULT): Update for above changes.
* config/aarch64/aarch64-linux.h: Likewise.
* config/aarch64/aarch64.c
(aarch64_override_options_after_change_1): Do not default
aarch64_nopcrelative_literal_loads to true if Cortex-A53 erratum
843419 is on.
(aarch64_attributes): Handle fix-cortex-a53-843419.
(aarch64_can_inline_p): Likewise.
* config/aarch64/aarch64.opt (aarch64_fix_a53_err843419): Save.

From-SVN: r234108

8 years agoAdd -funconstrained-commons to work around PR/69368 (and others) in SPEC2006
Alan Lawrence [Thu, 10 Mar 2016 12:19:45 +0000 (12:19 +0000)]
Add -funconstrained-commons to work around PR/69368 (and others) in SPEC2006

gcc/:

        * common.opt (funconstrained-commons, flag_unconstrained_commons): New.
        * tree.c (array_at_struct_end_p): Do not limit to size of decl for
        DECL_COMMONS if flag_unconstrained_commons is set.
        * tree-dfa.c (get_ref_base_and_extent): Likewise.
        * doc/invoke.texi (Optimize Options): Add -funconstrained-commons.
        (funconstrained-commons): Document.

gcc/testsuite:

* gfortran.dg/unconstrained_commons.f: New.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r234106

8 years agot-aarch64 (OPTIONS_H_EXTRA): Add aarch64-fusion-pairs.def and aarch64-tuning-flags.def
Christophe Lyon [Thu, 10 Mar 2016 12:03:25 +0000 (12:03 +0000)]
t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-fusion-pairs.def and aarch64-tuning-flags.def

2016-03-10  Christophe Lyon  <christophe.lyon@linaro.org>

* config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add
aarch64-fusion-pairs.def and aarch64-tuning-flags.def

From-SVN: r234105

8 years agotree-vect-stmts.c (vectorizable_mask_load_store): Check mask has a proper number...
Ilya Enkovich [Thu, 10 Mar 2016 10:58:57 +0000 (10:58 +0000)]
tree-vect-stmts.c (vectorizable_mask_load_store): Check mask has a proper number of elements.

gcc/

* tree-vect-stmts.c (vectorizable_mask_load_store): Check mask
has a proper number of elements.

From-SVN: r234104

8 years agoPR69195, Reload confused by invalid reg_equiv
Alan Modra [Thu, 10 Mar 2016 10:47:13 +0000 (21:17 +1030)]
PR69195, Reload confused by invalid reg_equiv

Optimizing indirect jumps to direct jumps, and deleting dead insns can
lead to changes in register lifetimes, which in turn can result in bad
reg_equiv info being passed to reload.  So do these tasks before
calculating reg_equiv info.

gcc/
PR rtl-optimization/69195
PR rtl-optimization/47992
* ira.c (recorded_label_ref): Delete.
(update_equiv_regs): Return void.
(indirect_jump_optimize): New function.
(ira): Call indirect_jump_optimize and delete_trivially_dead_insns
before regstat_compute_ri.  Don't rebuild_jump_labels here.
Delete update_regstat.
gcc/testsuite/
* gcc.dg/pr69195.c: New.
* gcc.dg/pr69238.c: New.

From-SVN: r234101

8 years agoXfail pr46032.c scan if alignment requirements not met
Tom de Vries [Thu, 10 Mar 2016 08:37:01 +0000 (08:37 +0000)]
Xfail pr46032.c scan if alignment requirements not met

2016-03-10  Tom de Vries  <tom@codesourcery.com>

PR testsuite/68915
* gcc.dg/vect/pr46032.c: Xfail scan if alignment requirements not met.

From-SVN: r234100

8 years agore PR tree-optimization/70128 (Linux kernel div patching optimized away)
Richard Biener [Thu, 10 Mar 2016 08:06:03 +0000 (08:06 +0000)]
re PR tree-optimization/70128 (Linux kernel div patching optimized away)

2016-03-10  Richard Biener  <rguenther@suse.de>

PR tree-optimization/70128
* tree-ssa-structalias.c (set_uids_in_ptset): Set
vars_contains_nonlocal for any FUNCTION_DECL or LABEL_DECL.

* gcc.dg/tree-ssa/alias-34.c: New testcase.
* gcc.dg/tree-ssa/alias-35.c: Likewise.

From-SVN: r234099

8 years agoDaily bump.
GCC Administrator [Thu, 10 Mar 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r234097

8 years agore PR tree-optimization/70152 (gcc ICE at -O3 and above on valid code on x86_64-linux...
Jakub Jelinek [Wed, 9 Mar 2016 20:12:19 +0000 (21:12 +0100)]
re PR tree-optimization/70152 (gcc ICE at -O3 and above on valid code on x86_64-linux-gnu in "replace_uses_by")

PR tree-optimization/70152
* tree-sra.c (replace_removed_params_ssa_names): Copy over
SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name.

* gcc.dg/pr70152.c: New test.

From-SVN: r234092

8 years agore PR target/70086 (ICE: in extract_constrain_insn_cached, at recog.c:2202 (insn...
Jakub Jelinek [Wed, 9 Mar 2016 20:06:59 +0000 (21:06 +0100)]
re PR target/70086 (ICE: in extract_constrain_insn_cached, at recog.c:2202 (insn does not satisfy its constraints) with -mavx512vl -ffloat-store)

PR target/70086
* config/i386/i386.md (truncdfsf2 splitter): Use gen_vec_concatv2df
instead of gen_sse2_loadlpd.
* config/i386/sse.md (*vec_concatv2df): Rename to...
(vec_concatv2df): ... this.

* gcc.target/i386/pr70086-1.c: New test.
* gcc.target/i386/pr70086-2.c: New test.
* gcc.target/i386/pr70086-3.c: New test.

From-SVN: r234091

8 years agore PR middle-end/70127 (wrong code on x86_64-linux-gnu at -O3 in 32-bit and 64-bit...
Jakub Jelinek [Wed, 9 Mar 2016 20:05:40 +0000 (21:05 +0100)]
re PR middle-end/70127 (wrong code on x86_64-linux-gnu at -O3 in 32-bit and 64-bit modes)

PR tree-optimization/70127
* fold-const.c (operand_equal_p): Revert the 2015-10-28 change.

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

From-SVN: r234090

8 years agoc-parser.c (c_parser_oacc_loop): Update cclauses and clauses when calling c_finish_om...
Cesar Philippidis [Wed, 9 Mar 2016 19:39:53 +0000 (11:39 -0800)]
c-parser.c (c_parser_oacc_loop): Update cclauses and clauses when calling c_finish_omp_clauses.

gcc/c/
* c-parser.c (c_parser_oacc_loop): Update cclauses and clauses
when calling c_finish_omp_clauses.

gcc/cp/
* parser.c (cp_parser_oacc_loop): Update cclauses and clauses
when calling c_finish_omp_clauses.

gcc/testsuite/
* c-c++-common/goacc/combined-directives-2.c: New test.

From-SVN: r234089

8 years agoPR c++/70105: prevent nonsensical underline spew for macro expansions
David Malcolm [Wed, 9 Mar 2016 18:23:27 +0000 (18:23 +0000)]
PR c++/70105: prevent nonsensical underline spew for macro expansions

diagnostic_show_locus can sometimes do the wrong thing when handling
expressions built up from macros.

PR c++/70105 (currently marked as a P3 regression) has an example of
a diagnostic where over 500 lines of irrelevant source are printed,
and underlined, giving >1000 lines of useless spew to stderr.

This patch adds extra sanitization to diagnostic-show-locus.c, so that
we only attempt to print underlines and secondary locations if such
locations are "sufficiently sane" relative to the primary location
of a diagnostic.

This "sufficiently sane" condition is implemented by a new helper
function compatible_locations_p, which requires such locations to
have the same macro expansion hierarchy as the primary location,
using linemap_macro_map_loc_unwind_toward_spelling, effectively
mimicing the expansion performed by LRK_SPELLING_LOCATION.

This may be too strong a condition, but it effectively fixes
PR c++/70105, without removing any underlines in my testing.

Successfully bootstrapped&regrtested in combination with the previous
patch on x86_64-pc-linux-gnu; adds 15 new PASS results to g++.sum
and 4 new PASS results to gcc.sum.

gcc/ChangeLog:
PR c/68473
PR c++/70105
* diagnostic-show-locus.c (compatible_locations_p): New function.
(layout::layout): Sanitize ranges using compatible_locations_p.

gcc/testsuite/ChangeLog:
PR c/68473
PR c++/70105
* g++.dg/diagnostic/pr70105.C: New test.
* gcc.dg/plugin/diagnostic-test-expressions-1.c (foo): New decl.
(test_multiple_ordinary_maps): New test function.

libcpp/ChangeLog:
PR c/68473
PR c++/70105
* line-map.c (linemap_macro_map_loc_unwind_toward_spelling): Move
decl...
* include/line-map.h
(linemap_macro_map_loc_unwind_toward_spelling): ...here,
converting from static to extern.

From-SVN: r234088

8 years agoPR c++/70105: Defer location expansion until diagnostic_show_locus
David Malcolm [Wed, 9 Mar 2016 18:14:43 +0000 (18:14 +0000)]
PR c++/70105: Defer location expansion until diagnostic_show_locus

gcc/ChangeLog:
PR c/68473
PR c++/70105
* diagnostic-show-locus.c (layout_range::layout_range): Replace
location_range param with three const expanded_locations * and a
bool.
(layout::layout): Replace call to
rich_location::lazily_expand_location with get_expanded_location.
Extract the range and perform location expansion here, passing
the results to the layout_range ctor.
* diagnostic.c (source_range::debug): Delete.
* diagnostic.h (diagnostic_expand_location): Reimplement in terms
of rich_location::get_expanded_location.
* gcc-rich-location.c (get_range_for_expr): Delete.
(gcc_rich_location::add_expr): Reimplement to avoid the
rich_location::add_range overload that took a location_range,
passing a location_t instead.

gcc/testsuite/ChangeLog:
PR c/68473
PR c++/70105
* gcc.dg/plugin/diagnostic_plugin_show_trees.c (show_tree):
Drop range information from call to inform_at_rich_loc.
* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c (add_range):
New.
(test_show_locus): Replace calls to rich_location::add_range with
calls to add_range.  Rewrite the tests that used the now-defunct
rich_location ctor taking a source_range.  Simplify other tests
by replacing calls to COMBINE_LOCATION_DATA with calls to
make_location.

libcpp/ChangeLog:
PR c/68473
PR c++/70105
* include/line-map.h (source_range::debug): Delete.
(struct location_range): Update comment.  Replace
expanded_location fields "m_start", "m_finish", and "m_caret" with
a source_location field: "m_loc".
(class rich_location): Reword comment.
(rich_location::get_loc): Reimplement in terms of a new overloaded
variant which takes an unsigned int.
(rich_location::get_loc_addr): Delete.
(rich_location::add_range): Drop params "start" and "finish" in
favor of param "loc".  Drop overloaded variants taking a
source_range or location_range *.
(rich_location::lazily_expand_location): Delete in favor of...
(rich_location::get_expanded_location): New decl.
(rich_location::m_loc): Delete field.
(rich_location::m_column_override): New field.
* line-map.c (rich_location::rich_location):  Drop name of
line_maps * param.  Update initializations for deletion of field
"m_loc" and addition of field "m_column_override".  Reimplement
body as a call to add_range.  Delete overloaded variant taking a
source_range.
(rich_location::get_loc): New function.
(rich_location::lazily_expand_location): Delete in favor of...
(rich_location::get_expanded_location): New function.
(rich_location::override_column): Reimplement.
(rich_location::add_range): Drop params "start" and "finish" in
favor of param "loc".  Eliminate location expansion in favor of
simply storing loc.  Drop overloaded variants taking a
source_range or location_range *.
(rich_location::set_range): Eliminate location expansion.

From-SVN: r234087

8 years agore PR tree-optimization/70138 (wrong code at -O3 on x86_64-linux-gnu)
Richard Biener [Wed, 9 Mar 2016 16:41:19 +0000 (16:41 +0000)]
re PR tree-optimization/70138 (wrong code at -O3 on x86_64-linux-gnu)

2016-03-09  Richard Biener  <rguenther@suse.de>
Jakub Jelinek  <jakub@redhat.com>

PR tree-optimization/70138
* tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
Also skip vect_double_reduction_def.

* gcc.dg/vect/pr70138-1.c: New testcase.
* gcc.dg/vect/pr70138-2.c: Likewise.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r234086

8 years agore PR target/70049 (Error: operand size mismatch for `vpextrw' (wrong assembly genera...
Jakub Jelinek [Wed, 9 Mar 2016 14:10:58 +0000 (15:10 +0100)]
re PR target/70049 (Error: operand size mismatch for `vpextrw' (wrong assembly generated) with -masm=intel)

PR target/70049
* config/i386/sse.md (*vec_extract<mode>): Use %0 instead of %k0
if the operand is "m".

* gcc.target/i386/pr70049.c: New test.

From-SVN: r234085

8 years agore PR c/70143 (false strict-aliasing warning)
Richard Biener [Wed, 9 Mar 2016 14:01:16 +0000 (14:01 +0000)]
re PR c/70143 (false strict-aliasing warning)

2016-03-09  Richard Biener  <rguenther@suse.de>

c-family/
PR c/70143
* c-common.c (strict_aliasing_warning): Add back
alias_sets_conflict_p check.

* gcc.dg/Wstrict-aliasing-bogus-upcast.c: New testcase.
* gcc.dg/Wstrict-aliasing-struct-with-char-member.c: Likewise.
* gcc.dg/Wstrict-aliasing-struct-member.c: Remove again.

From-SVN: r234084

8 years ago* config/nvptx/nvptx.c (nvptx_option_override): Don't kill debug level.
Nathan Sidwell [Wed, 9 Mar 2016 13:33:03 +0000 (13:33 +0000)]
* config/nvptx/nvptx.c (nvptx_option_override): Don't kill debug level.

From-SVN: r234083

8 years agoReally don't xfail gcc.dg/vect/bb-slp-34.c on aarch64, arm
Rainer Orth [Wed, 9 Mar 2016 13:09:02 +0000 (13:09 +0000)]
Really don't xfail gcc.dg/vect/bb-slp-34.c on aarch64, arm

* gcc.dg/vect/bb-slp-34.c: Really don't xfail on aarch64-*-*,
arm-*-*.

From-SVN: r234081

8 years agore PR target/67278 (ICE: verify_gimple failed on darwin 14.5 x86_64)
Jakub Jelinek [Wed, 9 Mar 2016 09:23:53 +0000 (10:23 +0100)]
re PR target/67278 (ICE: verify_gimple failed on darwin 14.5 x86_64)

PR middle-end/67278
* gcc.dg/simd-7.c: Add -w -Wno-psabi to dg-options.

From-SVN: r234080

8 years agore PR target/67278 (ICE: verify_gimple failed on darwin 14.5 x86_64)
Jakub Jelinek [Wed, 9 Mar 2016 09:20:18 +0000 (10:20 +0100)]
re PR target/67278 (ICE: verify_gimple failed on darwin 14.5 x86_64)

PR target/67278
* gcc.dg/simd-8.c: Add -w -Wno-psabi to dg-options.

PR middle-end/70050
* gcc.dg/pr70050.c: Add -w to dg-options.  Fix up PR number
in testcase comment.

From-SVN: r234079

8 years agoAdd oacc kernels testcases in libgomp.oacc-fortran
Tom de Vries [Wed, 9 Mar 2016 09:14:21 +0000 (09:14 +0000)]
Add oacc kernels testcases in libgomp.oacc-fortran

2016-03-09  Tom de Vries  <tom@codesourcery.com>

* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
Same.
* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
* testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.

From-SVN: r234078

8 years agoAdd oacc kernels test-cases in gfortran.dg/goacc
Tom de Vries [Wed, 9 Mar 2016 09:14:05 +0000 (09:14 +0000)]
Add oacc kernels test-cases in gfortran.dg/goacc

2016-03-09  Tom de Vries  <tom@codesourcery.com>

* gfortran.dg/goacc/kernels-loop-2.f95: New test.
* gfortran.dg/goacc/kernels-loop-data-2.f95: New test.
* gfortran.dg/goacc/kernels-loop-data-enter-exit-2.f95: New test.
* gfortran.dg/goacc/kernels-loop-data-enter-exit.f95: New test.
* gfortran.dg/goacc/kernels-loop-data-update.f95: New test.
* gfortran.dg/goacc/kernels-loop-data.f95: New test.
* gfortran.dg/goacc/kernels-loop-n.f95: New test.
* gfortran.dg/goacc/kernels-loop.f95: New test.

From-SVN: r234077

8 years agoFix cost table initialization order for AMD znver1 target.
Venkataramanan Kumar [Wed, 9 Mar 2016 07:32:11 +0000 (07:32 +0000)]
Fix cost table initialization order for AMD znver1 target.

2016-03-09  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>

        *  config/i386/i386.c (processor_target_table): Fix cost table
        intialization order for znver1.

From-SVN: r234076

8 years agoPR c++/62096 - unexpected warning overflow in implicit constant conversion
Martin Sebor [Wed, 9 Mar 2016 04:20:07 +0000 (04:20 +0000)]
PR c++/62096 - unexpected warning overflow in implicit constant conversion

gcc/testsuite/ChangeLog:
2016-03-08  Martin Sebor  <msebor@redhat.com>

        PR c++/62096
        * g++.dg/warn/overflow-warn-7.C: New test.

From-SVN: r234075

8 years agoDaily bump.
GCC Administrator [Wed, 9 Mar 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r234074

8 years agoRemove Concepts from -std=c++1z.
Jason Merrill [Tue, 8 Mar 2016 22:30:44 +0000 (17:30 -0500)]
Remove Concepts from -std=c++1z.

gcc/c-family/
* c-opts.c (set_std_cxx1z): Don't enable concepts.
gcc/testsuite/
* lib/g++-dg.exp (g++-dg-runtest): Handle "concepts" in std list.
* lib/target-supports.exp (check_effective_target_concepts): New.
gcc/cp/
* parser.c (cp_parser_diagnose_invalid_type_name): Give helpful
diagnostic for use of "concept".
(cp_parser_requires_clause_opt): And "requires".
(cp_parser_type_parameter, cp_parser_late_return_type_opt)
(cp_parser_explicit_template_declaration): Adjust.
* Make-lang.in (check-c++-all): Add "concepts" to std list.

From-SVN: r234069

8 years agoP0036R0: Unary Folds and Empty Parameter Packs
Jason Merrill [Tue, 8 Mar 2016 22:30:30 +0000 (17:30 -0500)]
P0036R0: Unary Folds and Empty Parameter Packs

* pt.c (expand_empty_fold): Remove special cases for *,+,&,|.

From-SVN: r234068

8 years agore PR sanitizer/70135 (-fsanitize=undefined causes static_assert to fail)
Jakub Jelinek [Tue, 8 Mar 2016 20:05:21 +0000 (21:05 +0100)]
re PR sanitizer/70135 (-fsanitize=undefined causes static_assert to fail)

PR c++/70135
* constexpr.c (cxx_eval_loop_expr): Forget saved values of SAVE_EXPRs
even after the last iteration of the loop.

* g++.dg/cpp1y/constexpr-loop4.C: New test.
* g++.dg/ubsan/pr70135.C: New test.

From-SVN: r234064

8 years agoipa-polymorphic-call.c (walk_ssa_copies): Fix spelling - becuase -> because.
Jakub Jelinek [Tue, 8 Mar 2016 17:49:34 +0000 (18:49 +0100)]
ipa-polymorphic-call.c (walk_ssa_copies): Fix spelling - becuase -> because.

* ipa-polymorphic-call.c (walk_ssa_copies): Fix spelling
- becuase -> because.
* ipa-reference.c (ignore_module_statics): Likewise.
* cgraph.c (cgraph_node::get_body): Likewise.
* ipa-inline.c (early_inliner): Likewise.
* ipa-devirt.c (types_same_for_odr): Likewise.
* tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise.
* config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Likewise.
cp/
* decl.c (duplicate_decls): Fix spelling - becuase -> because.
lto/
* lto-symtab.h (lto_symtab_prevail_decl): Fix spelling
- becuase -> because.

From-SVN: r234061

8 years ago[obvious] Fix typo in tree-ssa-math-opts.c
Kyrylo Tkachov [Tue, 8 Mar 2016 13:39:09 +0000 (13:39 +0000)]
[obvious] Fix typo in tree-ssa-math-opts.c

* tree-ssa-math-opts.c: Fix typo in comment.

From-SVN: r234058

8 years agore PR target/70110 (ICE at -O3 in the 32-bit mode in set_last_insn, at emit-rtl.h...
Jakub Jelinek [Tue, 8 Mar 2016 08:05:26 +0000 (09:05 +0100)]
re PR target/70110 (ICE at -O3 in the 32-bit mode in set_last_insn, at emit-rtl.h:420)

PR target/70110
* config/i386/i386.c (scalar_chain::make_vector_copies,
scalar_chain::convert_reg): Call end_sequence in between
get_insns and emit_conversion_insns rather than after both
calls.

* gcc.dg/pr70110.c: New test.

From-SVN: r234057

8 years ago* sv.po: Update.
Joseph Myers [Tue, 8 Mar 2016 01:35:13 +0000 (01:35 +0000)]
* sv.po: Update.

From-SVN: r234056

8 years agoDaily bump.
GCC Administrator [Tue, 8 Mar 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r234055

8 years agore PR target/70064 (Wrong code with custom flags and quite big testcase @ i686)
Uros Bizjak [Mon, 7 Mar 2016 19:54:02 +0000 (20:54 +0100)]
re PR target/70064 (Wrong code with custom flags and quite big testcase @ i686)

PR target/70064
* config/i386/i386.h (machine_function): Add
pc_thunk_call_expanded flag.
(ix86_pc_thunk_call_expanded): New define.
* config/i386/i386.md (set_got, set_got_labelled): New expanders.
(*set_got): Rename insn pattern from set_got.
(*set_got_labelled): Rename inst pattern from set_got_labelled.
* config/i386/i386.c (ix86_compute_frame_layout): Use
ix86_pc_thunk_call_expanded to prevent red-zone.

From-SVN: r234050

8 years ago[hsa testsuite] New directory for HSA-specific C testcases
Martin Jambor [Mon, 7 Mar 2016 18:45:17 +0000 (19:45 +0100)]
[hsa testsuite] New directory for HSA-specific C testcases

2016-03-07  Martin Jambor  <mjambor@suse.cz>

* testsuite/lib/libgomp.exp
(check_effective_target_hsa_offloading_selected_nocache): New.
(check_effective_target_hsa_offloading_selected): Likewise.
* testsuite/libgomp.hsa.c/c.exp: Likewise.
* testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
* testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
* testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
* testsuite/libgomp.hsa.c/complex-1.c: Likewise.
* testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
* testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
* testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
* testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
* testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
* testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
* testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
* testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
* testsuite/libgomp.hsa.c/pr69568.c: Likewise.
* testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
* testsuite/libgomp.hsa.c/switch-1.c: Likewise.
* testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.

From-SVN: r234047

8 years ago[hsa testsuite] Adjust libgomp tests that do not work on host fallback
Martin Jambor [Mon, 7 Mar 2016 18:42:33 +0000 (19:42 +0100)]
[hsa testsuite] Adjust libgomp tests that do not work on host fallback

2016-03-07  Martin Jambor  <mjambor@suse.cz>

* testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
non-shared memory accelerators.
* testsuite/libgomp.c/examples-4/device-1.c: Likewise.
* testsuite/libgomp.c/examples-4/target-5.c: Likewise.
* testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
* testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
* testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
* testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
* testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
* testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
* testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.

From-SVN: r234046

8 years ago[hsa testsuite] Suppress hsa warnings in libgomp tests
Martin Jambor [Mon, 7 Mar 2016 18:41:18 +0000 (19:41 +0100)]
[hsa testsuite] Suppress hsa warnings in libgomp tests

2016-03-07  Martin Jambor  <mjambor@suse.cz>

* testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
ALWAYS_CFLAGS.

From-SVN: r234045

8 years ago[hsa testsuite] Suppress hsa warnings in compiler gomp tests
Martin Jambor [Mon, 7 Mar 2016 18:39:51 +0000 (19:39 +0100)]
[hsa testsuite] Suppress hsa warnings in compiler gomp tests

2016-03-07  Martin Jambor  <mjambor@suse.cz>

* c-c++-common/gomp/clauses-1.c: Remove dg-options.
* c-c++-common/gomp/if-1.c: Likewise.
* c-c++-common/gomp/pr61486-2.c: Likewise.
* c-c++-common/gomp/target-teams-1.c: Moved dg-options except -fopenmp
to dg-additional-options.
* g++.dg/gomp/gomp.exp: Pass -Wno-hsa to all tests.
* g++/gomp/target-teams-1.c: Likewise.
* gcc.dg/gomp/gomp.exp: Likewise.
* gcc.dg/gomp/pr68128-2.c: Moved dg-options except -fopenmp to
dg-additional-options.
* gfortran.dg/gomp/gomp.exp: Likewise.
* gfortran.dg/gomp/target1.f90: Remove dg-options.
* gfortran.dg/gomp/target2.f90: Moved dg-options except -fopenmp to
dg-additional-options.
* gfortran.dg/gomp/target3.f90: Remove dg-options.

From-SVN: r234044

8 years ago[hsa testsuite] Gridification tests
Martin Jambor [Mon, 7 Mar 2016 18:37:20 +0000 (19:37 +0100)]
[hsa testsuite] Gridification tests

2016-03-07  Martin Jambor  <mjambor@suse.cz>

* lib/target-supports.exp (check_effective_target_offload_hsa): New.
* c-c++-common/gomp/gridify-1.c: New test.
        * gfortran.dg/gomp/gridify-1.f90: Likewise.

From-SVN: r234043

8 years ago[hsa] Consodlidate GTY roots for trees used during expansion to HSA
Martin Jambor [Mon, 7 Mar 2016 18:31:53 +0000 (19:31 +0100)]
[hsa] Consodlidate GTY roots for trees used during expansion to HSA

2016-03-07  Martin Jambor  <mjambor@suse.cz>

* hsa.h (hsa_get_ctor_statements): Declare.
(hsa_get_dtor_statements): Likewise.
(hsa_get_kernel_dispatch_type): Likewise.
* hsa.c (hsa_get_ctor_statements): New function.
(hsa_get_dtor_statements): Likewise.
(hsa_get_kernel_dispatch_type): Likewise.
* hsa-brig.c (hsa_cdtor_statements): Removed.
(hsa_output_libgomp_mapping): Use hsa_get_ctor_statements and
hsa_get_dtor_statements.
* hsa-gen.c (hsa_kernel_dispatch_type): Removed.
(get_hsa_kernel_dispatch_offset): Use hsa_get_kernel_dispatch_type.

From-SVN: r234042

8 years agopr45701-1.c: Change assembler scan to not trigger for cortex-r8, when scanning for...
Andre Vieira [Mon, 7 Mar 2016 18:04:31 +0000 (18:04 +0000)]
pr45701-1.c: Change assembler scan to not trigger for cortex-r8, when scanning for register r8.

2016-03-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>

    * gcc.target/arm/pr45701-1.c: Change assembler scan to not
    trigger for cortex-r8, when scanning for register r8.
    * gcc.target/arm/pr45701-2.c: Likewise.

From-SVN: r234041

8 years agoarm-cores.def (cortex-r8): New.
Andre Vieira [Mon, 7 Mar 2016 18:04:20 +0000 (18:04 +0000)]
arm-cores.def (cortex-r8): New.

2016-03-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>

    gcc/
    * config/arm/arm-cores.def (cortex-r8): New.
    * config/arm/arm-tables.opt (cortex-r8): Regenerate.
    * config/arm/arm-tune.md: Likewise.
    * gcc/doc/invoke.texi: Add cortex-r8 to list of cpu values.

From-SVN: r234040

8 years agoPR rtl-optimization/19705 - -fno-branch-count-reg doesn't prevent decrement
Martin Sebor [Mon, 7 Mar 2016 17:10:12 +0000 (17:10 +0000)]
PR rtl-optimization/19705 - -fno-branch-count-reg doesn't prevent decrement

PR rtl-optimization/19705 - -fno-branch-count-reg doesn't prevent decrement
and branch instructions on a count register

gcc/ChangeLog:
2016-03-07  Martin Sebor  <msebor@redhat.com>

PR rtl-optimization/19705
* doc/invoke.texi (Options That Control Optimization): Clarify
-fno-branch-count-reg.

From-SVN: r234039

8 years agoAdjust fix for PR c++/66786
Patrick Palka [Mon, 7 Mar 2016 17:09:53 +0000 (17:09 +0000)]
Adjust fix for PR c++/66786

gcc/cp/ChangeLog:

PR c++/66786
* pt.c (get_template_info): Handle PARM_DECL.
(template_class_depth): Check DECL_P instead of
VAR_OR_FUNCTION_DECL_P.

From-SVN: r234038

8 years agore PR tree-optimization/69740 (gcc ICE at -O2 and above on valid code on x86_64-linux...
Richard Biener [Mon, 7 Mar 2016 17:01:54 +0000 (17:01 +0000)]
re PR tree-optimization/69740 (gcc ICE at -O2 and above on valid code on x86_64-linux-gnu in "verify_loop_structure")

PR tree-optimization/69740
* cfghooks.c (remove_edge): Request loop fixups if we delete
an edge that might turn an irreducible loop into a natural
loop.
* cfgloop.h (check_verify_loop_structure): Clear LOOPS_NEED_FIXUP.
Move after definition of loops_state_clear.

PR tree-optimization/69740
* gcc.c-torture/compile/pr69740-1.c: New test.
* gcc.c-torture/compile/pr69740-2.c: New test.

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

8 years agoAdd style checks to check_GNU_style.sh.
Martin Sebor [Mon, 7 Mar 2016 17:01:44 +0000 (17:01 +0000)]
Add style checks to check_GNU_style.sh.

gcc/contrib/ChangeLog:
2016-03-07  Martin Sebor  <msebor@redhat.com>

* check_GNU_style.sh (color): New global variable.
Add checks for trailing operators and spaces before left brackets.
Tightened up a check for a trailing left curly brace.
(g, ag, vg): Use color.
(col): Don't complain about excessively long lines with DejaGnu
directives.

From-SVN: r234035

8 years agore PR rtl-optimization/69052 (Performance regression after r229402.)
Bin Cheng [Mon, 7 Mar 2016 16:39:27 +0000 (16:39 +0000)]
re PR rtl-optimization/69052 (Performance regression after r229402.)

PR rtl-optimization/69052
* rtlanal.c (commutative_operand_precedence): Set higher precedence
to CONST_WIDE_INT.

From-SVN: r234034

8 years ago2016-03-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Bill Schmidt [Mon, 7 Mar 2016 15:22:34 +0000 (15:22 +0000)]
2016-03-07  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* lib/target-supports.exp
(check_effective_target_whole_vector_shift): Enable for PPC64.

From-SVN: r234032

8 years agoSkip ubsan/asan internal fns with different location in tail-merge
Tom de Vries [Mon, 7 Mar 2016 14:50:13 +0000 (14:50 +0000)]
Skip ubsan/asan internal fns with different location in tail-merge

2016-03-07  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/70116
* tree-ssa-tail-merge.c (merge_stmts_p): New function, handling
is_tm_ending stmts and ubsan/asan internal functions.
(find_duplicate): Use it.  Don't test is_tm_ending here.

From-SVN: r234029

8 years agore PR tree-optimization/70115 (gcc ICE at -O2 (seg fault) and above on valid code...
Richard Biener [Mon, 7 Mar 2016 14:15:56 +0000 (14:15 +0000)]
re PR tree-optimization/70115 (gcc ICE at -O2 (seg fault) and above on valid code on x86_64-linux-gnu)

2016-03-07  Richard Biener  <rguenther@suse.de>

PR tree-optimization/70115
* tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Remove.
(propagate_constants_for_unrolling): Use replace_uses_by.

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

From-SVN: r234027

8 years agore PR middle-end/69916 ([openacc] ICE in single_succ_edge called from oacc_loop_xform...
Nathan Sidwell [Mon, 7 Mar 2016 13:22:07 +0000 (13:22 +0000)]
re PR middle-end/69916 ([openacc] ICE in single_succ_edge called from oacc_loop_xform_loop)

gcc/
PR middle-end/69916
* omp-low.c (struct oacc_loop): Add ifns.
(new_oacc_loop_raw): Initialize it.
(finish_oacc_loop): Clear mask & flags if no ifns.
(oacc_loop_discover_walk): Count IFN_GOACC_LOOP calls.
(oacc_loop_xform_loop): Add ifns arg & adjust.
(oacc_loop_process): Adjust oacc_loop_xform_loop call.

gcc/testsuite/
PR middle-end/69916
* c-c-++-common/goacc/pr69916.c: New.

From-SVN: r234026

8 years agore PR rtl-optimization/70061 (ICE: SIGSEGV in delete_insn_chain() with unused label)
Richard Henderson [Mon, 7 Mar 2016 11:48:57 +0000 (03:48 -0800)]
re PR rtl-optimization/70061 (ICE: SIGSEGV in delete_insn_chain() with unused label)

PR rtl-opt/70061

  * tree-outofssa.c (emit_partition_copy): Flush pending stack adjust.
  (insert_value_copy_on_edge): Likewise.

  * gcc.c-torture/compile/pr70061.c: New test.

From-SVN: r234025

8 years agore PR testsuite/70109 (FAIL: gcc.dg/vect/O3-pr36098.c scan-tree-dump-times vect ...
Richard Biener [Mon, 7 Mar 2016 11:45:49 +0000 (11:45 +0000)]
re PR testsuite/70109 (FAIL: gcc.dg/vect/O3-pr36098.c scan-tree-dump-times vect "vectorizing stmts usin g SLP" 0)

2016-03-07  Richard Biener  <rguenther@suse.de>

PR testsuite/70109
* gcc.dg/vect/O3-pr36098.c: New testcase.

From-SVN: r234024

8 years ago[ARM] Error out of arm_neon.h if compiling for soft-float ABI
Kyrylo Tkachov [Mon, 7 Mar 2016 11:45:41 +0000 (11:45 +0000)]
[ARM] Error out of arm_neon.h if compiling for soft-float ABI

* config/arm/arm_neon.h: Show error if using with soft-float ABI.

From-SVN: r234023

8 years agoOnly assume 4-byte stack alignment on 32-bit Solaris/x86 (PR target/62281)
Rainer Orth [Mon, 7 Mar 2016 09:51:31 +0000 (09:51 +0000)]
Only assume 4-byte stack alignment on 32-bit Solaris/x86 (PR target/62281)

PR target/62281
* config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define.

From-SVN: r234022

8 years agopragma_cpp_fma.c: Reset default FPU.
Christophe Lyon [Mon, 7 Mar 2016 09:43:48 +0000 (09:43 +0000)]
pragma_cpp_fma.c: Reset default FPU.

2016-03-07  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/arm/pragma_cpp_fma.c: Reset default FPU.

From-SVN: r234021

8 years agotrans.c (statement_node_p): New predicate.
Eric Botcazou [Mon, 7 Mar 2016 08:46:52 +0000 (08:46 +0000)]
trans.c (statement_node_p): New predicate.

* gcc-interface/trans.c (statement_node_p): New predicate.
(gnat_to_gnu): Invoke it to detect statement nodes.  In ASIS mode, do
not return dummy results for expressions attached to packed array
implementation types.

From-SVN: r234020

8 years agodecl.c (gnat_to_gnu_entity): Always mark the expression of a renaming manually in...
Eric Botcazou [Mon, 7 Mar 2016 08:08:27 +0000 (08:08 +0000)]
decl.c (gnat_to_gnu_entity): Always mark the expression of a renaming manually in case #3.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Always mark
the expression of a renaming manually in case #3.

From-SVN: r234018

8 years agoDaily bump.
GCC Administrator [Mon, 7 Mar 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r234017

8 years agoteach mklog to look in the current directory for ChangeLog files
Trevor Saunders [Sun, 6 Mar 2016 17:36:19 +0000 (17:36 +0000)]
teach mklog to look in the current directory for ChangeLog files

 when run in repos other than gcc mklog fails to find ChangeLog files
because it looks for $0/../$dir/ChangeLog, but of course if the diff is
for a project other than gcc that might not exist.  It should be fine to
also look for $cwd/$dir/ChangeLog, and use that if we find it.  This
means that for example in binutils-gdb.git you can do git commit,
and then in your editor read git diff HEAD~ | mklog - to generate a
template ChangeLog for that commit.

contrib/ChangeLog:

2016-03-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* mklog: Look for the ChangeLog file in $cwd.

From-SVN: r234014

8 years agore PR c++/67364 ("accessing uninitialized member" error in constexpr context)
Jason Merrill [Sun, 6 Mar 2016 06:47:22 +0000 (01:47 -0500)]
re PR c++/67364 ("accessing uninitialized member" error in constexpr context)

PR c++/67364
* constexpr.c (cxx_eval_store_expression): Replace
CONSTRUCTOR_ELTS in nested CONSTRUCTORs, too.

From-SVN: r234013

8 years agoDaily bump.
GCC Administrator [Sun, 6 Mar 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r234012

8 years agolibffi: Match upstream soname
Richard Henderson [Sat, 5 Mar 2016 18:25:20 +0000 (10:25 -0800)]
libffi: Match upstream soname

  * libtool-version: Increase to 7:0:0.
  * libffi.map.in: Increase version numbers to 7.0.

From-SVN: r234009

8 years agoFix Multiply costs for AMD -march=znver1.
Venkataramanan Kumar [Sat, 5 Mar 2016 17:20:22 +0000 (17:20 +0000)]
Fix Multiply costs for AMD -march=znver1.

2016-03-05  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>

        * config/i386/i386.c (znver1_cost): Fix Multiply cost.

From-SVN: r234008

8 years agoFix sseimul type attribute.
Venkataramanan Kumar [Sat, 5 Mar 2016 12:33:09 +0000 (12:33 +0000)]
Fix sseimul type attribute.

2016-03-05  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>

        Fix sseimul type attribute.
        * config/i386/znver1.md
        (znver1_sseimul, znver1_sseimul_avx256, znver1_sseimul_load,
        znver1_sseimul_avx256_load) : Fix the type attribute.
        (znver1_sseimul_di,
        znver1_sseimul_load_di): Fix type attribute, pipe usage and latency.

From-SVN: r234007

8 years ago* sr.po: Update.
Joseph Myers [Sat, 5 Mar 2016 12:07:03 +0000 (12:07 +0000)]
* sr.po: Update.

From-SVN: r234006

8 years agore PR c++/70084 (va_arg ((ap), int) regression on s390*-*)
Jakub Jelinek [Sat, 5 Mar 2016 06:50:23 +0000 (07:50 +0100)]
re PR c++/70084 (va_arg ((ap), int) regression on s390*-*)

PR c++/70084
* tree-inline.c (copy_tree_body_r): When cancelling ADDR_EXPR
of INDIRECT_REF and ADDR_EXPR changed type, fold_convert it
to the right type.

* g++.dg/expr/stdarg3.C: New test.

From-SVN: r234004

8 years agore PR tree-optimization/69196 (code size regression with jump threading at -O2)
Jeff Law [Sat, 5 Mar 2016 06:12:09 +0000 (23:12 -0700)]
re PR tree-optimization/69196 (code size regression with jump threading at -O2)

PR tree-optimization/69196
* gcc.dg/tree-ssa/pr69196-1.c: Limit this to sparc*-*-* and
x86_64-*-*.

From-SVN: r234003

8 years agore PR c/69973 (ICE on excessive attribute vector_size)
Bernd Schmidt [Sat, 5 Mar 2016 05:36:42 +0000 (22:36 -0700)]
re PR c/69973 (ICE on excessive attribute vector_size)

PR c/69973
* targhooks.c (default_vector_alignment): Limit to MAX_OFILE_ALIGNMENT.

PR c/69973
* gcc.dg/pr69973.c: New test.

From-SVN: r234002

8 years agore PR rtl-optimization/69941 (bogus zero_extend transformation in postreload on aarch64)
Bernd Schmidt [Sat, 5 Mar 2016 05:30:10 +0000 (22:30 -0700)]
re PR rtl-optimization/69941 (bogus zero_extend transformation in postreload on aarch64)

PR rtl-optimization/69941
* postreload.c (reload_combine_recognize_pattern): Ensure all uses of
the reg share its mode.

PR rtl-optimization/69941
* gcc.dg/torture/pr69941.c: New test.

From-SVN: r234001

8 years agore PR c/69824 (internal compiler error in unshare_body)
Bernd Schmidt [Sat, 5 Mar 2016 05:22:01 +0000 (22:22 -0700)]
re PR c/69824 (internal compiler error in unshare_body)

PR c/69824
* c-decl.c (get_parm_info): Don't queue implicit function declarations
for later.

PR c/69824
* gcc.dg/pr69824.c: New test.

From-SVN: r234000

8 years agore PR tree-optimization/69196 (code size regression with jump threading at -O2)
Jeff Law [Sat, 5 Mar 2016 05:10:58 +0000 (22:10 -0700)]
re PR tree-optimization/69196 (code size regression with jump threading at -O2)

PR tree-optimization/69196
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
If the both SSA_NAMEs are anonymous, then consider them unassociated
and include the PHI in the statement count.

From-SVN: r233999

8 years agoHandle oacc region in oacc routine
Tom de Vries [Sat, 5 Mar 2016 02:48:30 +0000 (02:48 +0000)]
Handle oacc region in oacc routine

2016-03-05  Tom de Vries  <tom@codesourcery.com>

* omp-low.c (check_omp_nesting_restrictions): Check for non-oacc
construct in oacc routine.  Check for oacc region in oacc routine.

* c-c++-common/goacc/nesting-fail-1.c (f_acc_routine): New function.
* c-c++-common/goacc-gomp/nesting-fail-1.c (f_acc_routine): New
function.

From-SVN: r233998

8 years agoFix PR c++/66786 (ICE with nested lambdas in variable template)
Patrick Palka [Sat, 5 Mar 2016 01:59:04 +0000 (01:59 +0000)]
Fix PR c++/66786 (ICE with nested lambdas in variable template)

gcc/cp/ChangeLog:

PR c++/66786
* pt.c (template_class_depth): Given a lambda type, iterate
into its LAMBDA_TYPE_EXTRA_SCOPE field instead of its
TYPE_CONTEXT.  Given a VAR_DECL, iterate into its
CP_DECL_CONTEXT.

gcc/testsuite/ChangeLog:

PR c++/66786
* g++.dg/cpp1y/var-templ48.C: New test.
* g++.dg/cpp1y/var-templ49.C: New test.

From-SVN: r233997

8 years agoDaily bump.
GCC Administrator [Sat, 5 Mar 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r233994

8 years ago* g++.dg/Wno-frame-address.C: Skip on IA-64.
Eric Botcazou [Fri, 4 Mar 2016 22:56:18 +0000 (22:56 +0000)]
* g++.dg/Wno-frame-address.C: Skip on IA-64.

From-SVN: r233988

8 years agore PR c++/69203 (ICE in potential_constant_expression_1, at cp/constexpr.c:4754)
Jason Merrill [Fri, 4 Mar 2016 22:53:29 +0000 (17:53 -0500)]
re PR c++/69203 (ICE in potential_constant_expression_1, at cp/constexpr.c:4754)

PR c++/69203

* cp-tree.h (COND_EXPR_IS_VEC_DELETE): New.
* init.c (build_vec_delete_1): Set it.
* constexpr.c (potential_constant_expression_1) [COND_EXPR]: Check it.

From-SVN: r233987

8 years agoSync include/plugin-api.h with binutils.
Cary Coutant [Fri, 4 Mar 2016 22:15:55 +0000 (14:15 -0800)]
Sync include/plugin-api.h with binutils.

2016-03-03  Than McIntosh <thanm@google.com>

* plugin-api.h: Add new hooks to the plugin transfer vector to
to support querying section alignment and section size.
(ld_plugin_get_input_section_alignment): New hook.
(ld_plugin_get_input_section_size): New hook.
(ld_plugin_tag): Add LDPT_GET_INPUT_SECTION_ALIGNMENT
and LDPT_GET_INPUT_SECTION_SIZE.
(ld_plugin_tv): Add tv_get_input_section_alignment and
tv_get_input_section_size.

2016-03-03  Evgenii Stepanov  <eugenis@google.com>

* plugin-api.h (enum ld_plugin_tag): Add LDPT_GET_SYMBOLS_V3.

From-SVN: r233986

8 years agodecl.c (start_preparsed_function): Don't emit start clobber at the start of construct...
Jakub Jelinek [Fri, 4 Mar 2016 22:11:41 +0000 (23:11 +0100)]
decl.c (start_preparsed_function): Don't emit start clobber at the start of constructor clones.

* decl.c (start_preparsed_function): Don't emit start clobber at the
start of constructor clones.

From-SVN: r233985