[Bug c/69272] [6 Regression] ICE: in c_builtin_function, at c/c-decl.c:4020 with -fgnu-tm

2016-01-14 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69272

--- Comment #2 from Marek Polacek  ---
I'd think that this started with r232330 but haven't verified.

[Bug target/68862] [6 Regression] g++.dg/torture/pr59163.C FAILs with -flive-range-shrinkage

2016-01-14 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68862

Uroš Bizjak  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from Uroš Bizjak  ---
This was fixed by r232088, a follow-up to r232087 and further fixed by r232126.

[Bug lto/69137] [6 Regression] ICE in odr_type_p, at ipa-utils.h:257

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69137

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug lto/69136] [6 Regression] ICE in lto_symtab_prevailing_virtual_decl, at lto/lto-symtab.c:991

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69136

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug lto/68662] [6 regression] FAIL: gcc.dg/lto/20090210 c_lto_20090210_0.o-c_lto_20090210_1.o link, -O2 -flto -flto-partition=none -fuse-linker-plugin -fno-fat-lto-objects

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68662

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug rtl-optimization/68670] [4.9 Regression] gcc.c-torture/execute/pr68376-2.c FAILs with -ftracer

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68670

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug bootstrap/67373] Can't compile gcc snapshot for avr target with mingw

2016-01-14 Thread jj at stusta dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67373

--- Comment #4 from Jonas Jelten  ---
It should be noted that my issue occurs on Gentoo with gcc 5.3.0, avr-libc
1.8.1 and avr binutils 2.25.1-r1.

[Bug rtl-optimization/68730] [6 Regression] wrong code at -O3 on x86_64-linux-gnu (in 32-bit mode)

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68730

Richard Biener  changed:

   What|Removed |Added

   Keywords||ra, wrong-code
 Target||i?86-*-*
   Priority|P3  |P1

[Bug bootstrap/66038] [5 regression] (stage 2) build/genmatch issue (gcc/hash-table.h|c) with --disable-checking [ introduced by r218976 ]

2016-01-14 Thread kumba at gentoo dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66038

--- Comment #33 from Joshua Kinard  ---
The problem may be tied to a particular CFLAG on glibc-n32 MIPS.  I ran our
(Gentoo's) stage-building script, and forgot to block gcc-5.3.0 from building,
and it ended up completing.  Difference between that script (which builds
inside a chroot) is I used saner CFLAGS.

The CFLAGS I am using in my rootfs that fails to build gcc-5.3.0 is:
CFLAGS="-O2 -pipe -march=r12k -mtune=r12k -mno-fix-r1 -mabi=n32 -mplt
-fomit-frame-pointer -fforce-addr -fivopts -fmodulo-sched -ftree-vectorize"
LDFLAGS="-Wl,-O2 -Wl,-z,now -Wl,-z,relro"

So I'll look at dropping one flag at a time, along with trimming LDFLAGS, and
see if I can pin down which one causes ./genmatch --gimple to segfault on N32.

[Bug middle-end/68798] [5 Regression] x_solve.c:181:9: internal compiler error: in execute, at cfgexpand.c:6066

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68798

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2
  Known to work||6.0
  Known to fail|6.0 |

[Bug target/69194] [5/6 Regression] internal compiler error: in extract_insn, at recog.c:2286

2016-01-14 Thread kugan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69194

--- Comment #5 from kugan at gcc dot gnu.org ---
Thanks for the reminder. I will commit the back-port today. I wanted leave few
days in the trunk before doing.

[Bug c++/68810] [6 regression] FAIL: g++.dg/cpp0x/constexpr-reinterpret1.C -- test for errors -- -m32

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68810

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug target/68862] [6 Regression] g++.dg/torture/pr59163.C FAILs with -flive-range-shrinkage

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68862

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1
  Component|tree-optimization   |target

[Bug c++/68890] [5/6 Regression] ICE in verify_ctor_sanity, at cp/constexpr.c:2113

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68890

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug other/68899] [6 Regression] Invalid read of size: 3 occurences in get_line_width_without_trailing_whitespace (diagnostic-show-locus.c:413)

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68899

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug c++/68926] [4.9/5/6 Regression] decltype and sfinae to check for template instance availability fails to compile

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68926

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug fortran/68887] [6 regression] gfortran.dg/coarray/event_[12].f90 -fcoarray=lib -O2 -lcaf_single -latomic fails

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68887

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P4

[Bug c/69272] New: [6 Regression] ICE: in c_builtin_function, at c/c-decl.c:4020 with -fgnu-tm

2016-01-14 Thread zsojka at seznam dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69272

Bug ID: 69272
   Summary: [6 Regression] ICE: in c_builtin_function, at
c/c-decl.c:4020 with -fgnu-tm
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: zsojka at seznam dot cz
  Target Milestone: ---
Target: x86_64-*

Compiler output:
$ echo '' | x86_64-pc-linux-gnu-gcc -fgnu-tm -x c -
: internal compiler error: in c_builtin_function, at c/c-decl.c:4020
0x5cd6cb c_builtin_function(tree_node*)
/repo/gcc-trunk/gcc/c/c-decl.c:4020
0x9ad54b add_builtin_function_common
/repo/gcc-trunk/gcc/langhooks.c:572
0x9ae24e add_builtin_function(char const*, tree_node*, int, built_in_class,
char const*, tree_node*)
/repo/gcc-trunk/gcc/langhooks.c:588
0xe0d539 tm_define_builtin
/repo/gcc-trunk/gcc/tree.c:10339
0xe2cfaa build_tm_vector_builtins
/repo/gcc-trunk/gcc/tree.c:10405
0xe2cfaa build_common_builtin_nodes()
/repo/gcc-trunk/gcc/tree.c:10708
0x67f505 c_define_builtins
/repo/gcc-trunk/gcc/c-family/c-common.c:5211
0x67f505 c_common_nodes_and_builtins()
/repo/gcc-trunk/gcc/c-family/c-common.c:5657
0x5cd4e9 c_init_decl_processing()
/repo/gcc-trunk/gcc/c/c-decl.c:3940
0x61a178 c_objc_common_init()
/repo/gcc-trunk/gcc/c/c-objc-common.c:60
0x5bd370 lang_dependent_init
/repo/gcc-trunk/gcc/toplev.c:1753
0x5bd370 do_compile
/repo/gcc-trunk/gcc/toplev.c:1971
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See  for instructions.

Even empty input file triggers this problem.

Tested revisions:
r232361 - ICE
r232341 - ICE
r232287 - OK

[Bug c++/68965] [5/6 Regression] `-Wunused-parameter` is reported in variadic lambda or function using sizeof...(xs)

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68965

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug target/68964] [6 regression] Internal compiler error for test case gcc.dg/tm/20100610.c since r231674

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68964

Richard Biener  changed:

   What|Removed |Added

 Target||powerpc64*, aarch64-linux
   Priority|P3  |P2
  Component|tree-optimization   |target

--- Comment #6 from Richard Biener  ---
I wonder if the code-path triggering this shouldn't then sorry () instead (if
the
target is not handling whatever reg we are looking at).

Probably not just a 6 regression but just a latent issue everywhere.

[Bug target/69252] [4.9/5/6 Regression] gcc.dg/vect/vect-iv-9.c FAILs with -Os -fmodulo-sched -fmodulo-sched-allow-regmoves -fsched-pressure

2016-01-14 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69252

--- Comment #5 from Jakub Jelinek  ---
(In reply to Martin Sebor from comment #4)
> Thanks for your help!  I can confirm that the first patch fixes the problem
> in the test cases on powerpc64le.  (I haven't done any other testing with
> it.)

Martin, do you think you could
a) bootstrap/regtest it
b) try make check -jN
RUNTESTFLAGS='--target_board=unix/fmodulo-sched/-fmodulo-sched-allow-regmoves/-fsched-pressure'
with unpatched vs. patched, see if it doesn't regress any test and perhaps
improves some other than this one
c) maybe try even bootstrap/regtest with both unpatched/patched compiler
changed to use these 3 options by default and see if we don't regress there?
Because a) is probably very insufficient testing here, given the insufficient
SMS testsuite coverage.

