platform/upstream/gcc.git
8 years agoS/390: Get rid of Y constraint in rotate patterns.
Andreas Krebbel [Tue, 1 Mar 2016 09:21:23 +0000 (09:21 +0000)]
S/390: Get rid of Y constraint in rotate patterns.

This patch introduces substitution patterns to add PLUS const_int, and
AND operands to patterns and uses this to rewrite the existing rotate
pattern.

gcc/ChangeLog:

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

* config/s390/predicates.md (const_int_6bitset_operand): New
        predicates.
* config/s390/s390.md: Include subst.md.
("rotl<mode>3"): New expander.
("rotl<mode>3", "*rotl<mode>3_and"): Merge insn definitions into
...
("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition.
* config/s390/subst.md: New file.

From-SVN: r233843

8 years agoS/390: Use enabled attribute overrides to disable
Andreas Krebbel [Tue, 1 Mar 2016 09:20:12 +0000 (09:20 +0000)]
S/390: Use enabled attribute overrides to disable
 alternatives.

So far whenever we wanted to disable an alternative we have used mode
attributes emitting constraints matching an earlier alternative
assuming that due to this the later alternative will never be chosen.

With this patch the `enabled' attribute, which so far is only set from
`cpu_facility', is overridden to 0 to disable certain alternatives.
This comes handy when defining the substitutions later and while
adding it anyway I've used it for the existing cases as well.

gcc/ChangeLog:

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

* config/s390/s390.md ("op_type", "atype", "length" attributes):
Remove RRR type.  It doesn't really exist.
("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode
attributes.
("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes.
("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3")
("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3")
("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3")
("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2")
("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override
`enabled' attribute.

From-SVN: r233842

8 years agogensupport: Fix define_subst operand renumbering.
Andreas Krebbel [Tue, 1 Mar 2016 09:19:14 +0000 (09:19 +0000)]
gensupport: Fix define_subst operand renumbering.

When processing substitutions the operands are renumbered.  To find a
free operand number the array used_operands_numbers is used.
Currently this array is used to assign new numbers before all the
RTXes in the vector have been processed.  I did run into problems with
this for insns where a match_dup occurred in a later (use ...) operand
referring to an earlier operand (e.g. s390.md "setmem_long").

The patch splits the loop doing the processing into two in order to
have all the operand numbers collected already when assigning new
numbers.

gcc/ChangeLog:

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

* gensupport.c (process_substs_on_one_elem): Split loop to
complete mark_operands_used_in_match_dup on all expressions in the
vector first.
(adjust_operands_numbers): Inline into process_substs_on_one_elem
and remove function.

From-SVN: r233841

8 years agore PR target/70011 (test case gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect...
Bill Schmidt [Tue, 1 Mar 2016 04:14:15 +0000 (04:14 +0000)]
re PR target/70011 (test case gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr29925.c fails)

2016-02-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR target/70011
* gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr299925.c:
XFAIL when hardware supports efficient unaligned storage access.

From-SVN: r233840

8 years agoFix PR c++/69961 (invalid ctor call with dependent args)
Patrick Palka [Tue, 1 Mar 2016 01:24:44 +0000 (01:24 +0000)]
Fix PR c++/69961 (invalid ctor call with dependent args)

gcc/cp/ChangeLog:

PR c++/68948
PR c++/69961
* pt.c (tsubst_baselink): Reinstate the check for an invalid
constructor call.

gcc/testsuite/ChangeLog:

PR c++/69961
* g++.dg/template/pr69961a.C: New test.
* g++.dg/template/pr69961b.C: New test.

From-SVN: r233838

8 years agoPR preprocessor/69985: fix ICE with long lines in -Wformat
David Malcolm [Tue, 1 Mar 2016 01:02:49 +0000 (01:02 +0000)]
PR preprocessor/69985: fix ICE with long lines in -Wformat

gcc/testsuite/ChangeLog:
PR preprocessor/69985
* gcc.dg/cpp/pr69985.c: New test case.

libcpp/ChangeLog:
PR preprocessor/69985
(linemap_position_for_loc_and_offset): Rename param from "offset"
to "column_offset".  Right-shift the column_offset by m_range_bits
of the pertinent ordinary map whenever offsetting a
source_location.  For clarity, offset the column by the column
offset, rather than the other way around.

From-SVN: r233836

8 years agore PR target/69706 (internal compiler error: in extract_constrain_insn, at recog...
Eric Botcazou [Tue, 1 Mar 2016 00:22:26 +0000 (00:22 +0000)]
re PR target/69706 (internal compiler error: in extract_constrain_insn, at recog.c:2246)

PR target/69706
* config/sparc/sparc.c (NWORDS_UP): Rename to...
(CEIL_NWORDS): ...this.  Use CEIL macro.
(compute_fp_layout): Adjust to above renaming.
(function_arg_union_value): Likewise.
(sparc_arg_partial_bytes): Likewise.
(sparc_function_arg_advance): Likewise.

From-SVN: r233833

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

From-SVN: r233832

8 years agore PR tree-optimization/70005 (wrong code at -O2 and -O3 on x86_64-linux-gnu)
Jeff Law [Tue, 1 Mar 2016 00:04:48 +0000 (17:04 -0700)]
re PR tree-optimization/70005 (wrong code at -O2 and -O3 on x86_64-linux-gnu)

PR tree-optimization/70005
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case
where an object with a boolean range is compared against a value
outside [0..1].

PR tree-optimization/70005
* gcc.c-torture/execute/pr70005.c New test.

From-SVN: r233829

8 years agore PR tree-optimization/69999 (ICE in verify_loop_structure, at cfgloop.c:1639 (error...
Jeff Law [Mon, 29 Feb 2016 22:45:41 +0000 (15:45 -0700)]
re PR tree-optimization/69999 (ICE in verify_loop_structure, at cfgloop.c:1639 (error: loop with header 3 not in loop tree) at -O3 or -Ofast)

PR tree-optimization/69999
* gimple-ssa-split-paths.c (split_paths): When duplicating a block
with an outgoing edge marked with EDGE_IRREDUCIBLE_LOOP, schedule
loop cleanups.

PR tree-optimization/69999
* gcc.c-torture/compile/pr69999.c: New test.

From-SVN: r233824

8 years ago* sv.po: Update.
Joseph Myers [Mon, 29 Feb 2016 20:48:24 +0000 (20:48 +0000)]
* sv.po: Update.

From-SVN: r233820

8 years agoPoison ENABLE_CHECKING macro
Martin Liska [Mon, 29 Feb 2016 15:40:20 +0000 (16:40 +0100)]
Poison ENABLE_CHECKING macro

* system.h: Poison ENABLE_CHECKING macro.

From-SVN: r233817

8 years agore PR target/69994 (test case gfortran.dg/reassoc_6.f fails starting with r233669)
Richard Biener [Mon, 29 Feb 2016 15:30:50 +0000 (15:30 +0000)]
re PR target/69994 (test case gfortran.dg/reassoc_6.f fails starting with r233669)

2016-02-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69994
* tree-ssa-reassoc.c (gimple_nop_conversion_p): New function.
(get_unary_op): Look through nop conversions.
(ops_equal_values_p): New function, look for equality diregarding
nop conversions.
(eliminate_plus_minus_pair): Use ops_equal_values_p
(repropagate_negates): Do not use get_unary_op here.

From-SVN: r233816

8 years agoReplace ENABLE_CHECKING macro with flag_checking in GNAT
Martin Liska [Mon, 29 Feb 2016 15:30:08 +0000 (16:30 +0100)]
Replace ENABLE_CHECKING macro with flag_checking in GNAT

* gcc-interface/utils.c (set_reverse_storage_order_on_pad_type):
Replace ENABLE_CHECKING macro with flag_checking.

From-SVN: r233815

8 years agoHSA: reduce dump output w/o -details flag
Martin Liska [Mon, 29 Feb 2016 15:15:27 +0000 (16:15 +0100)]
HSA: reduce dump output w/o -details flag

* hsa-gen.c (gen_body_from_gimple): Dump only if TDF_DETAILS
is presented in dump flags.
* hsa-regalloc.c (linear_scan_regalloc): Likewise.
(hsa_regalloc): Likewise.

From-SVN: r233814

8 years agore PR tree-optimization/69652 ([ICE] verify_ssa fail w/ -O2 -ffast-math -ftree-vectorize)
Yuri Rumyantsev [Mon, 29 Feb 2016 14:32:24 +0000 (14:32 +0000)]
re PR tree-optimization/69652 ([ICE] verify_ssa fail w/ -O2 -ffast-math -ftree-vectorize)

gcc/testsuite/

2016-02-29  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR tree-optimization/69652
* gcc.dg/torture/pr69652.c: Delete test.
* gcc.dg/vect/pr69652.c: New test.

From-SVN: r233811

8 years agore PR c++/69995 ([C++14] Invalid result when evaluating constexpr function)
Jason Merrill [Mon, 29 Feb 2016 14:25:57 +0000 (09:25 -0500)]
re PR c++/69995 ([C++14] Invalid result when evaluating constexpr function)

PR c++/69995
* constexpr.c (cxx_eval_store_expression): Unshare init.

From-SVN: r233810

8 years agore PR tree-optimization/69980 (Supposedly wrong SLP code emitted)
Richard Biener [Mon, 29 Feb 2016 13:24:24 +0000 (13:24 +0000)]
re PR tree-optimization/69980 (Supposedly wrong SLP code emitted)

2016-02-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69980
* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update
permutation of those we need to keep.

* gfortran.dg/vect/pr69980.f90: New testcase.

From-SVN: r233809

8 years agore PR target/69706 (internal compiler error: in extract_constrain_insn, at recog...
Eric Botcazou [Mon, 29 Feb 2016 10:20:31 +0000 (10:20 +0000)]
re PR target/69706 (internal compiler error: in extract_constrain_insn, at recog.c:2246)

PR target/69706
* config/sparc/sparc.c (ROUND_ADVANCE): Rename to...
(NWORDS_UP): ...this
(init_cumulative_args): Minor tweaks.
(sparc_promote_function_mode): Likewise.
(scan_record_type): Delete.
(traverse_record_type): New function template.
(classify_data_t): New structure type.
(classify_registers): New inline function.
(function_arg_slotno): In 64-bit mode, bail out early if FP slots are
exhausted.  Instantiate traverse_record_type on classify_registers and
deal with the case of a structure passed in slot #15 with no FP field
in the first word.
(assign_data_t): New structure type.
(compute_int_layout): New static function.
(compute_fp_layout): Likewise.
(count_registers): New inline function.
(assign_int_registers): New static function.
(assign_fp_registers): Likewise.
(assign_registers): New inline function.
(function_arg_record_value_1): Delete.
(function_arg_record_value_2): Likewise.
(function_arg_record_value_3): Likewise.
(function_arg_record_value): Adjust to above changes.  Instantiate
traverse_record_type on count_registers to first count the number of
registers to be used and then on assign_registers to assign them.
(function_arg_union_value): Adjust to above renaming.
(sparc_function_arg_1); Minor tweaks.  Remove commented out code.
(sparc_arg_partial_bytes): Adjust to above renaming.  Deal with the
case of a structure passed in slot #15
(sparc_function_arg_advance): Likewise.
(function_arg_padding): Minor tweak.

From-SVN: r233808

8 years agodecl.c (gnat_to_gnu_entity): Retrofit handling of unconstrained array types as design...
Eric Botcazou [Mon, 29 Feb 2016 09:30:09 +0000 (09:30 +0000)]
decl.c (gnat_to_gnu_entity): Retrofit handling of unconstrained array types as designated types into common...

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Retrofit
handling of unconstrained array types as designated types into common
processing.  Also handle array types as incomplete designated types.

From-SVN: r233807

8 years agodecl.c (gnat_to_gnu_entity): In ASIS mode, fully lay out the minimal record type.
Eric Botcazou [Mon, 29 Feb 2016 09:21:12 +0000 (09:21 +0000)]
decl.c (gnat_to_gnu_entity): In ASIS mode, fully lay out the minimal record type.

* gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In
ASIS mode, fully lay out the minimal record type.

From-SVN: r233806

8 years agotrans.c (finalize_nrv_r): Remove obsolete code.
Eric Botcazou [Mon, 29 Feb 2016 09:16:57 +0000 (09:16 +0000)]
trans.c (finalize_nrv_r): Remove obsolete code.

* gcc-interface/trans.c (finalize_nrv_r): Remove obsolete code.
(build_return_expr): Likewise.
(Call_to_gnu): If this is a function call and there is no target,
create a temporary for the return value for all aggregate types,
but never create it for a return statement.  Push a binding level
around the call in more cases.  Remove obsolete code.

From-SVN: r233805

8 years agoada-tree.h (DECL_RETURN_VALUE_P): New macro.
Eric Botcazou [Mon, 29 Feb 2016 09:02:46 +0000 (09:02 +0000)]
ada-tree.h (DECL_RETURN_VALUE_P): New macro.

* gcc-interface/ada-tree.h (DECL_RETURN_VALUE_P): New macro.
* gcc-interface/gigi.h (gigi): Remove useless attribute.
(gnat_gimplify_expr): Likewise.
(gnat_to_gnu_external): Declare.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Factor out
code dealing with the expression of external constants into...
Invoke gnat_to_gnu_external instead.
<E_Variable>: Invoke gnat_to_gnu_external to translate renamed objects
when not for a definition.  Deal with COMPOUND_EXPR and variables with
DECL_RETURN_VALUE_P set for renamings and with the case of a dangling
'reference to a function call in a renaming.  Remove obsolete test and
adjust associated comment.
* gcc-interface/trans.c (Call_to_gnu): Set DECL_RETURN_VALUE_P on the
temporaries created to hold the return value, if any.
(gnat_to_gnu_external): ...this.  New function.
* gcc-interface/utils.c (create_var_decl): Detect a constant created
to hold 'reference to function call.
* gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Add folding
for COMPOUND_EXPR in the DECL_RETURN_VALUE_P case.

From-SVN: r233804

8 years agore PR tree-optimization/69720 (wrong code at -O3 on x86_64-linux-gnu)
Richard Biener [Mon, 29 Feb 2016 08:45:17 +0000 (08:45 +0000)]
re PR tree-optimization/69720 (wrong code at -O3 on x86_64-linux-gnu)

2016-02-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69720
* tree-vect-loop.c (get_initial_def_for_reduction): Avoid
the adjustment_def path for possibly vectorized defs.
(vect_create_epilog_for_reduction): Handle vectorized initial
defs properly.

* gcc.dg/vect/vect-outer-pr69720.c: New testcase.

From-SVN: r233803

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

From-SVN: r233801

8 years agore PR fortran/68147 (Potential incorrect code generation for string self-assignment)
Thomas Koenig [Sun, 28 Feb 2016 22:27:55 +0000 (22:27 +0000)]
re PR fortran/68147 (Potential incorrect code generation for string self-assignment)

2016-02-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/68147
PR fortran/47674
* frontend-passes.c (realloc_string_callback): Don't set
walk_subtrees.

2016-02-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/68147
PR fortran/47674
* gfortran.dg/realloc_on_assign_26.f90:  New test case.

From-SVN: r233797

8 years agodump-parse-tree.c (show_code_node): Print association list of a block if present.
Thomas Koenig [Sun, 28 Feb 2016 22:24:27 +0000 (22:24 +0000)]
dump-parse-tree.c (show_code_node): Print association list of a block if present.

2016-02-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

* dump-parse-tree.c (show_code_node):  Print association
list of a block if present.  Handle EXEC_END_BLOCK.

From-SVN: r233796

8 years agore PR fortran/56007 (Remarkably bad error message with DO array=1,2)
Harald Anlauf [Sun, 28 Feb 2016 19:07:42 +0000 (19:07 +0000)]
re PR fortran/56007 (Remarkably bad error message with DO array=1,2)

2016-02-28  Harald Anlauf <anlauf@gmx.de>
    Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/56007
* match.c (gfc_match_iterator): Add diagnostic for array variable
as do loop index.

* gfortran.dg/coarray_8.f90: Adjust error message.
* gfortran.dg/pr56007.f90: New test.
* gfortran.dg/pr56007.f: New test.

Co-Authored-By: Jerry DeLisle <jvdelisle@gcc.gnu.org>
From-SVN: r233795

8 years agoAdd a test for PR tree-optimization/69989
H.J. Lu [Sun, 28 Feb 2016 17:41:45 +0000 (17:41 +0000)]
Add a test for PR tree-optimization/69989

PR tree-optimization/69989
* gcc.dg/torture/pr69989.c: New test.

From-SVN: r233792

8 years ago* config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define.
Eric Botcazou [Sun, 28 Feb 2016 14:36:41 +0000 (14:36 +0000)]
* config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define.

From-SVN: r233791

8 years agore PR fortran/60126 (Internal compiler error with code using pointer reshaping (gfort...
Harald Anlauf [Sun, 28 Feb 2016 13:39:39 +0000 (13:39 +0000)]
re PR fortran/60126 (Internal compiler error with code using pointer reshaping (gfortran 4.8.2))

2016-02-28  Harald Anlauf  <anlauf@gmx.de>

PR fortran/60126
* gfortran.dg/pr60126.f90: New test.

From-SVN: r233790

8 years agoRevert
Jeff Law [Sun, 28 Feb 2016 06:34:20 +0000 (23:34 -0700)]
Revert
2016-02-26  Richard Biener  <rguenther@suse.de>
    Jeff Law  <law@redhat.com>

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.

Revert
2016-02-26  Richard Biener  <rguenther@suse.de>
    Jeff Law  <law@redhat.com>

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

From-SVN: r233787

8 years agoDaily bump.
GCC Administrator [Sun, 28 Feb 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r233786

8 years ago2016-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Jerry DeLisle [Sat, 27 Feb 2016 22:04:08 +0000 (22:04 +0000)]
2016-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

Fix ChangeLogs

From-SVN: r233783

8 years agore PR fortran/69910 (ICE with NEWUNIT)
Jerry DeLisle [Sat, 27 Feb 2016 19:07:13 +0000 (19:07 +0000)]
re PR fortran/69910 (ICE with NEWUNIT)

2016-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
    Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/69110
* io.c (gfc_match_open): Check that open status is an expression
constant before comparing string to 'scratch' with NEWUNIT.

* gfortran.dg/newunit_4.f90: New test.

Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>
From-SVN: r233782

8 years agore PR target/69613 (wrong code with -O and simple 128bit arithmetics and vectors...
Jakub Jelinek [Sat, 27 Feb 2016 13:31:39 +0000 (14:31 +0100)]
re PR target/69613 (wrong code with -O and simple 128bit arithmetics and vectors @ aarch64)

PR target/69613
PR rtl-optimization/69886
* gcc.dg/torture/pr69886.c: Add -w -Wno-psabi to dg-options.
* gcc.dg/torture/pr69613.c: Likewise.  Guard -mavx with avx_runtime
target.

From-SVN: r233781

8 years agoRight size for events
Alessandro Fanfarillo [Sat, 27 Feb 2016 11:57:16 +0000 (04:57 -0700)]
Right size for events

From-SVN: r233779

8 years agore PR rtl-optimization/69896 (wrong code with -frename-registers @ x64_64)
Jakub Jelinek [Sat, 27 Feb 2016 06:43:20 +0000 (07:43 +0100)]
re PR rtl-optimization/69896 (wrong code with -frename-registers @ x64_64)

PR rtl-optimization/69896
* tree-vect-generic.c (get_compute_type): Avoid single element
vector types.

From-SVN: r233777

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

From-SVN: r233775

8 years agoRename the tuning option and related functions to enable the Newton series for the...
Evandro Menezes [Fri, 26 Feb 2016 23:41:53 +0000 (23:41 +0000)]
Rename the tuning option and related functions to enable the Newton series for the reciprocal square root to reflect its approximative characteristic.

gcc/
* config/aarch64/aarch64-protos.h (aarch64_emit_swrsqrt): Rename
function to "aarch64_emit_approx_rsqrt".
* config/aarch64/aarch64-tuning-flags.def: Rename tuning flag to
AARCH64_EXTRA_TUNE_APPROX_RSQRT.
* config/aarch64/aarch64.c (exynosm1_tunigs): Use new flag name.
(xgene1_tunings): Likewise.
(use_rsqrt_p): Likewise.
(aarch64_emit_swrsqrt): Use new function name.
* config/aarch64/aarch64-simd.md (aarch64_rsqrts_*): Likewise.
* config/aarch64/aarch64.opt (mlow-precision-recip-sqrt): Reword the
text explaining this option.
* doc/invoke.texi (-mlow-precision-recip-sqrt): Likewise.

From-SVN: r233772

8 years agoPR tree-optimization/15826 - don't use "if" to extract a single bit
Martin Sebor [Fri, 26 Feb 2016 23:24:29 +0000 (23:24 +0000)]
PR tree-optimization/15826 - don't use "if" to extract a single bit

PR tree-optimization/15826 - don't use "if" to extract a single bit
bit-field
2016-02-26  Martin Sebor  <msebor@redhat.com>

        PR tree-optimization/15826
        * gcc.dg/tree-ssa/pr15826.c: New test.

From-SVN: r233771

8 years agore PR target/69969 (Function attribute no-vsx)
Jakub Jelinek [Fri, 26 Feb 2016 22:35:00 +0000 (23:35 +0100)]
re PR target/69969 (Function attribute no-vsx)

PR target/69969
* config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
complain about -mallow-movmisalign without -mvsx if
TARGET_ALLOW_MOVMISALIGN was not set explicitly.

* gcc.target/powerpc/pr69969.c: New test.

From-SVN: r233767

8 years agoPR c++/15766 - bad parse error recovery (2 bugs)
Martin Sebor [Fri, 26 Feb 2016 21:50:15 +0000 (14:50 -0700)]
PR c++/15766 - bad parse error recovery (2 bugs)

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

PR c++/15766
* g++.old-deja/g++.other/decl5.C: Add a test case.

From-SVN: r233765

8 years agoconfig-list.mk: Add aarch64-rtems and x86_64-rtems
Joel Sherrill [Fri, 26 Feb 2016 20:03:19 +0000 (20:03 +0000)]
config-list.mk: Add aarch64-rtems and x86_64-rtems

2016-02-26  Joel Sherrill <joel@rtems.org>

* config-list.mk: Add aarch64-rtems and x86_64-rtems

From-SVN: r233763

8 years agoconfig.host: Add x86_64-*-rtems*.
Joel Sherrill [Fri, 26 Feb 2016 20:02:28 +0000 (20:02 +0000)]
config.host: Add x86_64-*-rtems*.

2016-02-26  Joel Sherrill <joel@rtems.org>

* config.host: Add x86_64-*-rtems*.

From-SVN: r233762

8 years agoconfig.gcc: Add x86_64-*-rtems*.
Joel Sherrill [Fri, 26 Feb 2016 20:01:34 +0000 (20:01 +0000)]
config.gcc: Add x86_64-*-rtems*.

2016-02-26  Joel Sherrill <joel@rtems.org>

* config.gcc: Add x86_64-*-rtems*.
* gcc/config/i386/rtems-64.h: New file.

From-SVN: r233761

8 years agoconfig.gcc: Add aarch64-*-rtems*.
Joel Sherrill [Fri, 26 Feb 2016 19:59:55 +0000 (19:59 +0000)]
config.gcc: Add aarch64-*-rtems*.

2016-02-26  Joel Sherrill <joel@rtems.org>

* config.gcc: Add aarch64-*-rtems*.
* gcc/config/aarch64/rtems.h: New file.

From-SVN: r233760

8 years agoconfig.host: Add aarch64-*-rtems*.
Joel Sherrill [Fri, 26 Feb 2016 19:59:04 +0000 (19:59 +0000)]
config.host: Add aarch64-*-rtems*.

2016-02-26  Joel Sherrill <joel@rtems.org>

* libgcc/config.host: Add aarch64-*-rtems*.

From-SVN: r233759

8 years agore PR c++/69958 (sizeof... computes wrong size)
Jason Merrill [Fri, 26 Feb 2016 19:54:33 +0000 (14:54 -0500)]
re PR c++/69958 (sizeof... computes wrong size)

PR c++/69958
* pt.c (make_argument_pack): New.
(tsubst_copy) [SIZEOF_EXPR]: Handle partial expansion.
(tsubst_copy_and_build): Likewise.

From-SVN: r233758

8 years ago[hsa,testsuite] Introduce offload_device_shared_as effective target
Keith McDaniel [Fri, 26 Feb 2016 19:42:31 +0000 (19:42 +0000)]
[hsa,testsuite] Introduce offload_device_shared_as effective target

2016-02-26  Keith McDaniel <k.allen.mcdaniel@gmail.com>
    Martin Jambor  <mjambor@suse.cz>

* testsuite/lib/libgomp.exp
(check_effective_target_offload_device_shared_as): New proc.
* testsuite/libgomp.c++/declare_target-1.C: New test.

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

8 years agosfp-machine.h (_FP_DECL_EX): Declare _fpsr as a union of u64 and double.
Paul E. Murphy [Fri, 26 Feb 2016 19:20:54 +0000 (19:20 +0000)]
sfp-machine.h (_FP_DECL_EX): Declare _fpsr as a union of u64 and double.

2016-02-26  Paul E. Murphy  <murphyp@linux.vnet.ibm.com>
    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/sfp-machine.h (_FP_DECL_EX): Declare _fpsr as a
union of u64 and double.
(FP_TRAPPING_EXCEPTIONS): Return a bitmask of trapping exceptions.
(FP_INIT_ROUNDMODE): Read the fpscr instead of writing a mystery
value.
(FP_ROUNDMODE): Update the usage of _fpscr.

Co-Authored-By: Bill Schmidt <wschmidt@linux.vnet.ibm.com>
From-SVN: r233756

8 years agopowerpc: Handle DImode rotatert implemented with rlwinm (PR69946)
Segher Boessenkool [Fri, 26 Feb 2016 18:49:18 +0000 (19:49 +0100)]
powerpc: Handle DImode rotatert implemented with rlwinm (PR69946)

Some DImode rotate-right-and-mask can be implemented best with a rlwinm
instruction: those that could be a lshiftrt instead of a rotatert, while
the mask is not right-aligned.  Why the rotate in the testcase is not
optimised to a plain shift is another question, but we need to handle
it here anyway.  We compute the shift amount for a 64-bit rotate.  This
is 32 too high in this case; if we print using %h that is masked out (and
this doesn't silently let through invalid instructions, everything is
checked by rs6000_is_valid_shift_mask which is much more thorough).

PR target/69946
* config/rs6000/rs6000.c (rs6000_insn_for_shift_mask): Print rlwinm
shift amount using %h.  Add comment.

gcc/testsuite/
* gcc.target/powerpc/pr69946.c: New file.

From-SVN: r233755

8 years agore PR tree-optimization/69740 (gcc ICE at -O2 and above on valid code on x86_64-linux...
Richard Biener [Fri, 26 Feb 2016 18:17:02 +0000 (18:17 +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.

        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: r233754

8 years ago[PR 69920] Prevent SRA from leaving a removed SSA_NAME in IL
Martin Jambor [Fri, 26 Feb 2016 18:06:42 +0000 (19:06 +0100)]
[PR 69920] Prevent SRA from leaving a removed SSA_NAME in IL

2016-02-26  Martin Jambor  <mjambor@suse.cz>

PR middle-end/69920
* tree-sra.c (sra_modify_assign): Do not remove loads of
uninitialized aggregates to SSA_NAMEs.

testsuite/
* gcc.dg/torture/pr69932.c: New test.
* gcc.dg/torture/pr69936.c: Likewise.

From-SVN: r233753

8 years agoS/390: PR69709 Fix risbg splitter
Andreas Krebbel [Fri, 26 Feb 2016 18:03:51 +0000 (18:03 +0000)]
S/390: PR69709 Fix risbg splitter

This fixes a wrong code generation problem with the splitters introduced
with that patch: https://gcc.gnu.org/ml/gcc-patches/2015-07/msg01840.html

The target operand is used as temporary.  This fails if it matches the
source of the left shift which is read after writing the temporary.

Thanks to Dominik for debugging it and thanks to Richard for the fix!

Bootstrapped and regtested on s390x with-arch=z13.

Bye,

-Andreas-

gcc/ChangeLog:

2016-02-26  Richard Henderson  <rth@redhat.com>

PR target/69709
* config/s390/s390.md (risbg and risbgn splitters): Allocate new
pseudo in case the target rtx matches the source of the left
shift.

gcc/testsuite/ChangeLog:

2016-02-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

PR target/69709
* gcc.target/s390/pr69709.c: New test.

From-SVN: r233752

8 years ago[hsa/69568] Fix ld instruction type for packed data
Martin Jambor [Fri, 26 Feb 2016 17:48:19 +0000 (18:48 +0100)]
[hsa/69568] Fix ld instruction type for packed data

2016-02-26  Martin Jambor  <mjambor@suse.cz>

PR hsa/69568
* hsa.h (hsa_type_packed_p): Declare.
* hsa.c (hsa_type_packed_p): New function.
* hsa-gen.c (mem_type_for_type): Use unsigned type for packed
loads.
(gen_hsa_insns_for_store): Use hsa_type_packed_p.
* hsa-brig.c (emit_basic_insn): Likewise.

From-SVN: r233751

8 years ago[hsa/69674] Make testsuite libgomp.c/for-3.c compile with -m32
Martin Jambor [Fri, 26 Feb 2016 17:45:37 +0000 (18:45 +0100)]
[hsa/69674] Make testsuite libgomp.c/for-3.c compile with -m32

2016-02-26  Martin Jambor  <mjambor@suse.cz>

pr hsa/69674
* hsa-gen.c (gen_hsa_phi_from_gimple_phi): Use proper hsa type for
pointers.
(gen_hsa_addr): Allow integer constants in TMR_INDEX2.

From-SVN: r233750

8 years ago[hsa] Satisfy conditional move operand type constrains
Martin Jambor [Fri, 26 Feb 2016 17:42:06 +0000 (18:42 +0100)]
[hsa] Satisfy conditional move operand type constrains

2016-02-26  Martin Jambor  <mjambor@suse.cz>

* hsa.h (is_a_helper): New overload for hsa_op_immed for
hsa_op_with_type operands.
(hsa_unsigned_type_for_type): Declare.
* hsa.c (hsa_unsigned_type_for_type): New function.
* hsa-gen.c (gen_hsa_binary_operation): Use hsa_unsigned_type_for_type.
(gen_hsa_insns_for_operation_assignment): Satisfy constrains of
the finalizer.  Do not emit extra move.

From-SVN: r233749

8 years ago[hsa] Fail in presence of atomic operations in private segment
Martin Jambor [Fri, 26 Feb 2016 17:39:11 +0000 (18:39 +0100)]
[hsa] Fail in presence of atomic operations in private segment

2016-02-26  Martin Jambor  <mjambor@suse.cz>

* hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of
atomic operations in private segment.

From-SVN: r233748

8 years agore PR go/69966 (libgo: Port syscall.SetsockoptUcred from golang)
Ian Lance Taylor [Fri, 26 Feb 2016 17:36:00 +0000 (17:36 +0000)]
re PR go/69966 (libgo: Port syscall.SetsockoptUcred from golang)

PR go/69966
    syscall: Add new Getsockopt functions.

    Add GetsockoptICMPv6Filter, GetsockoptIPv6MTUInfo, GetsockoptUcred as
    appropriate.  These functions exist in the master library.

    For GCC PR 69966.

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

From-SVN: r233747

8 years ago[omp, hsa] Do not gridify simd constructs
Martin Jambor [Fri, 26 Feb 2016 17:35:29 +0000 (18:35 +0100)]
[omp, hsa] Do not gridify simd constructs

2016-02-26  Martin Jambor  <mjambor@suse.cz>

* omp-low.c (grid_find_ungridifiable_statement): Store problematic
statements to wi->info.  Also disallow omp simd constructs.
(grid_target_follows_gridifiable_pattern): Use wi.info to dump reason
for not gridifying.  Dump special string for omp_for.

From-SVN: r233746

8 years ago[AArch64] Set TREE_TARGET_GLOBALS in aarch64_set_current_function when new tree is...
Kyrylo Tkachov [Fri, 26 Feb 2016 16:02:21 +0000 (16:02 +0000)]
[AArch64] Set TREE_TARGET_GLOBALS in aarch64_set_current_function when new tree is the default node to recalculate optab availability

PR target/69245
* config/aarch64/aarch64.c (aarch64_set_current_function):
Save/restore target globals when switching to
target_option_default_node.

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

From-SVN: r233745

8 years ago[AArch64] PR target/69613: Return zero TARGET_SHIFT_TRUNCATION_MASK when SHIFT_COUNT_...
Kyrylo Tkachov [Fri, 26 Feb 2016 15:59:45 +0000 (15:59 +0000)]
[AArch64] PR target/69613: Return zero TARGET_SHIFT_TRUNCATION_MASK when SHIFT_COUNT_TRUNCATED is false

PR target/69613
* config/aarch64/aarch64.c (aarch64_shift_truncation_mask):
Return 0 if !SHIFT_COUNT_TRUNCATED.

* gcc.dg/torture/pr69613.c: New test.

From-SVN: r233744

8 years agore PR rtl-optimization/69891 (wrong code with -mstringop-strategy=libcall @ i686)
Jakub Jelinek [Fri, 26 Feb 2016 15:53:43 +0000 (16:53 +0100)]
re PR rtl-optimization/69891 (wrong code with -mstringop-strategy=libcall @ i686)

PR rtl-optimization/69891
* dse.c (scan_insn): If we can't figure out memset arguments
or they are non-constant, call clear_rhs_from_active_local_stores.

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

Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r233743

8 years agoFix ChangeLog formatting
William Schmidt [Fri, 26 Feb 2016 15:30:18 +0000 (15:30 +0000)]
Fix ChangeLog formatting

From-SVN: r233742

8 years agoUpdate ChangeLog to mention pr61397
William Schmidt [Fri, 26 Feb 2016 15:25:29 +0000 (15:25 +0000)]
Update ChangeLog to mention pr61397

From-SVN: r233740

8 years agop8vector-ldst.c: Adjust to test desired functionality for both 32-bit and 64-bit.
Michael Meissner [Fri, 26 Feb 2016 15:24:55 +0000 (15:24 +0000)]
p8vector-ldst.c: Adjust to test desired functionality for both 32-bit and 64-bit.

2016-02-26  Michael Meissner <meissner@linux.vnet.ibm.com>
    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/p8vector-ldst.c: Adjust to test desired
functionality for both 32-bit and 64-bit.

Co-Authored-By: Bill Schmidt <wschmidt@linux.vnet.ibm.com>
From-SVN: r233739

8 years agoMention clog10{,f,l} in documentation (Builtins section)
Martin Liska [Fri, 26 Feb 2016 11:56:17 +0000 (12:56 +0100)]
Mention clog10{,f,l} in documentation (Builtins section)

* doc/extend.texi: Mention clog10, clog10f an clog10l
in Builtins section.

From-SVN: r233738

8 years agoReplace ENABLE_CHECKING with CHECKING_P in dwarf2out
Martin Liska [Fri, 26 Feb 2016 10:46:48 +0000 (11:46 +0100)]
Replace ENABLE_CHECKING with CHECKING_P in dwarf2out

* dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with
CHECKING_P.
(resolve_args_picking_1): Likewise.
* dwarf2out.h (struct GTY): Likewise.

From-SVN: r233737

8 years agoReplace ENABLE_CHECKING macro with flag_checking in HSA
Martin Liska [Fri, 26 Feb 2016 10:10:11 +0000 (11:10 +0100)]
Replace ENABLE_CHECKING macro with flag_checking in HSA

* hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro
with flag_checking.
* hsa-regalloc.c (linear_scan_regalloc): Likewise.

From-SVN: r233736

8 years agoMention --enable-valgrind-annotations in install.texi
Markus Trippelsdorf [Fri, 26 Feb 2016 10:02:45 +0000 (10:02 +0000)]
Mention --enable-valgrind-annotations in install.texi

    Martin Liska  <mliska@suse.cz>

* doc/install.texi: Mention --enable-valgrind-annotations.

Co-Authored-By: Martin Liska <mliska@suse.cz>
From-SVN: r233735

8 years agore PR target/69551 (Wrong code with single element vector insert)
Richard Biener [Fri, 26 Feb 2016 08:34:58 +0000 (08:34 +0000)]
re PR target/69551 (Wrong code with single element vector insert)

2016-02-26  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69551
* tree-ssa-structalias.c (get_constraint_for_ssa_var): When
looking through aliases adjust DECL_PT_UID to refer to the
ultimate alias target.

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

From-SVN: r233734

8 years agore PR c++/69889 (ICE: in assign_temp, at function.c:961)
Jason Merrill [Fri, 26 Feb 2016 04:53:58 +0000 (23:53 -0500)]
re PR c++/69889 (ICE: in assign_temp, at function.c:961)

PR c++/69889

* cp-tree.h (AGGR_INIT_FROM_THUNK_P): New.
* tree.c (build_aggr_init_expr): Set it.
* semantics.c (simplify_aggr_init_expr): Check it.
* cp-gimplify.c (cp_genericize_r): Don't walk into
a call/aggr_init from a thunk.

From-SVN: r233733

8 years agoDaily bump.
GCC Administrator [Fri, 26 Feb 2016 00:16:22 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r233732

8 years agoDo not gather mem stats in run_exit_handles (PR
Martin Liska [Thu, 25 Feb 2016 16:57:39 +0000 (17:57 +0100)]
Do not gather mem stats in run_exit_handles (PR

PR middle-end/69919
* alloc-pool.c (after_memory_report): New variable.
* alloc-pool.h (base_pool_allocator ::release): Do not use
the infrastructure if after_memory_report.
* toplev.c (toplev::main): Mark after memory report.

From-SVN: r233722

8 years agore PR c++/69842 (Parameter deduction in polymorphic lambdas)
Jason Merrill [Thu, 25 Feb 2016 15:23:47 +0000 (10:23 -0500)]
re PR c++/69842 (Parameter deduction in polymorphic lambdas)

PR c++/69842
* method.c (forward_parm): Handle parameter packs.
* lambda.c (maybe_add_lambda_conv_op): Use it for them.

From-SVN: r233719

8 years agore PR c++/67364 ("accessing uninitialized member" error in constexpr context)
Jason Merrill [Thu, 25 Feb 2016 14:09:24 +0000 (09:09 -0500)]
re PR c++/67364 ("accessing uninitialized member" error in constexpr context)

PR c++/67364
* constexpr.c (cxx_eval_component_reference): Don't complain about
unevaluated empty classes.

From-SVN: r233716

8 years agore PR c++/68049 (template instantiation involving may_alias defines symbol twice)
Jason Merrill [Thu, 25 Feb 2016 14:09:18 +0000 (09:09 -0500)]
re PR c++/68049 (template instantiation involving may_alias defines symbol twice)

PR c++/68049
* tree.c (strip_typedefs): Use DECL_ORIGINAL_TYPE.

From-SVN: r233715

8 years agore PR tree-optimization/48795 (-Warray-bounds false positive)
Richard Biener [Thu, 25 Feb 2016 13:20:25 +0000 (13:20 +0000)]
re PR tree-optimization/48795 (-Warray-bounds false positive)

2016-02-25  Richard Biener  <rguenther@suse.de>

PR tree-optimization/48795
* tree-vrp.c (check_array_ref): Use array_at_struct_end_p.

* gcc.dg/Warray-bounds-18.c: New testcase.

From-SVN: r233714

8 years agoRequire init_priority support for g++.dg/ext/attr-constructor1.C
Rainer Orth [Thu, 25 Feb 2016 12:47:28 +0000 (12:47 +0000)]
Require init_priority support for g++.dg/ext/attr-constructor1.C

* g++.dg/ext/attr-constructor1.C: Require init_priority support.

From-SVN: r233713

8 years agore PR driver/68463 (Offloading fails when some objects are compiled with LTO and...
Ilya Verbin [Thu, 25 Feb 2016 12:23:52 +0000 (12:23 +0000)]
re PR driver/68463 (Offloading fails when some objects are compiled with LTO and some without)

gcc/
PR driver/68463
* config/gnu-user.h (CRTOFFLOADBEGIN): Define.  Add crtoffloadbegin.o if
offloading is enabled and -fopenacc or -fopenmp is specified.
(CRTOFFLOADEND): Likewise.
(GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN.
(GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND.
* lto-wrapper.c (offloadbegin, offloadend): Remove static vars.
(offload_objects_file_name): New static var.
(tool_cleanup): Remove offload_objects_file_name file.
(find_offloadbeginend): Replace with ...
(find_crtoffloadtable): ... this.
(run_gcc): Remove offload_argc and offload_argv.
Get offload_objects_file_name from -foffload-objects=... option.
Read names of object files with offload from this file, pass them to
compile_images_for_offload_targets.  Don't call find_offloadbeginend and
don't pass offloadbegin and offloadend to the linker.  Don't pass
offload non-LTO files to the linker, because now they're not claimed.
libgcc/
PR driver/68463
* Makefile.in (crtoffloadtable$(objext)): New rule.
* configure.ac (extra_parts): Add crtoffloadtable$(objext) if
enable_offload_targets is not empty.
* configure: Regenerate.
* offloadstuff.c: Move __OFFLOAD_TABLE__ from crtoffloadend to
crtoffloadtable.
libgomp/
PR driver/68463
* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
lto-plugin/
PR driver/68463
* lto-plugin.c (struct plugin_offload_file): New.
(offload_files): Change type.
(offload_files_last, offload_files_last_obj): New.
(offload_files_last_lto): New.
(free_2): Adjust accordingly.
(all_symbols_read_handler): Don't add offload files to lto_arg_ptr.
Don't call free_1 for offload_files.  Write names of object files with
offloading to the temporary file.  Add new option to lto_arg_ptr.
(claim_file_handler): Don't claim file if it contains offload sections
without LTO sections.  If it contains offload sections, add to the list.

From-SVN: r233712

8 years agore PR lto/69630 (LTO ICE in types_same_for_odr at ipa-devirt.c:402)
Jan Hubicka [Thu, 25 Feb 2016 12:10:04 +0000 (13:10 +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 builtin_unreachable.

From-SVN: r233711

8 years agore PR rtl-optimization/69896 (wrong code with -frename-registers @ x64_64)
Jakub Jelinek [Thu, 25 Feb 2016 08:09:02 +0000 (09:09 +0100)]
re PR rtl-optimization/69896 (wrong code with -frename-registers @ x64_64)

PR rtl-optimization/69896
* regcprop.c: Include cfgrtl.h.
(copyprop_hardreg_forward_1): If noop_p insn uses narrower
than remembered mode, either delete it (if noop_move_p), or
treat like copy_p but not noop_p instruction.

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

From-SVN: r233692

8 years agore PR c++/69736 ("error: too few arguments to function" in c++14 but not c++11)
Patrick Palka [Thu, 25 Feb 2016 01:14:27 +0000 (01:14 +0000)]
re PR c++/69736 ("error: too few arguments to function" in c++14 but not c++11)

Fix PR c++/69736

gcc/cp/ChangeLog:

PR c++/69736
* cp-tree.h (REF_PARENTHESIZED_P): Adjust documentation.
(maybe_undo_parenthesized_ref): Declare.
* semantics.c (maybe_undo_parenthesized_ref): Split out from
check_return_expr.
(finish_call_expr): Use it.
* typeck.c (check_return_expr): Use it.
* pt.c (tsubst_copy_and_build) [INDIRECT_REF]: Retain the
REF_PARENTHESIZED_P flag.

gcc/testsuite/ChangeLog:

PR c++/69736
* g++.dg/cpp1y/paren2.C: New test.

From-SVN: r233691

8 years agoDaily bump.
GCC Administrator [Thu, 25 Feb 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r233690

8 years agoPR c/51147 - attribute((mode(byte))) on an enum generates wrong code
Martin Sebor [Wed, 24 Feb 2016 23:26:42 +0000 (23:26 +0000)]
PR c/51147 - attribute((mode(byte))) on an enum generates wrong code

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

        PR c/51147
        * gcc.dg/enum-mode-2.c: New test.

From-SVN: r233686

8 years agore PR debug/69705 (segfault in libgomp.fortran/task1.f90 with -flto -fno-use-linker...
Jakub Jelinek [Wed, 24 Feb 2016 22:04:09 +0000 (23:04 +0100)]
re PR debug/69705 (segfault in libgomp.fortran/task1.f90 with -flto -fno-use-linker-plugin -fno-toplevel-reorder -O1 -g)

PR debug/69705
* dwarf2out.c (gen_variable_die): Work around buggy LTO
- allow NULL decl for Fortran DW_TAG_common_block variables.

From-SVN: r233685

8 years agore PR c++/69922 (Bogus -Wnonnull-compare for: ... ? static_cast<T*>(this) : nullptr)
Jakub Jelinek [Wed, 24 Feb 2016 22:01:24 +0000 (23:01 +0100)]
re PR c++/69922 (Bogus -Wnonnull-compare for: ... ? static_cast<T*>(this) : nullptr)

PR c++/69922
* class.c (build_base_path): Set TREE_NO_WARNING on the null_test.
Avoid folding it.
* init.c (build_vec_delete_1, build_delete): Don't fold the non-NULL
tests.
* cp-gimplify.c (cp_fold): For TREE_NO_WARNING comparisons with NULL,
unless they are folded into INTEGER_CST, error_mark_node or some
comparison with NULL, avoid folding them and use either the original
comparison or non-folded comparison of folded arguments.
* cp-ubsan.c (cp_ubsan_instrument_vptr): Set TREE_NO_WARNING on the
comparison, don't fold the comparison right away.

* g++.dg/warn/Wnonnull-compare-6.C: New test.
* g++.dg/warn/Wnonnull-compare-7.C: New test.
* g++.dg/ubsan/pr69922.C: New test.

From-SVN: r233684

8 years agore PR c/69819 (ICE on invalid code on x86_64-linux-gnu in tree check: expected functi...
Marek Polacek [Wed, 24 Feb 2016 21:47:59 +0000 (21:47 +0000)]
re PR c/69819 (ICE on invalid code on x86_64-linux-gnu in tree check: expected function_type or method_type, have array_type in function_args_iter_init, at tree.h:4536)

PR c/69819
* c-decl.c (finish_decl): Don't update the copy of the type of a
different decl type.

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

From-SVN: r233683

8 years agoPR c++/69323 - errors
Jason Merrill [Wed, 24 Feb 2016 19:56:09 +0000 (14:56 -0500)]
PR c++/69323 - errors

* friend.c (make_friend_class): Likewise.
* decl.c (lookup_and_check_tag): Diagnose invalid dependent friend.

From-SVN: r233682

8 years agoPR c++/69323 - valid
Jason Merrill [Wed, 24 Feb 2016 19:56:03 +0000 (14:56 -0500)]
PR c++/69323 - valid

* pt.c (instantiate_class_template_1): Set
processing_template_decl before substituting friend_type.

From-SVN: r233681

8 years ago* doc/invoke.texi: Adjust -flifetime-dse documentation.
Jason Merrill [Wed, 24 Feb 2016 19:55:57 +0000 (14:55 -0500)]
* doc/invoke.texi: Adjust -flifetime-dse documentation.

From-SVN: r233680

8 years agoPR c++/69912 - [6 regression] ICE in build_ctor_subob_ref initializing
Martin Sebor [Wed, 24 Feb 2016 17:23:35 +0000 (17:23 +0000)]
PR c++/69912 - [6 regression] ICE in build_ctor_subob_ref initializing

PR c++/69912 - [6 regression] ICE in build_ctor_subob_ref initializing
a flexible array member

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

PR c++/69912
* g++.dg/ext/flexary15.C: New test.

gcc/cp/ChangeLog:
2016-02-24  Martin Sebor  <msebor@redhat.com>

PR c++/69912
* tree.c (build_ctor_subob_ref): Compare types' main variants
        instead of the types as they are.

From-SVN: r233678

8 years agoAvoid making unportable assumptions about the relationship between SIZE_MAX
Martin Sebor [Wed, 24 Feb 2016 17:04:03 +0000 (17:04 +0000)]
Avoid making unportable assumptions about the relationship between SIZE_MAX
and UINT_MAX.

gcc/testsuite/ChangeLog:
        * gcc/testsuite/gcc.dg/builtins-68.c: Avoid making unportable
        assumptions about the relationship between SIZE_MAX and UINT_MAX.
        * gcc/testsuite/g++.dg/ext/builtin_alloca.C: Same.

From-SVN: r233677

8 years agore PR debug/61033 (Infinite loop in variable tracking)
Maxim Kuvyrkov [Wed, 24 Feb 2016 16:41:52 +0000 (16:41 +0000)]
re PR debug/61033 (Infinite loop in variable tracking)

PR debug/61033
* g++.dg/pr61033.C: Add a regression testcase for PR debug/61033.

Co-Authored-By: Charles Baylis <charles.baylis@linaro.org>
From-SVN: r233675

8 years agoAdd -flifetime-dse=1.
Jason Merrill [Wed, 24 Feb 2016 15:18:04 +0000 (10:18 -0500)]
Add -flifetime-dse=1.

gcc/
* common.opt (flifetime-dse): Add -flifetime-dse=1.
gcc/cp/
* decl.c (start_preparsed_function): Condition ctor clobber on
flag_lifetime_dse > 1.

From-SVN: r233672

8 years ago* cp-gimplify.c (cp_fold): Don't fold constexpr calls if -fno-inline.
Jason Merrill [Wed, 24 Feb 2016 15:17:58 +0000 (10:17 -0500)]
* cp-gimplify.c (cp_fold): Don't fold constexpr calls if -fno-inline.

From-SVN: r233671

8 years agoruntime: lock M during cgo call
Ian Lance Taylor [Wed, 24 Feb 2016 15:03:04 +0000 (15:03 +0000)]
runtime: lock M during cgo call

    cgo should lock the M.

    See also https://golang.org/cl/18882 .

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

From-SVN: r233670

8 years agore PR tree-optimization/69760 (Wrong 64-bit memory address caused by an unneeded...
Richard Biener [Wed, 24 Feb 2016 14:54:01 +0000 (14:54 +0000)]
re PR tree-optimization/69760 (Wrong 64-bit memory address caused by an unneeded overflowing 32-bit integer multiplication on x86_64 under -O2 and -O3 code optimization)

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

PR middle-end/69760
* tree-scalar-evolution.c (interpret_rhs_expr): Re-write
conditionally executed ops to well-defined overflow behavior.

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

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

8 years agoAdapt gcc.dg/debug/dwarf2/prod-options.c for Solaris assembler
Rainer Orth [Wed, 24 Feb 2016 14:46:07 +0000 (14:46 +0000)]
Adapt gcc.dg/debug/dwarf2/prod-options.c for Solaris assembler

* gcc.dg/debug/dwarf2/prod-options.c: Use different DW_AT_producer
pattern on Solaris with as.

From-SVN: r233668