[Bug target/68973] [6 regression] Internal compiler error on power for gcc/testsuite/g++.dg/pr67211.C

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68973

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug c++/69257] g++ ICE in "create_tmp_var" on invalid inline-asm

2016-01-14 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69257

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org,
   ||jason at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek  ---
I think the thing is that in C dereferencing a pointer to incompete type is
always error, while in C++ it is supported (unless it is pointer to cv void),
but it just can't be converted to rvalue.
Now, if the constraint is either "" or even "r" (but not mem), we call here
  /* If the operand is going to end up in memory, don't call
 decay_conversion.  */
  if (constraint_parsed && !allows_reg && allows_mem)
operand = mark_lvalue_use (TREE_VALUE (t));
  else
operand = decay_conversion (TREE_VALUE (t), tf_warning_or_error);
but decay_conversion for some reason complains just about VOID_TYPE, but not
about other incomplete types.
So, the question is where else would the C++ FE error out on dereferencing of
incomplete type turned into rvalues, or whether we just should error here
(check for incomplete type other than VOID_TYPE), something else?

[Bug c/69272] [6 Regression] ICE: in c_builtin_function, at c/c-decl.c:4020 with -fgnu-tm

2016-01-14 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69272

Marek Polacek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-01-14
 CC||mpolacek at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Marek Polacek  ---
Confirmed, cc1plus has a slightly different ICE.

[Bug bootstrap/68404] [6 Regression] PGO/LTO bootstrap failure on ppc64le

2016-01-14 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68404

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|RESOLVED|NEW
 Resolution|FIXED   |---

--- Comment #4 from Markus Trippelsdorf  ---
No. It still happens. Plain PGO bootstrap works fine.

[Bug rtl-optimization/69124] [5/6 Regression] wrong code in thumb mode on arm-linux-gnueabihf

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69124

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug tree-optimization/69117] [6 Regression] wrong code at -O1 -fstrict-aliasing

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69117

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1
 CC||matz at gcc dot gnu.org

--- Comment #6 from Richard Biener  ---
Ok, making this P1 ... but I don't see a way to handle this right now - need to
think of more.

Btw, similar issues may appear with substituting names with range info
that is not valid at the point we substitute into and then simplification
simplifying the thing to a wrong result.

It might be the only good solution is to only ever substitute (aka valueize)
to available value-numbers.  But this would mean the SCC VN algorithm is
flawed in itself and we should ditch it in favor of a regular RPO one.

Wonder if somebody can come up with a testcase for the range-info case ...

[Bug lto/69271] LTO drops weak binding from aliases

2016-01-14 Thread nsz at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69271

nsz at gcc dot gnu.org changed:

   What|Removed |Added

Version|6.0 |5.3.1

--- Comment #1 from nsz at gcc dot gnu.org ---
hm it happens on gcc-5 too, gcc-49 is ok.

[Bug c++/69139] [4.9/5/6 Regression] deduction failure with trailing return type in function template argument

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69139

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug ipa/68419] ICE segfault in determine_locally_known_aggregate_parts / ipa_compute_jump_functions_for_edge

2016-01-14 Thread cand at gmx dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68419

--- Comment #9 from Lauri Kasanen  ---
Your command line from comment #5 fails similarly, on my original attachment.

./gcc/cc1 -O2 unwind-dw2.i -g -auxbase-strip unwind-dw2.o -g -O2
-fbuilding-libgcc -fno-stack-protector -fexceptions -fvisibility=hidden -quiet
../../../../gcc-5.2.0/libgcc/unwind-dw2.c: In function
'_Unwind_RaiseException':
../../../../gcc-5.2.0/libgcc/unwind-dw2.c:1695:0: internal compiler error:
Segmentation fault
0x8d1d1f crash_signal
../../gcc-git/gcc/toplev.c:383
0x778ad2 get_place_in_agg_contents_list
../../gcc-git/gcc/ipa-prop.c:1400
0x778ad2 determine_locally_known_aggregate_parts
../../gcc-git/gcc/ipa-prop.c:1571
0x780d70 ipa_compute_jump_functions_for_edge
../../gcc-git/gcc/ipa-prop.c:1757
0x78161c ipa_compute_jump_functions_for_bb
../../gcc-git/gcc/ipa-prop.c:1785
0x78161c analysis_dom_walker::before_dom_children(basic_block_def*)
../../gcc-git/gcc/ipa-prop.c:2299
0xb8f804 dom_walker::walk(basic_block_def*)
../../gcc-git/gcc/domwalk.c:188
0x78051f ipa_analyze_node(cgraph_node*)
../../gcc-git/gcc/ipa-prop.c:2355
0xbc2d73 ipcp_generate_summary
../../gcc-git/gcc/ipa-cp.c:4534
0x8318ae execute_ipa_summary_passes(ipa_opt_pass_d*)
../../gcc-git/gcc/passes.c:2156
0x5eb98f ipa_passes
../../gcc-git/gcc/cgraphunit.c:2197
0x5eb98f symbol_table::compile()
../../gcc-git/gcc/cgraphunit.c:2313
0x5ec93c symbol_table::finalize_compilation_unit()
../../gcc-git/gcc/cgraphunit.c:2462
0x4f63c2 c_write_global_declarations()
../../gcc-git/gcc/c/c-decl.c:10822
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See  for instructions.

[Bug lto/68881] [6 Regression] UNRESOLVED/FAIL: gcc.dg/lto/attr-weakref-1 -O2 -flto

2016-01-14 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68881

--- Comment #4 from Uroš Bizjak  ---
I can confirm this PR on CentOS 5.11 which has:

GNU ld version 2.17.50.0.5-26.el5 20061020

[Bug c++/950] [DR 203] Template problem: decay of pointer-to-member-of-derived to p-o-m-o-base

2016-01-14 Thread webrown.cpp at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=950

W E Brown  changed:

   What|Removed |Added

 CC||webrown.cpp at gmail dot com

--- Comment #16 from W E Brown  ---
(In reply to Jason Merrill from comment #15)
> Actually, this is issue 203, so I'll suspend it instead of closing.
> 
> http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#203

Issue 203 has been resolved:

http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#203

[Bug target/69148] [5/6 Regression] ICE (floating point exception) on s390x-linux-gnu

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69148

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug rtl-optimization/69238] [4.9/5/6 Regression] gcc.dg/vect/vect-multitypes-1.c FAILs with -O2 -fno-dce -fno-forward-propagate -fno-rerun-cse-after-loop -funroll-loops

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69238

Richard Biener  changed:

   What|Removed |Added

   Keywords||ra
   Priority|P3  |P2

[Bug c++/69273] internal compiler error: in assign_temp, at function.c:961

2016-01-14 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69273

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||trippels at gcc dot gnu.org
 Resolution|--- |DUPLICATE

--- Comment #1 from Markus Trippelsdorf  ---
dup.

*** This bug has been marked as a duplicate of bug 69241 ***

[Bug ipa/69241] [6 Regression] ICE: in assign_temp, at function.c:961

2016-01-14 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69241

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||sbergman at redhat dot com

--- Comment #4 from Markus Trippelsdorf  ---
*** Bug 69273 has been marked as a duplicate of this bug. ***

[Bug rtl-optimization/69246] [6 Regression] ICE in distribute_notes, at combine.c:13693 on i686-linux-gnu

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69246

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug debug/69137] [6 Regression] ICE in odr_type_p, at ipa-utils.h:257

2016-01-14 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69137

Jan Hubicka  changed:

   What|Removed |Added

  Component|lto |debug
   Assignee|hubicka at gcc dot gnu.org |unassigned at gcc dot 
gnu.org

--- Comment #3 from Jan Hubicka  ---
This patch makes the bug to reproduce at compile time:
Index: ../../gcc/tree-streamer-out.c
===
--- ../../gcc/tree-streamer-out.c   (revision 232363)
+++ ../../gcc/tree-streamer-out.c   (working copy)
@@ -31,6 +31,7 @@ along with GCC; see the file COPYING3.
 #include "alias.h"
 #include "stor-layout.h"
 #include "gomp-constants.h"
+#include "ipa-utils.h"


 /* Output the STRING constant to the string
@@ -308,6 +309,7 @@ pack_ts_function_decl_value_fields (stru
 static void
 pack_ts_type_common_value_fields (struct bitpack_d *bp, tree expr)
 {
+  odr_type_p (expr);
   /* for VECTOR_TYPE, TYPE_MODE reevaluates the mode using target_flags
  not necessary valid in a global context.
  Use the raw value previously set by layout_type.  */

We ICE because of sanity check that non-anonymous namespace does not have
DECL_ASSEMBLER_NAME "":

(gdb) l
250   if (TYPE_NAME (t) && TREE_CODE (TYPE_NAME (t)) == TYPE_DECL
251   && DECL_ASSEMBLER_NAME_SET_P (TYPE_NAME (t)))
252 {
253   /* C++ FE uses magic  as assembler names of anonymous
types.
254  verify that this match with type_in_anonymous_namespace_p.  */
255   gcc_checking_assert (strcmp ("",
256   IDENTIFIER_POINTER
257 (DECL_ASSEMBLER_NAME (TYPE_NAME
(t);

(gdb) p debug_tree (t->type_common.name->decl_with_vis.assembler_name)
  bindings <(nil)> local bindings
<(nil)>>

This is set:

#0  mangle_decl (decl=0x76c31720) at ../../gcc/cp/mangle.c:3602
#1  0x01363c10 in decl_assembler_name (decl=0x76c31720) at
../../gcc/tree.c:668
#2  0x00c01d63 in add_linkage_attr (die=0x76b010a0,
decl=0x76c31720) at ../../gcc/dwarf2out.c:18541
#3  0x00c0c606 in gen_typedef_die (decl=0x76c31720,
context_die=0x76b01050) at ../../gcc/dwarf2out.c:22421
#4  0x00c0f3b8 in gen_decl_die (decl=0x76c31720, origin=0x0,
ctx=0x0, context_die=0x76b01050) at ../../gcc/dwarf2out.c:23319
#5  0x00c0cea5 in gen_type_die_with_usage (type=0x76c30348,
context_die=0x76b01050, usage=DINFO_USAGE_DIR_USE) at
../../gcc/dwarf2out.c:22568
#6  0x00c0d5a5 in gen_type_die (type=0x76c30348,
context_die=0x76b01050) at ../../gcc/dwarf2out.c:22725
#7  0x00c0f3a0 in gen_decl_die (decl=0x76c31558, origin=0x0,
ctx=0x7fffdee0, context_die=0x76b01050) at ../../gcc/dwarf2out.c:23316
#8  0x00c0b7d1 in gen_member_die (type=0x76c30f18,
context_die=0x76b01050) at ../../gcc/dwarf2out.c:22198
#9  0x00c0c04f in gen_struct_or_union_type_die (type=0x76c30f18,
context_die=0x76b01000, usage=DINFO_USAGE_DIR_USE) at
../../gcc/dwarf2out.c:22304
#10 0x00c0ca4c in gen_tagged_type_die (type=0x76c30f18,
context_die=0x76b01000, usage=DINFO_USAGE_DIR_USE) at
../../gcc/dwarf2out.c:22505
#11 0x00c0d22d in gen_type_die_with_usage (type=0x76c30f18,
context_die=0x76b01000, usage=DINFO_USAGE_DIR_USE) at
../../gcc/dwarf2out.c:22670
#12 0x00c0d5a5 in gen_type_die (type=0x76c30f18,
context_die=0x76b01000) at ../../gcc/dwarf2out.c:22725
#13 0x00c0f3a0 in gen_decl_die (decl=0x76c31390, origin=0x0,
ctx=0x0, context_die=0x76b01000) at ../../gcc/dwarf2out.c:23316
#14 0x00c1054e in dwarf2out_decl (decl=0x76c31390) at
../../gcc/dwarf2out.c:23776
#15 0x00c0fa09 in dwarf2out_type_decl (decl=0x76c31390, local=0) at
../../gcc/dwarf2out.c:23486
#16 0x00f2b4af in rest_of_type_compilation (type=0x76c30f18,
toplev=1) at ../../gcc/passes.c:335
#17 0x0086faee in finish_struct_1 (t=0x76c30f18) at
../../gcc/cp/class.c:7037
#18 0x00870ab7 in finish_struct (t=0x76c30f18, attributes=0x0) at
../../gcc/cp/class.c:7203
#19 0x008d0ff9 in cp_parser_class_specifier_1 (parser=0x77ff8ab0)
at ../../gcc/cp/parser.c:21269
#20 0x008d1c40 in cp_parser_class_specifier (parser=0x77ff8ab0) at
../../gcc/cp/parser.c:21497
#21 0x008c6c2c in cp_parser_type_specifier (parser=0x77ff8ab0,
flags=1, decl_specs=0x7fffe780, is_declaration=true,
declares_class_or_enum=0x7fffe6f4, 
is_cv_qualifier=0x7fffe6f3) at ../../gcc/cp/parser.c:15795
#22 0x008c1c31 in cp_parser_decl_specifier_seq (parser=0x77ff8ab0,
flags=1, decl_specs=0x7fffe780, declares_class_or_enum=0x7fffe824) at
../../gcc/cp/parser.c:12716
#23 0x008c11e2 in cp_parser_simple_declaration (parser=0x77ff8ab0,

[Bug c++/6905] Suggested g++ warning: changed semantics of conditional expressions

2016-01-14 Thread owner at bugs dot debian.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=6905

--- Comment #1 from owner at bugs dot debian.org ---
Thank you for the additional information you have supplied regarding
this Bug report.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 Debian GCC Maintainers 

If you wish to submit further information on this problem, please
send it to 33...@bugs.debian.org.

Please do not send mail to ow...@bugs.debian.org unless you wish
to report a problem with the Bug-tracking system.

[Bug tree-optimization/69166] [6 Regression] ICE in get_initial_def_for_reduction, at tree-vect-loop.c:4188

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69166

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1
 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org

--- Comment #5 from Richard Biener  ---
Mine.

[Bug tree-optimization/69214] [4.9/5 Regression] ICE (segfault) at -Os on x86_64-linux-gnu in "fail_abnormal_edge_coalesce"

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69214

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug target/43052] [4.9/5/6 Regression] Inline memcmp is *much* slower than glibc's, no longer expanded inline

2016-01-14 Thread bernds at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052

Bernd Schmidt  changed:

   What|Removed |Added

 CC||bernds at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |bernds at gcc dot 
gnu.org

--- Comment #33 from Bernd Schmidt  ---
I see memcmp being called at -O3 in compilers going all the way back to 4.5.
That's expected given Nick's patch to disable cmpstrnM. I guess I'll look into
making a cmpmem pattern.

Also, the test program needs some additional repeat to give meaningful times.

[Bug rtl-optimization/69195] [4.9/5/6 Regression] gcc.dg/torture/pr44913.c FAILs with -O3 -fno-dce -fno-forward-propagate

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69195

Richard Biener  changed:

   What|Removed |Added

   Keywords||ra
   Priority|P3  |P2
  Component|target  |rtl-optimization

[Bug tree-optimization/69209] [6 Regression] ICE at -Os and above on x86_64-linux-gnu (verify_gimple failed)

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69209

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug rtl-optimization/69274] New: [6 Regression] Performance regression after r231814 on x86 Haswell.

2016-01-14 Thread ysrumyan at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69274

Bug ID: 69274
   Summary: [6 Regression] Performance regression  after r231814
on x86 Haswell.
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ysrumyan at gmail dot com
  Target Milestone: ---

After this simple fix we got huge regression ( > 16%) for spec2006/435.gromacs
on Haswell with "-O2 -ffast-math" options. Preliminary investigation have shown
that 1he size of the hottest loop in benchmark (fsettle) became 10 instructions
shorter (less spill/fill) but performance regressed significantly . Note that
adding the first scheduler by "-fschedule-insns --param
sched-pressure-algorithm=2 -fsched-pressure" gave us +24% speed-up (but only
for this particular benchmark).

[Bug c++/69253] [6 Regression] g++ ICE (segfault) at -O0 on x86_64-linux-gnu in "cxx_incomplete_type_diagnostic"

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69253

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug c++/69251] [6 Regression] ICE (segmentation fault) in unify_array_domain on i686-linux-gnu

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69251

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug target/43052] [4.9/5/6 Regression] Inline memcmp is *much* slower than glibc's, no longer expanded inline

2016-01-14 Thread bjorn at haxx dot se
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052

--- Comment #34 from Björn Stenberg  ---
Yes, confirmed. -O3 and -O0 now both run the same speed so this bug is fixed.

Sorry for being potentially several years late confirming this.

[Bug target/69161] [6 Regression] ICE in simplify_const_unary_operation, at simplify-rtx.c:1633

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69161

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug tree-optimization/69155] [6 Regression] ICE (segfault in gimple_stmt_nonnegative_warnv_p)

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69155

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug target/69176] [6 Regression] ICE in in final_scan_insn, at final.c:2981 on aarch64-linux-gnu

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69176

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug tree-optimization/69170] [6 Regression] ICE (segfault) in find_uses_to_rename_use

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69170

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1
 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org

--- Comment #3 from Richard Biener  ---
Probably a dup of PR66856.

[Bug ipa/69239] [5/6 Regression] g++.dg/ipa/devirt-c-3.C FAILs with -O2 -fPIC --param=early-inlining-insns=196

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69239

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug ipa/69241] [6 Regression] ICE: in assign_temp, at function.c:961

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69241

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug target/69245] [6 Regression] ICE in extract_insn, at recog.c:2286 on arm-linux-gnueabihf

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69245

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug debug/69244] [6 Regression] ICE in plus_constant, at explow.c:87 on i686-linux-gnu

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69244

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug lto/69254] [6 Regression] ICE in streamer_get_builtin_tree when using -fsanitize=shift on the compile side only

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69254

--- Comment #11 from Richard Biener  ---
Not sure how this is a regression btw, LTO never special-cased sanitizers in
any way.

[Bug target/63890] [4.9/5/6 regression] Compiling trivial program with -O -p leads to misaligned stack

2016-01-14 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63890

--- Comment #23 from Jan Hubicka  ---
If comment 9 patch works on a bigger codebase I am definitly happy about it.

[Bug tree-optimization/69166] [4.9/5/6 Regression] ICE in get_initial_def_for_reduction, at tree-vect-loop.c:4188

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69166

Richard Biener  changed:

   What|Removed |Added

   Priority|P1  |P2
  Known to work|5.3.1   |4.6.4
   Target Milestone|6.0 |4.9.4
Summary|[6 Regression] ICE in   |[4.9/5/6 Regression] ICE in
   |get_initial_def_for_reducti |get_initial_def_for_reducti
   |on, at  |on, at
   |tree-vect-loop.c:4188   |tree-vect-loop.c:4188

--- Comment #6 from Richard Biener  ---
Ok, so we end up with a reduction with a RDIV_EXPR which is because we never
actually call vectorizable_reduction with check_reduction == true because
we are in a nested cycle.

Testcase that also fails on the GCC 5 and 4.9 branches (and 4.8 and 4.7 but not
4.6):

void fn2(double *e, double a)
{
int b = 0;
for (; b < 256; b++) {
int c = 0;
double x = e[b];
for (; c < 256; ++c)
  x /= a;
e[b] = x;
}
}

Never verifying the actual operation for nested cycles is certainly not what
was intended.  Not that I know much about "nested cycles" vs. "double
reduction"...

[Bug tree-optimization/68976] [6 Regression] ICE w/ -O2 (and above) -fgraphite-identity (or -floop-nest-optimize)

2016-01-14 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68976

vries at gcc dot gnu.org changed:

   What|Removed |Added

 CC||vries at gcc dot gnu.org

--- Comment #7 from vries at gcc dot gnu.org ---
This patch triggers the error earlier, at the point where we insert a phi
argument that is not dominated by its def:
...
diff --git a/gcc/sese.c b/gcc/sese.c
index 59d2770..9dbc3c8 100644
--- a/gcc/sese.c
+++ b/gcc/sese.c
@@ -278,6 +278,8 @@ sese_add_exit_phis_edge (basic_block exit, tree use, edge
false_e, edge true_e)
   gphi *phi = create_phi_node (NULL_TREE, exit);
   create_new_def_for (use, phi, gimple_phi_result_ptr (phi));
   add_phi_arg (phi, use, false_e, UNKNOWN_LOCATION);
+  gcc_assert (dominated_by_p (CDI_DOMINATORS, true_e->src,
+ gimple_bb (SSA_NAME_DEF_STMT (use;
   add_phi_arg (phi, use, true_e, UNKNOWN_LOCATION);
   update_stmt (phi);
 }
...

[Bug tree-optimization/68961] [6 regression] Test case gcc.target/powerpc/pr60203.c fails since r231674

2016-01-14 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68961

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #6 from Jakub Jelinek  ---
I can only reproduce with a ppc64le cross, but not be cross, supposedly because
my ppc64le cross is using auto-host.h which Marek sent me from a native
configured compiler, while the be one does not.  Maybe the difference is
whether power8 instructions are supported by assembler or something similar.

Looking at the be->le differences, it starts in esra:
...
-Rejected (2230): not aggregate: a
-Rejected (2231): not aggregate: aa
-Candidate (2234): u
-Created a replacement for u offset: 0, size: 64: u$d$0
+Rejected (2351): not aggregate: a
+Rejected (2352): not aggregate: aa
+Candidate (2355): u
+! Disqualifying u - No scalar replacements to be created.
...
 pack (double a, double aa)
 {
-  double u$d$0;
   union u_ld u;
   long double _6;

   :
-  u$d$0_8 = a_2(D);
+  u.d[0] = a_2(D);
   u.d[1] = aa_4(D);
-  _6 = u$d$0_8;
+  _6 = u.ld;
   u ={v} {CLOBBER};
   return _6;

and if we don't SRA this, we don't optimize it away.  Ah, actually, I can
reproduce even with the ppc64be cross, if I use explicit -mlong-double-128.

[Bug target/69275] ICE compiling rs6000/float-128.c

2016-01-14 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69275

--- Comment #3 from Markus Trippelsdorf  ---
ifunc is a glibc feature.

[Bug sanitizer/69276] Address sanitizer does not handle heap overflow

2016-01-14 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69276

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-01-14
 Ever confirmed|0   |1

--- Comment #4 from Jakub Jelinek  ---
Otherwise it LGTM, so please remove the gimple_clobber_p stuff from the patch,
add a testcase to the testsuite, verify it fails before the patch and passes
after it and submit to gcc-patches.  Thanks.

[Bug libstdc++/69266] bootstrap failure undefined reference to `std::basic_ios<char, std::char_traits >::

2016-01-14 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69266

--- Comment #3 from Jonathan Wakely  ---
(In reply to tprince from comment #2)
> It is possible to bootstrap by configure --disable-libstdcxx.  Then it is
> possible to configure and build (but not make check?) in libstdc++-v3. I'm
> not sure of the consequences of this.

Me neither! I think it means that the rest of GCC will use the pre-existing
system libstdc++ rather than its own copy from in-tree. As long as the system
libstdc++ is reasonably modern that will probably work OK. Not a good long-term
solution though.

[Bug sanitizer/69276] Address sanitizer does not handle heap overflow

2016-01-14 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69276

--- Comment #1 from Jakub Jelinek  ---
Comment on attachment 37341
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37341
suggested patch

+  else if (is_gimple_call (stmt) && gimple_store_p (stmt)
+  && gimple_clobber_p (stmt))
+{
+  asan_mem_ref r;
+  asan_mem_ref_init (, NULL, 1);
+
+  r.start = gimple_call_lhs (stmt);
+  r.access_size = int_size_in_bytes (TREE_TYPE (r.start));
+  return has_mem_ref_been_instrumented ();
+}
+

This condition is never true, did you mean !gimple_clobber_p instead?
But obviously calls are never clobbers, so there is no need to test that.

[Bug ipa/69239] [5/6 Regression] g++.dg/ipa/devirt-c-3.C FAILs with -O2 -fPIC --param=early-inlining-insns=196

2016-01-14 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69239

Jan Hubicka  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |hubicka at gcc dot 
gnu.org

--- Comment #3 from Jan Hubicka  ---
mine.

[Bug c++/69277] ICE (Segmentation fault) used but never defined

2016-01-14 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69277

Marek Polacek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-01-14
 CC||mpolacek at gcc dot gnu.org
   Target Milestone|--- |6.0
 Ever confirmed|0   |1

--- Comment #1 from Marek Polacek  ---
Confirmed:

e.cc:14:52: warning: ‘{anonymous}::unique_ptr
{anonymous}::make_unique(Args&&) [with T = {anonymous}::DataContainerBinary;
Args = char (&)[]]’ used but never defined
 template  unique_ptr make_unique(Args &&);
^~~

e.cc: In instantiation of ‘{anonymous}::unique_ptr
{anonymous}::make_unique(Args&&) [with T = {anonymous}::DataContainerBinary;
Args = char (&)[]]’:

e.cc:14:52: internal compiler error: Segmentation fault
0x101d926 crash_signal
/home/marek/src/gcc/gcc/toplev.c:334
0x9b6b7f write_array_type
/home/marek/src/gcc/gcc/cp/mangle.c:3299
0x9ae9e8 write_type
/home/marek/src/gcc/gcc/cp/mangle.c:1933
0x9af2f8 write_type
/home/marek/src/gcc/gcc/cp/mangle.c:2038
0x9b6658 write_template_arg
/home/marek/src/gcc/gcc/cp/mangle.c:3230
0x9b2965 write_template_args
/home/marek/src/gcc/gcc/cp/mangle.c:2642
0x9a9049 write_nested_name
/home/marek/src/gcc/gcc/cp/mangle.c:981
0x9a88d1 write_name
/home/marek/src/gcc/gcc/cp/mangle.c:894
0x9a80e7 write_encoding
/home/marek/src/gcc/gcc/cp/mangle.c:744
0x9a7b87 write_mangled_name
/home/marek/src/gcc/gcc/cp/mangle.c:709
0x9b79de mangle_decl_string
/home/marek/src/gcc/gcc/cp/mangle.c:3509
0x9b7a24 get_mangled_id
/home/marek/src/gcc/gcc/cp/mangle.c:3531
0x9b7ea1 mangle_decl(tree_node*)
/home/marek/src/gcc/gcc/cp/mangle.c:3598
0x132a489 decl_assembler_name(tree_node*)
/home/marek/src/gcc/gcc/tree.c:668
0xb338e8 symbol_table::insert_to_assembler_name_hash(symtab_node*, bool)
/home/marek/src/gcc/gcc/symtab.c:171
0xb33c63 symbol_table::symtab_initialize_asm_name_hash()
/home/marek/src/gcc/gcc/symtab.c:263
0xb50645 analyze_functions
/home/marek/src/gcc/gcc/cgraphunit.c:1227
0xb5447c symbol_table::finalize_compilation_unit()
/home/marek/src/gcc/gcc/cgraphunit.c:2531
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See  for instructions.

[Bug sanitizer/69276] Address sanitizer does not handle heap overflow

2016-01-14 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69276

--- Comment #2 from Jakub Jelinek  ---
Comment on attachment 37341
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37341
suggested patch

+  else if (is_gimple_call (stmt) && gimple_store_p (stmt)
+  && gimple_clobber_p (stmt))
+{
+  asan_mem_ref r;
+  asan_mem_ref_init (, NULL, 1);
+
+  r.start = gimple_call_lhs (stmt);
+  r.access_size = int_size_in_bytes (TREE_TYPE (r.start));
+  return has_mem_ref_been_instrumented ();
+}
+

This condition is never true, did you mean !gimple_clobber_p instead?
But obviously calls are never clobbers, so there is no need to test that.

[Bug sanitizer/69278] Confusion option handling for -sanitize-recovery=alll

2016-01-14 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69278

--- Comment #1 from Jakub Jelinek  ---
This has been the intentional behavior before when -fsanitize-recover=address
has not been supported.  Now it is just a backwards compatibility thing, unless
clang went away and redefined -fsanitize=recover=all to mean also address
sanitization, in that case we could consider changing this.

[Bug c++/12672] Evals template defaults args that it should not

2016-01-14 Thread igodard at pacbell dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=12672

--- Comment #6 from Ivan Godard  ---
Twelve years and counting? :-)

[Bug c++/69048] [cilkplus] bug when spawning a function that returns a type with a destructor

2016-01-14 Thread law at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69048

--- Comment #1 from Jeffrey A. Law  ---
Author: law
Date: Thu Jan 14 22:23:09 2016
New Revision: 232393

URL: https://gcc.gnu.org/viewcvs?rev=232393=gcc=rev
Log:
[cilkplus] Fix cilk_spawn gimplification bug (PR cilkplus/69048)

PR c++/69048
* cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
 to add missing cleanup point.

PR c++/69048
* g++.dg/cilk-plus/CK/pr69048.cc: New test.

Added:
trunk/gcc/testsuite/g++.dg/cilk-plus/CK/pr69048.cc
Modified:
trunk/gcc/c-family/ChangeLog
trunk/gcc/c-family/cilk.c
trunk/gcc/testsuite/ChangeLog

[Bug tree-optimization/69282] [6 Regression] aarch64/armhf ICE on SPEC2006 464.h264ref at -O3

2016-01-14 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69282

Andrew Pinski  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |pinskia at gcc dot 
gnu.org

[Bug c++/68490] error initializing a structure with a flexible array member

2016-01-14 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68490

Martin Sebor  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #1 from Martin Sebor  ---
This was fixed with r231665.  GCC 6.0 produces the following output (the note
is only issued with the yet-to-be committed fix for bug 69277).

Resolving as fixed, though I will still add a test for this.

$ cat x.c && /home/msebor/build/gcc-trunk-svn/gcc/xgcc
-B/home/msebor/build/gcc-trunk-svn/gcc -S -Wall -Wextra -Wpedantic -xc++ x.c
struct A {
int n;
int a [];
};

struct A foo (void)
{
static struct A a = { 2, { 1, 0 } };

return a;
}
x.c: In function ‘A foo()’:
x.c:6:19: note: the ABI of passing struct with a flexible array member has
changed in GCC 4.4
 struct A foo (void)
   ^

x.c:8:39: warning: initialization of a flexible array member [-Wpedantic]
 static struct A a = { 2, { 1, 0 } };
   ^

[Bug libstdc++/69287] libstdc++-v3/include/debug/functions.h:297: bad comparison ?

2016-01-14 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69287

--- Comment #3 from Jonathan Wakely  ---
(In reply to David Binderman from comment #0)
>__glibcxx_assert(__first == __last || !(*__first < *__last));

It wouldn't make much sense to assert that the inputs to a generic sort
algorithm are not already sorted, would it :)

[Bug tree-optimization/69282] [6 Regression] aarch64/armhf ICE on SPEC2006 464.h264ref at -O3

2016-01-14 Thread wilson at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69282

--- Comment #9 from Jim Wilson  ---
(In reply to Andrew Pinski from comment #8)
> (In reply to Jim Wilson from comment #7)
> > The simplified testcases fail on arm if you use -O3 -mfpu=neon.
> > 
> > I can look at fixing the arm side of things if we need an md patch.
> 
> Try my attached patch and see what the code generation is.

Looks like you changed options to -O2 -ftree-vectorize.

On the aarch64 side I see
ldr q0, [x0, x1]
add x0, x0, 16
cmp x0, 128
cmeqv0.4s, v0.4s, #0
not v0.16b, v0.16b
cmltv0.4s, v0.4s, #0
bit v1.16b, v2.16b, v0.16b
bic v3.16b, v3.16b, v0.16b
add v2.4s, v2.4s, v4.4s
and on the arm side I see
vld1.32 {q8}, [r3]
addsr3, r3, #16
cmp r2, r3
vceq.i32q8, q10, q8
vbslq8, q10, q14
vclt.s32q8, q8, #0
vbitq9, q11, q8
vbitq12, q10, q8
vadd.i32q11, q11, q13
There is a vbsl instruction in the arm output, but still the same number of
instructions with the apparently unnecessary second vector compare.

[Bug tree-optimization/69270] DOM should exploit range information to create more equivalences

2016-01-14 Thread law at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69270

--- Comment #3 from Jeffrey A. Law  ---
Author: law
Date: Fri Jan 15 02:45:44 2016
New Revision: 232399

URL: https://gcc.gnu.org/viewcvs?rev=232399=gcc=rev
Log:
   PR tree-optimization/69270
* tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
single bit of precision, verify it's also unsigned.
(record_edge_info): Use constant_boolean_node rather than fold_convert
to convert boolean_true/boolean_false to the right type.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-dom.c

[Bug tree-optimization/69282] [6 Regression] aarch64/armhf ICE on SPEC2006 464.h264ref at -O3

2016-01-14 Thread wilson at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69282

--- Comment #11 from Jim Wilson  ---
(In reply to Jim Wilson from comment #10)
> Both the aarch64 and arm code looks funny to me, as the last add seems to be
> using an input register that was never set, but I don't know the aarch64 and
> arm vector instruction sets very well.

Nevermind, I figured it out.

[Bug c++/69288] New: [concepts] Subsumption failure with constrained member functions of class template

2016-01-14 Thread Casey at Carter dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69288

Bug ID: 69288
   Summary: [concepts] Subsumption failure with constrained member
functions of class template
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: Casey at Carter dot net
  Target Milestone: ---

Created attachment 37346
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37346=edit
Minimized test case

r232370 miscompiles this program:

template 
constexpr bool Same = __is_same_as(T, U);

template 
concept bool C = requires(T& t) { t.f(); };

template 
concept bool D = C && requires(T& t) { requires Same; };
// NB: D subsumes C

struct X {};
struct Y { int f(); };
struct Z { Z f(); };

// Y satisfies C but not D
static_assert(C);
static_assert(!D);

// Z satisfies both C and D
static_assert(C);
static_assert(D);

template 
struct foo {
  void g(T); // #1

  int g(T)   // #2
requires C;

  T g(T) // #3
requires D;
};

static_assert(Same); // calls #1
static_assert(Same);  // calls #2
static_assert(Same);// error: ambiguous

with diagnostics:

~/gcc6/bin/g++ -std=c++1z foo.cpp -c
foo.cpp:36:43: error: call of overloaded ‘g(Z)’ is ambiguous
 static_assert(Same);// error: ambiguous
   ^

foo.cpp:25:8: note: candidate: void foo::g(T) [with T = Z]
   void g(T); // #1
^

foo.cpp:27:7: note: candidate: int foo::g(T) requires predicate( C) [with
T = Z]
   int g(T)   // #2
   ^

foo.cpp:30:5: note: candidate: T foo::g(T) requires predicate( D) [with T
= Z]
   T g(T) // #3
 ^

foo.cpp:36:43: error: call of overloaded ‘g(Z)’ is ambiguous
 static_assert(Same);// error: ambiguous
   ^

foo.cpp:25:8: note: candidate: void foo::g(T) [with T = Z]
   void g(T); // #1
^

foo.cpp:27:7: note: candidate: int foo::g(T) requires predicate( C) [with
T = Z]
   int g(T)   // #2
   ^

foo.cpp:30:5: note: candidate: T foo::g(T) requires predicate( D) [with T
= Z]
   T g(T) // #3
 ^

foo.cpp:36:15: error: template argument 1 is invalid
 static_assert(Same);// error: ambiguous
   ^~

(Not a cut-and-paste error, the same diagnostic is actually issued twice.)

The concept machinery is apparently failing to determine that overload #3 is
more constrained than overload #2. This problem notably does *not* occur for
constrained member templates of a class:

struct foo {
  template 
  void g(T); // #1

  template 
  int g(T)   // #2
requires C;

  template 
  T g(T) // #3
requires D;
};

static_assert(Same);// calls #3

or with non-member function templates:

template 
void g(T); // #1

template 
  requires C
int g(T);  // #2

template 
  requires D
T g(T);// #3

static_assert(Same);// calls #3

but *does* occur with member templates that are constrained by a class template
parameter:

template 
struct foo {
  template 
  void g(T); // #1

  template 
  int g(T)   // #2
requires C;

  template 
  T g(T) // #3
requires D;
};

static_assert(Same);// error: ambiguous

I speculate the error arises due to a failure to properly substitute the
non-dependent type T into the constraint expressions.

[Bug c++/69277] [6 Regression] ICE mangling a flexible array member

2016-01-14 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69277

--- Comment #4 from Martin Sebor  ---
Patch posted for review:
https://gcc.gnu.org/ml/gcc-patches/2016-01/msg00993.html

[Bug rtl-optimization/69014] [4.9/5 Regression] gcc.c-torture/execute/991023-1.c FAILs with -Os -fmodulo-sched -fno-tree-vrp

2016-01-14 Thread law at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69014

--- Comment #14 from Jeffrey A. Law  ---
Release managers' call whether or not to backport the fix.  "6" regression
marker cleared.

[Bug tree-optimization/69282] [6 Regression] aarch64/armhf ICE on SPEC2006 464.h264ref at -O3

2016-01-14 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69282

--- Comment #8 from Andrew Pinski  ---
(In reply to Jim Wilson from comment #7)
> The simplified testcases fail on arm if you use -O3 -mfpu=neon.
> 
> I can look at fixing the arm side of things if we need an md patch.

Try my attached patch and see what the code generation is.

[Bug lto/68799] lto ICE on powerpc64le-linux-gnu builing python 2.7.x

2016-01-14 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68799

--- Comment #12 from Bill Schmidt  ---
Created attachment 37348
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37348=edit
Proposed patch

Matthias, please apply the attached patch and see if it clears the bug for you.
 Thanks!

[Bug tree-optimization/69282] [6 Regression] aarch64/armhf ICE on SPEC2006 464.h264ref at -O3

2016-01-14 Thread wilson at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69282

--- Comment #10 from Jim Wilson  ---
(In reply to Jim Wilson from comment #9)
> (In reply to Andrew Pinski from comment #8)
> > (In reply to Jim Wilson from comment #7)
> > > The simplified testcases fail on arm if you use -O3 -mfpu=neon.
> > > 
> > > I can look at fixing the arm side of things if we need an md patch.
> > 
> > Try my attached patch and see what the code generation is.
> 
> Looks like you changed options to -O2 -ftree-vectorize.
> 
> On the aarch64 side I see
>   add v2.4s, v2.4s, v4.4s
> and on the arm side I see
>   vadd.i32q11, q11, q13
> There is a vbsl instruction in the arm output, but still the same number of
> instructions with the apparently unnecessary second vector compare.

Both the aarch64 and arm code looks funny to me, as the last add seems to be
using an input register that was never set, but I don't know the aarch64 and
arm vector instruction sets very well.

[Bug c++/69289] New: Compiling without --profile-generate causes longer execution time (-O3)

2016-01-14 Thread xonar.leroux at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69289

Bug ID: 69289
   Summary: Compiling without --profile-generate causes longer
execution time (-O3)
   Product: gcc
   Version: 5.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: xonar.leroux at gmail dot com
  Target Milestone: ---

Created attachment 37349
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37349=edit
Source

Running without --profile-generate (NOT --profile-use) causes a slowdown.

The speed script that I run simply runs the program with time output.

Effect is still present when using/not using -march=native and when using/not
using -funroll-loops

speed.sh
  1 #!/bin/zsh
  2 
  3 sudo cpupower frequency-set -g performance
  4 
  5 time ./a.out 1
  6 time ./a.out 2
  7 time ./a.out 3
  8 time ./a.out 4
  9 time ./a.out 5
 10 time ./a.out 1
 11 time ./a.out 2
 12 time ./a.out 3
 13 time ./a.out 4
 14 time ./a.out 5
 15 
 16 sudo cpupower frequency-set -g powersave

% g++ --version
g++ (GCC) 5.3.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

% cat /proc/version 
Linux version 4.3.3-2-ARCH (builduser@tobias) (gcc version 5.3.0 (GCC) ) #1 SMP
PREEMPT Wed Dec 23 20:09:18 CET 2015

%g++ test.cpp -std=c++11 -O3 -funroll-loops -march=native --profile-generate
-Wall -Wextra
test.cpp:37:14: warning: unused parameter ‘argc’ [-Wunused-parameter]
 int main(int argc, char** argv)

% ./speed.sh 
[sudo] password for XXX: 
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
Setting cpu: 4
Setting cpu: 5
Setting cpu: 6
Setting cpu: 7
166
./a.out 1  0.32s user 0.55s system 99% cpu 0.875 total
166
./a.out 2  0.33s user 0.54s system 100% cpu 0.870 total
166
./a.out 3  0.33s user 0.54s system 100% cpu 0.870 total
166
./a.out 4  0.33s user 0.55s system 99% cpu 0.874 total
166
./a.out 5  0.35s user 0.52s system 99% cpu 0.870 total
166
./a.out 1  0.32s user 0.55s system 99% cpu 0.867 total
166
./a.out 2  0.35s user 0.52s system 99% cpu 0.872 total
166
./a.out 3  0.32s user 0.56s system 99% cpu 0.889 total
166
./a.out 4  0.33s user 0.53s system 99% cpu 0.868 total
166
./a.out 5  0.32s user 0.55s system 100% cpu 0.873 total
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
Setting cpu: 4
Setting cpu: 5
Setting cpu: 6
Setting cpu: 7
./speed.sh  3.34s user 5.42s system 79% cpu 10.947 total

% g++ test.cpp -std=c++11 -O3 -funroll-loops -march=native -Wall -Wextra
test.cpp:37:14: warning: unused parameter ‘argc’ [-Wunused-parameter]
 int main(int argc, char** argv)

% ./speed.sh
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
Setting cpu: 4
Setting cpu: 5
Setting cpu: 6
Setting cpu: 7
166
./a.out 1  0.43s user 0.56s system 100% cpu 0.990 total
166
./a.out 2  0.42s user 0.57s system 99% cpu 0.983 total
166
./a.out 3  0.41s user 0.58s system 99% cpu 0.997 total
166
./a.out 4  0.47s user 0.54s system 99% cpu 1.005 total
166
./a.out 5  0.43s user 0.56s system 99% cpu 0.988 total
166
./a.out 1  0.45s user 0.54s system 99% cpu 0.991 total
166
./a.out 2  0.42s user 0.55s system 99% cpu 0.971 total
166
./a.out 3  0.39s user 0.59s system 99% cpu 0.982 total
166
./a.out 4  0.46s user 0.52s system 99% cpu 0.985 total
166
./a.out 5  0.48s user 0.51s system 99% cpu 0.985 total
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
Setting cpu: 4
Setting cpu: 5
Setting cpu: 6
Setting cpu: 7
./speed.sh  4.36s user 5.53s system 99% cpu 9.909 total

[Bug c++/68847] [6 Regression] ICE in cxx_eval_constant_expression on __atomic_compare_exchange (constexpr.c:3719) in c++

2016-01-14 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68847

Jason Merrill  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |jason at gcc dot gnu.org

[Bug tree-optimization/69282] [6 Regression] aarch64/armhf ICE on SPEC2006 464.h264ref at -O3

2016-01-14 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69282

--- Comment #3 from Andrew Pinski  ---

  vector(4)  _6;
  vector(4) int vect_c_1.7;


  _6 = vect__5.5_1 != vect_cst__14;
  vect_c_1.7_2 = VEC_COND_EXPR <_6, vect_cst__15, { 1, 1, 1, 1 }>;


What I don't understand is why vectlowering is happening at all.  There should
be a vect select (BSL) which does this for aarch64 (there is one for aarch32
but I don't remember the mnemonic for it).

[Bug tree-optimization/69282] [6 Regression] aarch64/armhf ICE on SPEC2006 464.h264ref at -O3

2016-01-14 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69282

--- Comment #5 from Andrew Pinski  ---
The vect generic issue is really gimple_buildN should be using
STRIP_USELESS_TYPE_CONVERSION rather than STRIP_NOPS.  Note this code should
assuming the fold_buildN would not produce a NOP_EXPR (cast) from one type to
another; that is it did not expect a == 0? 0 : 1 be convert into (int)a.

Note also the produced code is garbage as we go from vectorized code to non
vectorized code.

I am still looking into a generic fix for VEC_COND_EXPR issue.

[Bug c++/69289] Compiling without --profile-generate causes longer execution time (-O3)

2016-01-14 Thread xonar.leroux at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69289

Paul le roux  changed:

   What|Removed |Added

 CC||xonar.leroux at gmail dot com

--- Comment #1 from Paul le roux  ---
When copying the timings got switched around the --generate-profile is the
faster one.

[Bug c++/69048] [cilkplus] bug when spawning a function that returns a type with a destructor

2016-01-14 Thread law at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69048

Jeffrey A. Law  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||law at redhat dot com
 Resolution|--- |FIXED

--- Comment #2 from Jeffrey A. Law  ---
Fixed by Ryan's patch to create_cilk_wrapper_body.

[Bug lto/68799] lto ICE on powerpc64le-linux-gnu builing python 2.7.x

2016-01-14 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68799

--- Comment #10 from Bill Schmidt  ---
The stmt_cand_map is *not* losing its integrity.  Instead, it appears that a
phi statement changes its address at some point during the SLSR pass, even
though it hasn't been modified (SFAICT).

There are two candidates that have the same PHI statement as a phi-basis.  For
each of them we call phi_add_costs with parameter "phi" containing the same
address.  We look up the PHI statement in the candidate table as follows:

slsr_cand_t phi_cand = base_cand_from_table (gimple_phi_result (phi));

The base_cand_from_table function (which is called from many places) looks up
the PHI statement from the phi-result using SSA_NAME_DEF_STMT, which is then
used to query the stmt_cand_map.  The first time through, SSA_NAME_DEF_STMT
returns the same address as the original parameter "phi," as expected.  The
second time, however, it returns a new address.  Both the new and old address
have mostly identical information, but the new address does not appear in the
candidate table, so the stmt_cand_map returns 0 unexpectedly, leading to the
crash.

By "mostly identical," I mean that the two statements have a different SSA_NAME
for the phi-result, but both SSA_NAMEs identify _1338 as the name in question. 
This is probably the source of the problem, but so far I don't see what would
cause us to create this unnecessary SSA_NAME structure.

A workaround that would probably fix this is to replace the above statement
with:

slsr_cand_t phi_cand = stmt_cand_map->get (phi);

which would avoid rediscovering the "moved" phi statement.  I probably want to
do this anyway, but I want to first understand what caused the extra SSA_NAME
and PHI statement to get created.

[Bug target/59833] ARM soft-float extendsfdf2 fails to quiet signaling NaN

2016-01-14 Thread aurelien at aurel32 dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59833

--- Comment #5 from Aurelien Jarno  ---
(In reply to Ramana Radhakrishnan from comment #4)
> Need to apply Aurelien's patch - looks like that's slipped through the
> cracks.

What was missing to the patch was a testcase which compiles on all platform.
This has happened recently, as part of the testcase for PR61441. I therefore
guess this patch can now be applied.

[Bug c++/60323] incorrect usage of designated initializers with struct which includes flexible array

2016-01-14 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60323

Martin Sebor  changed:

   What|Removed |Added

   Keywords||rejects-valid
   Priority|P3  |P4
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-01-15
 CC||msebor at gcc dot gnu.org
 Ever confirmed|0   |1
  Known to fail||4.9.3, 5.1.0, 6.0

--- Comment #1 from Martin Sebor  ---
The ICE is gone with 4.9.3, 5.1.0, and trunk (6.0) but in C++ mode, all of them
reject the test case with the error below.  Since the test case is accepted in
C mode with a -Wmissing-braces warning for b, it seems that it should be
accepted in C++ mode as well.  Confirming on that basis but lowering Priority
to 4.

$ cat x.c && /home/msebor/build/gcc-trunk-svn/gcc/xgcc
-B/home/msebor/build/gcc-trunk-svn/gcc -S -Wall -Wextra -Wpedantic -xc++ x.c

struct A {
char c;
int data[];
};

struct A a = {.c = 1, .data = 1 };

x.c:7:14: warning: ISO C++ does not allow C99 designated initializers
[-Wpedantic]
 struct A a = {.c = 1, .data = 1};
  ^

x.c:7:21: warning: ISO C++ does not allow C99 designated initializers
[-Wpedantic]
 struct A a = {.c = 1, .data = 1};
 ^

x.c:7:32: error: name ‘data’ used in a GNU-style designated initializer for an
array
 struct A a = {.c = 1, .data = 1};
^

x.c:7:32: warning: initialization of a flexible array member [-Wpedantic]

[Bug target/69275] ICE compiling rs6000/float-128.c

2016-01-14 Thread meissner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69275

--- Comment #5 from Michael Meissner  ---
For now, I have reverted the patch that causes the problem.

When I get back into the office on January 19th, I will look at ways to fix
this problem.

[Bug libstdc++/69287] libstdc++-v3/include/debug/functions.h:297: bad comparison ?

2016-01-14 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69287

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID

--- Comment #2 from Jonathan Wakely  ---
Not a bug.

[Bug c++/20407] Support initialization of flexible array members for C++

2016-01-14 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=20407

Martin Sebor  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||msebor at gcc dot gnu.org
  Known to work||6.0
 Resolution|--- |FIXED
  Known to fail||4.9.3, 5.1.0

--- Comment #3 from Martin Sebor  ---
Fixed on trunk with r231665.

$ cat x.c && /home/msebor/build/gcc-trunk-svn/gcc/xgcc
-B/home/msebor/build/gcc-trunk-svn/gcc -S -Wall -Wextra -Wpedantic -xc++ x.c
typedef struct {
 unsigned char dir;
 int data[];
} AiDefaultRailBlock;
static const AiDefaultRailBlock _raildata_ai_0 = { 1,  { 0,  4 }  };
x.c:5:67: warning: initialization of a flexible array member [-Wpedantic]
 static const AiDefaultRailBlock _raildata_ai_0 = { 1,  { 0,  4 }  };
   ^

Looks like c++/68490 is a duplicate of this bug, with a similar test case about
to be added to the test suite:
https://gcc.gnu.org/ml/gcc-patches/2016-01/msg01000.html

[Bug c++/69289] Compiling without --profile-generate causes longer execution time (-O3)

2016-01-14 Thread xonar.leroux at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69289

--- Comment #2 from Paul le roux  ---
(In reply to Paul le roux from comment #1)
> When copying the timings got switched around the --generate-profile is the
> faster one.

Ignore that. I just quickly looked at the total usage, but that includes the
frequency-set. They are right way around.

[Bug tree-optimization/69282] [6 Regression] aarch64/armhf ICE on SPEC2006 464.h264ref at -O3

2016-01-14 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69282

--- Comment #4 from Andrew Pinski  ---
Basically the problem is the vect lower was not updated for the changes for
vector compares that was done.

Hmm, vec_merge is no longer correctly documented either:
@findex vec_merge
@item (vec_merge:@var{m} @var{vec1} @var{vec2} @var{items})
This describes a merge operation between two vectors.  The result is a vector
of mode @var{m}; its elements are selected from either @var{vec1} or
@var{vec2}.  Which elements are selected is described by @var{items}, which
is a bit mask represented by a @code{const_int}; a zero bit indicates the
corresponding element in the result vector is taken from @var{vec2} while
a set bit indicates it is taken from @var{vec1}.


items can be an integer vector mode where the fields elements are 0 or -1 which
selects vec1 or vec2.

I am going to look into fixing both issues.  That is use bsl for AARCH64
(someone will need to do arm32 backend as I can't test it) (and use vec_merge
for the bsl pattern anyways) and the vect lowering pass to do the correct thing
and compare against -1.

[Bug tree-optimization/69282] [6 Regression] aarch64/armhf ICE on SPEC2006 464.h264ref at -O3

2016-01-14 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69282

--- Comment #6 from Andrew Pinski  ---
Created attachment 37347
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37347=edit
Patch which causes us not to lower the VEC_COND_EXPR

Expand already knows how to expand VEC_COND_EXPR (without an embedded
conditional) using op0 < 0 so we don't need expand_vec_cond_expr_p to return
false for those cases.

Note this fixes the ICE and I will run a testsuite run in a few minutes but it
does cause a few extra instructions still.
Here is the code which is produced:
.L2:
ldr q0, [x0], 16
cmeqv0.4s, v0.4s, #0
not v0.16b, v0.16b
cmltv0.4s, v0.4s, #0
bit v1.16b, v2.16b, v0.16b
bic v3.16b, v3.16b, v0.16b
add v2.4s, v2.4s, v4.4s
cmp x1, x0
bne .L2

Notice the not and cmlt, both are useless.  To fix that, a vcond_mask* pattern
needs to be added.  I am not going to fix that right now with this
bootstrap/test though.  I will file a bug about that though.

[Bug tree-optimization/69282] [6 Regression] aarch64/armhf ICE on SPEC2006 464.h264ref at -O3

2016-01-14 Thread wilson at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69282

--- Comment #7 from Jim Wilson  ---
The simplified testcases fail on arm if you use -O3 -mfpu=neon.

I can look at fixing the arm side of things if we need an md patch.

[Bug c++/55227] designated initializer for char array by string constant

2016-01-14 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55227

Martin Sebor  changed:

   What|Removed |Added

   Keywords||rejects-valid
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-01-15
 CC||msebor at gcc dot gnu.org
 Blocks||60323, 55606
 Ever confirmed|0   |1
  Known to fail||4.9.3, 5.1.0, 6.0

--- Comment #2 from Martin Sebor  ---
This still fails both ways with 6.0.  Related to (or perhaps even the same
problem as) c++/60323 and c++/55606.

$ cat x.c && /home/msebor/build/gcc-trunk-svn/gcc/xgcc
-B/home/msebor/build/gcc-trunk-svn/gcc -S -Wall -Wextra -Wpedantic -xc++ x.c
struct S { char a[25]; };

struct S s1 = { a : "" };
struct S s2 = { .a = "" };
x.c:3:15: warning: ISO C++ does not allow designated initializers [-Wpedantic]
 struct S s1 = { a : "" };
   ^

x.c:3:28: error: C99 designator ‘a’ outside aggregate initializer
 struct S s1 = { a : "" };
^

x.c:4:15: warning: ISO C++ does not allow C99 designated initializers
[-Wpedantic]
 struct S s2 = { .a = "" };
   ^

x.c:4:29: error: C99 designator ‘a’ outside aggregate initializer
 struct S s2 = { .a = "" };
 ^


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55606
[Bug 55606] sorry, unimplemented: non-trivial designated initializers not
supported
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60323
[Bug 60323] incorrect usage of designated initializers with struct which
includes flexible array

<    1   2   3   >