[Bug c++/64080] [5.0 regression][C++14]ICE in cxx_eval_store_expression

2014-11-26 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64080

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-11-26
 CC||mpolacek at gcc dot gnu.org
   Target Milestone|--- |5.0
 Ever confirmed|0   |1

--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org ---
Confirmed.


[Bug bootstrap/63995] Bootstrap error with -mmpx -fcheck-pointer-bounds

2014-11-26 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63995

--- Comment #8 from Ilya Enkovich enkovich.gnu at gmail dot com ---
With both patches applied bootstrap is OK


[Bug bootstrap/63703] [4.9.2/5 Regression] Bootstrap broken on powerpc-apple-darwin, cc1: internal compiler error: in init_reg_sets

2014-11-26 Thread iains at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63703

--- Comment #21 from Iain Sandoe iains at gcc dot gnu.org ---
(In reply to Lawrence Velázquez from comment #20)
 (In reply to Lawrence Velázquez from comment #19)
  I assume this didn't make it into a 4.8 release?
 
 That the bug didn't make it, I mean.

The change to add those registers is not on 4.8 branch - this fix isn;t needed
there (so far).

[Bug bootstrap/63995] Bootstrap error with -mmpx -fcheck-pointer-bounds

2014-11-26 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63995

--- Comment #9 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to Ilya Enkovich from comment #6)
 For attached -g0 problem reproducer:
 
 gcc pr63995-2.c -c -O2 -mmpx -fcheck-pointer-bounds -g -o 1.o
 gcc pr63995-2.c -c -O2 -mmpx -fcheck-pointer-bounds -g0 -o 2.o

FYI, you can use -fcompare-debug here. Various dump functions (e.g.
-fdump-tree-optimized, -fdump-rtl-expand, etc) will be dumped in two versions,
the debug version will be suffixed with .gk.

[Bug sanitizer/64078] FAIL: c-c++-common/ubsan/object-size-9.c

2014-11-26 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64078

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org ---
The padding of struct on the same target should not change randomly though.


[Bug lto/64075] [5 Regression] ICE: in bp_pack_value, at data-streamer.h:106

2014-11-26 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64075

--- Comment #4 from Ilya Enkovich enkovich.gnu at gmail dot com ---
(In reply to H.J. Lu from comment #3)
 It was caused by r217655.
The problem was introduced earlier when function_code field in
tree_function_decl was extended to 12 bits.  LTO streamers were not fixed
appropriately.  r217655 increased BUILT_IN_COMPLEX_MUL_MIN value and put it out
of 11 bits which revealed the problem.

With this patch compiles OK:

diff --git a/gcc/tree-streamer-in.c b/gcc/tree-streamer-in.c
index 99448dd..eb205ed 100644
--- a/gcc/tree-streamer-in.c
+++ b/gcc/tree-streamer-in.c
@@ -333,7 +333,7 @@ unpack_ts_function_decl_value_fields (struct bitpack_d *bp,
tree expr)
   if (DECL_BUILT_IN_CLASS (expr) != NOT_BUILT_IN)
 {
   DECL_FUNCTION_CODE (expr) = (enum built_in_function) bp_unpack_value
(bp,
-  
11);
+  
12);
   if (DECL_BUILT_IN_CLASS (expr) == BUILT_IN_NORMAL
   DECL_FUNCTION_CODE (expr) = END_BUILTINS)
fatal_error (machine independent builtin code out of range);
diff --git a/gcc/tree-streamer-out.c b/gcc/tree-streamer-out.c
index ad58b84..0d87cff 100644
--- a/gcc/tree-streamer-out.c
+++ b/gcc/tree-streamer-out.c
@@ -300,7 +300,7 @@ pack_ts_function_decl_value_fields (struct bitpack_d *bp,
tree expr)
   bp_pack_value (bp, DECL_PURE_P (expr), 1);
   bp_pack_value (bp, DECL_LOOPING_CONST_OR_PURE_P (expr), 1);
   if (DECL_BUILT_IN_CLASS (expr) != NOT_BUILT_IN)
-bp_pack_value (bp, DECL_FUNCTION_CODE (expr), 11);
+bp_pack_value (bp, DECL_FUNCTION_CODE (expr), 12);
 }


[Bug tree-optimization/64081] New: [5 Regression] r217827 prevents RTL loop unroll

2014-11-26 Thread izamyatin at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64081

Bug ID: 64081
   Summary: [5 Regression] r217827 prevents RTL loop unroll
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: izamyatin at gmail dot com
Target: x86

Created attachment 34123
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34123action=edit
reproducer

Noticed that for the attached test no RTL loop unroll started to happen.
It is because of changes in dom - namely, I see in dumps that dom2 complicates
loop structure. (probably because of changes in lookup_avail_expr?)
Looks like r217827 doesn't mean this :)

Options that should be used - just -O2  -funroll-loops


[Bug c++/64080] [5.0 regression][C++14]ICE in cxx_eval_store_expression

2014-11-26 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64080

--- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org ---
4.9 rejects this.  This is ice-on-invalid, right?


[Bug target/64074] PowerPC E500: Passing of double parameters not EABI compliant

2014-11-26 Thread florian.miedniak at web dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64074

--- Comment #2 from Florian Miedniak florian.miedniak at web dot de ---
Thanks for the hint! I had I try with GCC 4.7.3 again:

powerpc-elf-eabi-gcc.exe -mcpu=8548 -c test.c -o test.o -mdouble-float
-mfloat-gprs=double -save-temps -v -mabi=spe

but unfortunately this didn't change anything. Also, activating all SPE related
options I could find didn't work, either:

powerpc-elf-eabi-gcc.exe -mcpu=8548 -c test.c -o test.o -mdouble-float
-mfloat-gprs=double -save-temps -v -mspe -mspe=yes -mabi=spe

Any idea?


[Bug tree-optimization/62238] [4.9 Regression] ICE with LTO on valid code on x86_64-linux-gnu in verify_ssa (in 64-bit mode)

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62238

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords|lto |
  Known to work||5.0
Summary|[4.9/5 Regression] ICE with |[4.9 Regression] ICE with
   |LTO on valid code on|LTO on valid code on
   |x86_64-linux-gnu in |x86_64-linux-gnu in
   |verify_ssa (in 64-bit mode) |verify_ssa (in 64-bit mode)

--- Comment #5 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed on trunk sofar.


[Bug tree-optimization/62238] [4.9 Regression] ICE with LTO on valid code on x86_64-linux-gnu in verify_ssa (in 64-bit mode)

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62238

--- Comment #6 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Wed Nov 26 09:43:39 2014
New Revision: 218074

URL: https://gcc.gnu.org/viewcvs?rev=218074root=gccview=rev
Log:
2014-11-26  Richard Biener  rguent...@suse.de

PR tree-optimization/62238
* tree-predcom.c (ref_at_iteration): Unshare the expression
before gimplifying it.
(prepare_initializers_chain): Discard unused seq.

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

Added:
trunk/gcc/testsuite/gcc.dg/torture/pr62238.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-predcom.c


[Bug target/64074] PowerPC E500: Passing of double parameters not EABI compliant

2014-11-26 Thread florian.miedniak at web dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64074

--- Comment #3 from Florian Miedniak florian.miedniak at web dot de ---
(In reply to Florian Miedniak from comment #2)
 Thanks for the hint! I had I try with GCC 4.7.3 again:
 
 powerpc-elf-eabi-gcc.exe -mcpu=8548 -c test.c -o test.o -mdouble-float
 -mfloat-gprs=double -save-temps -v -mabi=spe
 
 but unfortunately this didn't change anything. Also, activating all SPE
 related options I could find didn't work, either:
 
 powerpc-elf-eabi-gcc.exe -mcpu=8548 -c test.c -o test.o -mdouble-float
 -mfloat-gprs=double -save-temps -v -mspe -mspe=yes -mabi=spe
 
 Any idea?

My last comment wasn't totally correct: For GCC 4.7.3, using -mabi=spe isn't
sufficient, it needs -mspe in addition to that. For GCC 4.8.2 it seems that
-mabi=spe is sufficient.


[Bug tree-optimization/64081] [5 Regression] r217827 prevents RTL loop unroll

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64081

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2014-11-26
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
   Target Milestone|--- |5.0
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
I will have a look.


[Bug c++/64080] [5.0 regression][C++14]ICE in cxx_eval_store_expression

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64080

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-on-invalid-code
   Priority|P3  |P1


[Bug c++/57610] Reference initialized with temporary instead of sub-object of conversion result

2014-11-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57610

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||paolo.carlini at oracle dot com

--- Comment #11 from Paolo Carlini paolo.carlini at oracle dot com ---
I'm looking for somebody willing to *summarize* for me where do we stand on
this. Is GCC already Ok vs the most recent resolutions and we could resolve the
issue (maybe commit a testcase too)? Or ISO work is still pending and the bug
should be suspended, as usual in such cases? Something else? Thanks.


[Bug lto/64076] [4.9/5 Regression] ICE: in update_visibility_by_resolution_info, at ipa-visibility.c:427

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64076

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code, lto
   Priority|P3  |P2


[Bug lto/64075] [5 Regression] ICE: in bp_pack_value, at data-streamer.h:106

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64075

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1


[Bug tree-optimization/64081] [5 Regression] r217827 prevents RTL loop unroll

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64081

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
Well, the change allows DOM to CSE pos = 0 in

  bb 2:
  pos = 0;
  dir = 1;
  _45 = (long unsigned int) argc_9(D);
  if (_45 != 0)
goto bb 3;
  else
goto bb 21;

  bb 3:
  pretmp_75 = data;
  pretmp_77 = token;
  arr1.5_23 = arr1;
  arr2.7_27 = arr2;
  pos_lsm.17_22 = pos;

which in turn allows jump threading to do its work.

  Registering jump thread: (11, 12) incoming edge;  (12, 5) joiner;  (5, 23)
normal; (23, 21) nocopy;
...
  Threaded jump 11 -- 12 to 25

this changes the loop to have two latches (thus it becomes a loop nest), and
it adds one exit (now the loop has three).  Further down the road the extra
loop is no longer there but the three exits remain.

I don't see what is wrong with what DOM does here.

We do miss some interesting kind of optimization opportunities like
transforming

  if (prephitmp_87 == 1)
goto bb 9;
  else
goto bb 10;

  bb 9:
  _24 = arr1.5_23 + _62;
  pos.6_25 = *_24;
  goto bb 11;

  bb 10:
  _28 = arr2.7_27 + _62;
  pos.8_29 = *_28;

  bb 11:
  # prephitmp_89 = PHI pos.6_25(9), pos.8_29(10)

to

  if (prephitmp_87 == 1)
goto bb 9;
  else
goto bb 11;

  bb 9:
  goto bb 11;

  bb 11:
  # _24 = PHI arr1.5_23, arr2.7_27
  _28 = _24 + _62;
  prephitmp_89 = *_28;

sinking common computations through a PHI.

With the followup optimization in out-of-SSA to coalesce arr1.5_23 and
arr2.7_27 which means we can drop the conditional entirely.

Heh.  Fun idea.

Anyway - for this PR it is RTL unroll IV analysis that needs to be improved.


[Bug tree-optimization/64081] [5 Regression] r217827 prevents RTL loop unroll

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64081

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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


[Bug target/62173] [5.0 regression] [AArch64] Can't ivopt array base address while ARM can

2014-11-26 Thread jiwang at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62173

Jiong Wang jiwang at gcc dot gnu.org changed:

   What|Removed |Added

Summary|[5.0 regression] [AArch64]  |[5.0 regression] [AArch64]
   |Performance regression due  |Can't ivopt array base
   |to r213488  |address while ARM can

--- Comment #11 from Jiong Wang jiwang at gcc dot gnu.org ---
(In reply to amker from comment #3)
 I have seen potential improvement of bzip/gzip on arm 32.  It relates to
 addressing mode which affecting loop invariant hoisting in kernel loop of
 these two benchmarks.  I once had a patch but didn't follow up that.  I
 think it's worthy of methodical investigation, rather than case by case
 changes.
 
 Thanks,
 bin

exactly.

the fix in lra elimination only reduce one unnecessary add instructions

addx1, x29, 48 
addx0, x1, x0, sxtw
ldrbw0, [x0, -16]

 transformed into

addx0, 29, x0, sxtw
ldrbw0, [x0, 32]

Pinski'a case is fixed by this.

But for Seb's case, still the base address calculation is not hoisted outside
the loop which is critical. And If we re-associate ((virtual_fp + reg) +
offset) into ((virtual_fp + offset) + reg), then the later RTL GCSE pre pass
will identify virtual_fp + offset as loop invariant and do the hoisting. But
the re-association is not always good when there are multi-use etc.

While for ARM backend, although there is the lra elimination issue, there
is no base address hoisting issue.  From the tree dump, ARM and AArch64 do get
difference result after ivopt pass.

Will create a seperate bugzilla for lra elimination issue


[Bug target/63663] [NEON] wrong value when computing the leading zero of int16x4_t type at O2

2014-11-26 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63663

Richard Earnshaw rearnsha at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #3 from Richard Earnshaw rearnsha at gcc dot gnu.org ---
Fixed with:

https://gcc.gnu.org/ml/gcc-patches/2014-10/msg02311.html


[Bug rtl-optimization/64082] New: virtual register elimination doing bad for local array

2014-11-26 Thread jiwang at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64082

Bug ID: 64082
   Summary: virtual register elimination doing bad for local array
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jiwang at gcc dot gnu.org

this ticket is seperated from 62173, for background please see there.

and given Pinski's simple testcase

void bar(int i)
{
  char A[10];
  g(A);
  f(A[i]);
}

both ARM and AArch64 are generating similar sub-optimal code.

for example, for AArch64, we are generating:

bar:
stp x29, x30, [sp, -48]!
add x29, sp, 0
str x19, [sp, 16]
mov w19, w0
add x0, x29, 32
bl  g
add x0, x29, 48  ---
add x19, x0, x19, sxtw   |  A
ldrbw0, [x19, -16] - 
bl  f
ldr x19, [sp, 16]
ldp x29, x30, [sp], 48
ret

code sequence A is generated from

  add x19, virtual_stack_vars_rtx, x19, sxtw
  ldrbw0, [x19, -16]

the elimination of virtual_stack_vars_rtx generated the extra add x0, x29,
48, while if the elimination pass if smart enough, then it could eliminate
above into

  add x19, x29, x19, sxtw
  ldrbw0, [x19, 32]

given x19 REG_DEAD after ldrb (if not may need some multi propagation).

current elimination pass in lra-elimination.c only optimize one special case
which is (virtual_reg + const_imm), we need to handle above two insns pattern.


[Bug debug/38757] gcc does not emit DW_LANG_C99

2014-11-26 Thread mark at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38757

--- Comment #8 from Mark Wielaard mark at gcc dot gnu.org ---
Author: mark
Date: Wed Nov 26 11:05:20 2014
New Revision: 218077

URL: https://gcc.gnu.org/viewcvs?rev=218077root=gccview=rev
Log:
PR debug/38757 continued. Handle C11, C++11 and C++14.

Add experimental (minimal) DWARFv5 support.

This change depends on the new DWARFv5 constants mentioned in the
following draft: http://dwarfstd.org/doc/dwarf5.20141029.pdf

gcc/ChangeLog

* doc/invoke.texi (-gdwarf-@{version}): Mention experimental DWARFv5.
* opts.c (common_handle_option): Accept -gdwarf-5.
* dwarf2out.c (is_cxx): Add DW_LANG_C_plus_plus_11 and
DW_LANG_C_plus_plus_14.
(lower_bound_default): Likewise. Plus DW_LANG_C11.
(gen_compile_unit_die): Output DW_LANG_C_plus_plus_11,
DW_LANG_C_plus_plus_14 or DW_LANG_C11.
(output_compilation_unit_header): Output at most a DWARFv4 header.
(output_skeleton_debug_sections): Likewise.
(output_line_info): Likewise.
(output_aranges): Document header version number.

gcc/testsuite/ChangeLog

* gcc.dg/debug/dwarf2/lang-c11.c: New test.
* gcc.dg/debug/dwarf2/lang-c11-d4-strict.c: Likewise.
* g++.dg/debug/dwarf2/lang-cpp11.C: Likewise.
* g++.dg/debug/dwarf2/lang-cpp14.C: Likewise.
* g++.dg/debug/dwarf2/lang-cpp98.C: Likewise.

include/ChangeLog

* dwarf2.h: Add DW_LANG_C_plus_plus_11, DW_LANG_C11 and
DW_LANG_C_plus_plus_14.

Added:
trunk/gcc/testsuite/g++.dg/debug/dwarf2/lang-cpp11.C
trunk/gcc/testsuite/g++.dg/debug/dwarf2/lang-cpp14.C
trunk/gcc/testsuite/g++.dg/debug/dwarf2/lang-cpp98.C
trunk/gcc/testsuite/gcc.dg/debug/dwarf2/lang-c11-d4-strict.c
trunk/gcc/testsuite/gcc.dg/debug/dwarf2/lang-c11.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/doc/invoke.texi
trunk/gcc/dwarf2out.c
trunk/gcc/opts.c
trunk/gcc/testsuite/ChangeLog
trunk/include/ChangeLog
trunk/include/dwarf2.h


[Bug tree-optimization/63738] [4.9/5 Regression] ssa corruption when compiled with -O3

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63738

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|5.0 |4.9.3


[Bug tree-optimization/63738] [4.9/5 Regression] ssa corruption when compiled with -O3

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63738

--- Comment #5 from Richard Biener rguenth at gcc dot gnu.org ---
It's the vectorizer via data-ref analysis that creates overlapping life-ranges
here.  I have a trivial fix.


[Bug debug/38757] gcc does not emit DW_LANG_C99

2014-11-26 Thread mark at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38757

Mark Wielaard mark at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #9 from Mark Wielaard mark at gcc dot gnu.org ---
Patch committed


[Bug tree-optimization/62238] [4.9 Regression] ICE with LTO on valid code on x86_64-linux-gnu in verify_ssa (in 64-bit mode)

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62238

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
  Known to fail||4.9.2

--- Comment #7 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed.


[Bug tree-optimization/62238] [4.9 Regression] ICE with LTO on valid code on x86_64-linux-gnu in verify_ssa (in 64-bit mode)

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62238

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
  Known to fail||4.9.2

--- Comment #7 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed.

--- Comment #8 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Wed Nov 26 11:42:44 2014
New Revision: 218078

URL: https://gcc.gnu.org/viewcvs?rev=218078root=gccview=rev
Log:
2014-11-26  Richard Biener  rguent...@suse.de

Backport from mainline
2014-11-26  Richard Biener  rguent...@suse.de

PR tree-optimization/62238
* tree-predcom.c (ref_at_iteration): Unshare the expression
before gimplifying it.

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

2014-11-25  Richard Biener  rguent...@suse.de

PR tree-optimization/61927
* tree-vect-loop.c (vect_analyze_loop_2): Revert ordering
of group and pattern analysis to the one in GCC 4.8.

2014-11-07  Richard Biener  rguent...@suse.de

PR tree-optimization/63605
* fold-const.c (fold_binary_loc): Properly use element_precision
for types that may not be scalar.

* gcc.dg/vect/pr63605.c: New testcase.

2014-10-28  Richard Biener  rguent...@suse.de

PR middle-end/63665
* fold-const.c (fold_comparison): Properly guard simplifying
against INT_MAX/INT_MIN with !TYPE_OVERFLOW_WRAPS.

* gcc.dg/pr63665.c: New testcase.

Added:
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr63665.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr62238.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/pr63605.c
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/fold-const.c
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
branches/gcc-4_9-branch/gcc/tree-predcom.c
branches/gcc-4_9-branch/gcc/tree-vect-loop.c


[Bug tree-optimization/63605] [4.8/4.9 Regression] wrong code at -O3 on x86_64-linux-gnu

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63605

--- Comment #6 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Wed Nov 26 11:42:44 2014
New Revision: 218078

URL: https://gcc.gnu.org/viewcvs?rev=218078root=gccview=rev
Log:
2014-11-26  Richard Biener  rguent...@suse.de

Backport from mainline
2014-11-26  Richard Biener  rguent...@suse.de

PR tree-optimization/62238
* tree-predcom.c (ref_at_iteration): Unshare the expression
before gimplifying it.

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

2014-11-25  Richard Biener  rguent...@suse.de

PR tree-optimization/61927
* tree-vect-loop.c (vect_analyze_loop_2): Revert ordering
of group and pattern analysis to the one in GCC 4.8.

2014-11-07  Richard Biener  rguent...@suse.de

PR tree-optimization/63605
* fold-const.c (fold_binary_loc): Properly use element_precision
for types that may not be scalar.

* gcc.dg/vect/pr63605.c: New testcase.

2014-10-28  Richard Biener  rguent...@suse.de

PR middle-end/63665
* fold-const.c (fold_comparison): Properly guard simplifying
against INT_MAX/INT_MIN with !TYPE_OVERFLOW_WRAPS.

* gcc.dg/pr63665.c: New testcase.

Added:
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr63665.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr62238.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/pr63605.c
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/fold-const.c
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
branches/gcc-4_9-branch/gcc/tree-predcom.c
branches/gcc-4_9-branch/gcc/tree-vect-loop.c


[Bug tree-optimization/63665] [4.8/4.9 Regression] wrong code with signed overflow even with -fwrapv

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63665

--- Comment #6 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Wed Nov 26 11:42:44 2014
New Revision: 218078

URL: https://gcc.gnu.org/viewcvs?rev=218078root=gccview=rev
Log:
2014-11-26  Richard Biener  rguent...@suse.de

Backport from mainline
2014-11-26  Richard Biener  rguent...@suse.de

PR tree-optimization/62238
* tree-predcom.c (ref_at_iteration): Unshare the expression
before gimplifying it.

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

2014-11-25  Richard Biener  rguent...@suse.de

PR tree-optimization/61927
* tree-vect-loop.c (vect_analyze_loop_2): Revert ordering
of group and pattern analysis to the one in GCC 4.8.

2014-11-07  Richard Biener  rguent...@suse.de

PR tree-optimization/63605
* fold-const.c (fold_binary_loc): Properly use element_precision
for types that may not be scalar.

* gcc.dg/vect/pr63605.c: New testcase.

2014-10-28  Richard Biener  rguent...@suse.de

PR middle-end/63665
* fold-const.c (fold_comparison): Properly guard simplifying
against INT_MAX/INT_MIN with !TYPE_OVERFLOW_WRAPS.

* gcc.dg/pr63665.c: New testcase.

Added:
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr63665.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr62238.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/pr63605.c
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/fold-const.c
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
branches/gcc-4_9-branch/gcc/tree-predcom.c
branches/gcc-4_9-branch/gcc/tree-vect-loop.c


[Bug middle-end/61927] [4.9 Regression] Wrong results with loop vectorization of: var[i] = ABS_EXPRvar2[i] 9.9e-7

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61927

--- Comment #10 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Wed Nov 26 11:42:44 2014
New Revision: 218078

URL: https://gcc.gnu.org/viewcvs?rev=218078root=gccview=rev
Log:
2014-11-26  Richard Biener  rguent...@suse.de

Backport from mainline
2014-11-26  Richard Biener  rguent...@suse.de

PR tree-optimization/62238
* tree-predcom.c (ref_at_iteration): Unshare the expression
before gimplifying it.

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

2014-11-25  Richard Biener  rguent...@suse.de

PR tree-optimization/61927
* tree-vect-loop.c (vect_analyze_loop_2): Revert ordering
of group and pattern analysis to the one in GCC 4.8.

2014-11-07  Richard Biener  rguent...@suse.de

PR tree-optimization/63605
* fold-const.c (fold_binary_loc): Properly use element_precision
for types that may not be scalar.

* gcc.dg/vect/pr63605.c: New testcase.

2014-10-28  Richard Biener  rguent...@suse.de

PR middle-end/63665
* fold-const.c (fold_comparison): Properly guard simplifying
against INT_MAX/INT_MIN with !TYPE_OVERFLOW_WRAPS.

* gcc.dg/pr63665.c: New testcase.

Added:
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr63665.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr62238.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/pr63605.c
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/fold-const.c
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
branches/gcc-4_9-branch/gcc/tree-predcom.c
branches/gcc-4_9-branch/gcc/tree-vect-loop.c


[Bug middle-end/61927] [4.9 Regression] Wrong results with loop vectorization of: var[i] = ABS_EXPRvar2[i] 9.9e-7

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61927

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
  Known to fail||4.9.2

--- Comment #11 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed.


[Bug target/63663] [NEON] wrong value when computing the leading zero of int16x4_t type at O2

2014-11-26 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63663

Richard Earnshaw rearnsha at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |5.0


[Bug sanitizer/64078] FAIL: c-c++-common/ubsan/object-size-9.c

2014-11-26 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64078

--- Comment #3 from H.J. Lu hjl.tools at gmail dot com ---
I also saw

FAIL: c-c++-common/ubsan/object-size-10.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  execution test

at random on Linux/ia32.


[Bug c/64083] New: ICE compiling Linux Kernel drivers/isdn/i4l/isdn_net.c

2014-11-26 Thread sasha.levin at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64083

Bug ID: 64083
   Summary: ICE compiling Linux Kernel drivers/isdn/i4l/isdn_net.c
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: sasha.levin at oracle dot com
CC: rguenth at gcc dot gnu.org

Created attachment 34124
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34124action=edit
Preprocessed source

I'm seeing the following ICE when compiling drivers/isdn/i4l/isdn_net.c:

$ gcc -v -Wp,-MD,drivers/isdn/i4l/.isdn_net.o.d  -nostdinc -isystem
/home/sasha/gcc-inst/lib/gcc/x86_64-unknown-linux-gnu/5.0.0/include
-I./arch/x86/include -Iarch/x86/include/generated  -Iinclude
-I./arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi
-Iinclude/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -Wall
-Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common
-Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -m64
-mno-80387 -mno-fp-ret-in-387 -march=core2 -mno-red-zone -mcmodel=kernel
-funit-at-a-time -maccumulate-outgoing-args -DCONFIG_X86_X32_ABI
-DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1
-DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1
-pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx
-mno-sse2 -mno-3dnow -mno-avx -fno-delete-null-pointer-checks -O2
--param=allow-store-data-races=0 -fno-reorder-blocks -fno-ipa-cp-clone
-fno-partial-inlining -Wframe-larger-than=2048 -fstack-protector
-Wno-unused-but-set-variable -fno-omit-frame-pointer
-fno-optimize-sibling-calls -fno-var-tracking-assignments -g -gdwarf-4 -pg
-mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wno-pointer-sign
-fno-strict-overflow -fconserve-stack -Werror=implicit-int
-Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO   
-DKBUILD_STR(s)=#s -DKBUILD_BASENAME=KBUILD_STR(isdn_net) 
-DKBUILD_MODNAME=KBUILD_STR(isdn) -c -o drivers/isdn/i4l/.tmp_isdn_net.o
drivers/isdn/i4l/isdn_net.c

Using built-in specs.
COLLECT_GCC=gcc
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --prefix=/home/sasha/gcc-inst/ --with-arch=native
--with-tune=native --enable-languages=c --enable-lto --enable-gold
--enable-stage1-languages=c
Thread model: posix
gcc version 5.0.0 20140905 (experimental) (GCC) 
COLLECT_GCC_OPTIONS='-v' '-nostdinc' '-isystem'
'/home/sasha/gcc-inst/lib/gcc/x86_64-unknown-linux-gnu/5.0.0/include' '-I'
'./arch/x86/include' '-I' 'arch/x86/include/generated' '-I' 'include' '-I'
'./arch/x86/include/uapi' '-I' 'arch/x86/include/generated/uapi' '-I'
'./include/uapi' '-I' 'include/generated/uapi' '-include'
'./include/linux/kconfig.h' '-D' '__KERNEL__' '-Wall' '-Wundef'
'-Wstrict-prototypes' '-Wno-trigraphs' '-fno-strict-aliasing' '-fno-common'
'-Werror=implicit-function-declaration' '-Wno-format-security' '-std=gnu90'
'-m64' '-mno-80387' '-mno-fp-ret-in-387' '-march=core2' '-mno-red-zone'
'-mcmodel=kernel' '-funit-at-a-time' '-maccumulate-outgoing-args' '-D'
'CONFIG_X86_X32_ABI' '-D' 'CONFIG_AS_CFI=1' '-D' 'CONFIG_AS_CFI_SIGNAL_FRAME=1'
'-D' 'CONFIG_AS_CFI_SECTIONS=1' '-D' 'CONFIG_AS_FXSAVEQ=1' '-D'
'CONFIG_AS_CRC32=1' '-D' 'CONFIG_AS_AVX=1' '-D' 'CONFIG_AS_AVX2=1' '-pipe'
'-Wno-sign-compare' '-fno-asynchronous-unwind-tables' '-mno-sse' '-mno-mmx'
'-mno-sse2' '-mno-3dnow' '-mno-avx' '-fno-delete-null-pointer-checks' '-O2'
'--param' 'allow-store-data-races=0' '-fno-reorder-blocks' '-fno-ipa-cp-clone'
'-fno-partial-inlining' '-Wframe-larger-than=2048' '-fstack-protector'
'-Wno-unused-but-set-variable' '-fno-omit-frame-pointer'
'-fno-optimize-sibling-calls' '-fno-var-tracking-assignments' '-g' '-gdwarf-4'
'-pg' '-mfentry' '-D' 'CC_USING_FENTRY' '-Wdeclaration-after-statement'
'-Wno-pointer-sign' '-fno-strict-overflow' '-fconserve-stack'
'-Werror=implicit-int' '-Werror=strict-prototypes' '-Werror=date-time' '-D'
'CC_HAVE_ASM_GOTO' '-D' 'KBUILD_STR(s)=#s' '-D'
'KBUILD_BASENAME=KBUILD_STR(isdn_net)' '-D' 'KBUILD_MODNAME=KBUILD_STR(isdn)'
'-c' '-o' 'drivers/isdn/i4l/.tmp_isdn_net.o'
 /home/sasha/gcc-inst/libexec/gcc/x86_64-unknown-linux-gnu/5.0.0/cc1 -quiet
-nostdinc -v -I ./arch/x86/include -I arch/x86/include/generated -I include -I
./arch/x86/include/uapi -I arch/x86/include/generated/uapi -I ./include/uapi -I
include/generated/uapi -imultiarch x86_64-linux-gnu -D __KERNEL__ -D
CONFIG_X86_X32_ABI -D CONFIG_AS_CFI=1 -D CONFIG_AS_CFI_SIGNAL_FRAME=1 -D
CONFIG_AS_CFI_SECTIONS=1 -D CONFIG_AS_FXSAVEQ=1 -D CONFIG_AS_CRC32=1 -D
CONFIG_AS_AVX=1 -D CONFIG_AS_AVX2=1 -D CC_USING_FENTRY -D CC_HAVE_ASM_GOTO -D
KBUILD_STR(s)=#s -D KBUILD_BASENAME=KBUILD_STR(isdn_net) -D
KBUILD_MODNAME=KBUILD_STR(isdn) -isystem
/home/sasha/gcc-inst/lib/gcc/x86_64-unknown-linux-gnu/5.0.0/include -include
./include/linux/kconfig.h -MD 

[Bug c++/64079] %+D in diagnostics breaks pragma GCC diagnostic

2014-11-26 Thread manu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64079

Manuel López-Ibáñez manu at gcc dot gnu.org changed:

   What|Removed |Added

 CC||manu at gcc dot gnu.org
Summary|pragma GCC diagnostic   |%+D in diagnostics breaks
   |ignored -Wunused-function |pragma GCC diagnostic
   |has incorrect scope |

--- Comment #1 from Manuel López-Ibáñez manu at gcc dot gnu.org ---
I think this is because this warning uses:

warning ((TREE_CODE (decl) == FUNCTION_DECL)
 ? OPT_Wunused_function
 : OPT_Wunused_variable,
 %q+D defined but not used, decl);

instead of:

warning_at (DECL_SOURCE_LOCATION (decl),
(TREE_CODE (decl) == FUNCTION_DECL)
 ? OPT_Wunused_function
 : OPT_Wunused_variable,
 %qD defined but not used, decl);

and the pragma location check is done before processing the format string, so
the location is not set correctly. As I said several times, +D is not only
cryptic, it is also buggy because it is handled too late and too deep in the
diagnostics machinery to modify the location of the diagnostic ('+' would be
more intuitive as 'extra verbose' output).

Every diagnostic using +D is broken in this respect.

On the other hand, I do not understand how it was working in GCC 4.8.

[Bug lto/61969] [4.8 Regression] wrong code by LTO on i?86-linux-gnu (affecting trunk, 4.9.x, and 4.8.x)

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61969

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #14 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed.


[Bug lto/61969] [4.8 Regression] wrong code by LTO on i?86-linux-gnu (affecting trunk, 4.9.x, and 4.8.x)

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61969

--- Comment #15 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Wed Nov 26 13:15:16 2014
New Revision: 218079

URL: https://gcc.gnu.org/viewcvs?rev=218079root=gccview=rev
Log:
2014-11-26  Richard Biener  rguent...@suse.de

Backport from mainline
2014-10-08  Richard Biener  rguent...@suse.de

PR tree-optimization/61969
* tree-nrv.c (pass_nrv::execute): Properly test for automatic
variables.

2014-08-15  Richard Biener  rguent...@suse.de

PR tree-optimization/62031
* tree-data-ref.c (dr_analyze_indices): Do not set
DR_UNCONSTRAINED_BASE.
(dr_may_alias_p): All indirect accesses have to go the
formerly DR_UNCONSTRAINED_BASE path.
* tree-data-ref.h (struct indices): Remove
unconstrained_base member.
(DR_UNCONSTRAINED_BASE): Remove.

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

2014-10-10  Richard Biener  rguent...@suse.de

PR tree-optimization/63379
* tree-vect-slp.c (vect_get_constant_vectors): Do not compute
a neutral operand for min/max when it is not a reduction chain.

* gcc.dg/vect/pr63379.c: New testcase.

2014-11-07  Richard Biener  rguent...@suse.de

PR tree-optimization/63605
* fold-const.c (fold_binary_loc): Properly use element_precision
for types that may not be scalar.

* gcc.dg/vect/pr63605.c: New testcase.

2014-10-28  Richard Biener  rguent...@suse.de

PR middle-end/63665
* fold-const.c (fold_comparison): Properly guard simplifying
against INT_MAX/INT_MIN with !TYPE_OVERFLOW_WRAPS.

* gcc.dg/pr63665.c: New testcase.

Added:
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/pr63665.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/torture/pr62031.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr63379.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr63605.c
Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/fold-const.c
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
branches/gcc-4_8-branch/gcc/tree-data-ref.c
branches/gcc-4_8-branch/gcc/tree-data-ref.h
branches/gcc-4_8-branch/gcc/tree-nrv.c
branches/gcc-4_8-branch/gcc/tree-vect-slp.c


[Bug libstdc++/64054] 27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc FAILs

2014-11-26 Thread ro at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64054

Rainer Orth ro at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #10 from Rainer Orth ro at gcc dot gnu.org ---
Mine.


[Bug tree-optimization/62031] [4.8 Regression] Different results between O2 and O2 -fpredictive-commoning

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62031

--- Comment #15 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Wed Nov 26 13:15:16 2014
New Revision: 218079

URL: https://gcc.gnu.org/viewcvs?rev=218079root=gccview=rev
Log:
2014-11-26  Richard Biener  rguent...@suse.de

Backport from mainline
2014-10-08  Richard Biener  rguent...@suse.de

PR tree-optimization/61969
* tree-nrv.c (pass_nrv::execute): Properly test for automatic
variables.

2014-08-15  Richard Biener  rguent...@suse.de

PR tree-optimization/62031
* tree-data-ref.c (dr_analyze_indices): Do not set
DR_UNCONSTRAINED_BASE.
(dr_may_alias_p): All indirect accesses have to go the
formerly DR_UNCONSTRAINED_BASE path.
* tree-data-ref.h (struct indices): Remove
unconstrained_base member.
(DR_UNCONSTRAINED_BASE): Remove.

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

2014-10-10  Richard Biener  rguent...@suse.de

PR tree-optimization/63379
* tree-vect-slp.c (vect_get_constant_vectors): Do not compute
a neutral operand for min/max when it is not a reduction chain.

* gcc.dg/vect/pr63379.c: New testcase.

2014-11-07  Richard Biener  rguent...@suse.de

PR tree-optimization/63605
* fold-const.c (fold_binary_loc): Properly use element_precision
for types that may not be scalar.

* gcc.dg/vect/pr63605.c: New testcase.

2014-10-28  Richard Biener  rguent...@suse.de

PR middle-end/63665
* fold-const.c (fold_comparison): Properly guard simplifying
against INT_MAX/INT_MIN with !TYPE_OVERFLOW_WRAPS.

* gcc.dg/pr63665.c: New testcase.

Added:
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/pr63665.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/torture/pr62031.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr63379.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr63605.c
Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/fold-const.c
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
branches/gcc-4_8-branch/gcc/tree-data-ref.c
branches/gcc-4_8-branch/gcc/tree-data-ref.h
branches/gcc-4_8-branch/gcc/tree-nrv.c
branches/gcc-4_8-branch/gcc/tree-vect-slp.c


[Bug tree-optimization/63379] [4.8 Regression] Incorrect vectorization when enabling SSE and O3, initialises loop with wrong value

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63379

--- Comment #10 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Wed Nov 26 13:15:16 2014
New Revision: 218079

URL: https://gcc.gnu.org/viewcvs?rev=218079root=gccview=rev
Log:
2014-11-26  Richard Biener  rguent...@suse.de

Backport from mainline
2014-10-08  Richard Biener  rguent...@suse.de

PR tree-optimization/61969
* tree-nrv.c (pass_nrv::execute): Properly test for automatic
variables.

2014-08-15  Richard Biener  rguent...@suse.de

PR tree-optimization/62031
* tree-data-ref.c (dr_analyze_indices): Do not set
DR_UNCONSTRAINED_BASE.
(dr_may_alias_p): All indirect accesses have to go the
formerly DR_UNCONSTRAINED_BASE path.
* tree-data-ref.h (struct indices): Remove
unconstrained_base member.
(DR_UNCONSTRAINED_BASE): Remove.

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

2014-10-10  Richard Biener  rguent...@suse.de

PR tree-optimization/63379
* tree-vect-slp.c (vect_get_constant_vectors): Do not compute
a neutral operand for min/max when it is not a reduction chain.

* gcc.dg/vect/pr63379.c: New testcase.

2014-11-07  Richard Biener  rguent...@suse.de

PR tree-optimization/63605
* fold-const.c (fold_binary_loc): Properly use element_precision
for types that may not be scalar.

* gcc.dg/vect/pr63605.c: New testcase.

2014-10-28  Richard Biener  rguent...@suse.de

PR middle-end/63665
* fold-const.c (fold_comparison): Properly guard simplifying
against INT_MAX/INT_MIN with !TYPE_OVERFLOW_WRAPS.

* gcc.dg/pr63665.c: New testcase.

Added:
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/pr63665.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/torture/pr62031.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr63379.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr63605.c
Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/fold-const.c
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
branches/gcc-4_8-branch/gcc/tree-data-ref.c
branches/gcc-4_8-branch/gcc/tree-data-ref.h
branches/gcc-4_8-branch/gcc/tree-nrv.c
branches/gcc-4_8-branch/gcc/tree-vect-slp.c


[Bug tree-optimization/63605] [4.8 Regression] wrong code at -O3 on x86_64-linux-gnu

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63605

--- Comment #7 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Wed Nov 26 13:15:16 2014
New Revision: 218079

URL: https://gcc.gnu.org/viewcvs?rev=218079root=gccview=rev
Log:
2014-11-26  Richard Biener  rguent...@suse.de

Backport from mainline
2014-10-08  Richard Biener  rguent...@suse.de

PR tree-optimization/61969
* tree-nrv.c (pass_nrv::execute): Properly test for automatic
variables.

2014-08-15  Richard Biener  rguent...@suse.de

PR tree-optimization/62031
* tree-data-ref.c (dr_analyze_indices): Do not set
DR_UNCONSTRAINED_BASE.
(dr_may_alias_p): All indirect accesses have to go the
formerly DR_UNCONSTRAINED_BASE path.
* tree-data-ref.h (struct indices): Remove
unconstrained_base member.
(DR_UNCONSTRAINED_BASE): Remove.

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

2014-10-10  Richard Biener  rguent...@suse.de

PR tree-optimization/63379
* tree-vect-slp.c (vect_get_constant_vectors): Do not compute
a neutral operand for min/max when it is not a reduction chain.

* gcc.dg/vect/pr63379.c: New testcase.

2014-11-07  Richard Biener  rguent...@suse.de

PR tree-optimization/63605
* fold-const.c (fold_binary_loc): Properly use element_precision
for types that may not be scalar.

* gcc.dg/vect/pr63605.c: New testcase.

2014-10-28  Richard Biener  rguent...@suse.de

PR middle-end/63665
* fold-const.c (fold_comparison): Properly guard simplifying
against INT_MAX/INT_MIN with !TYPE_OVERFLOW_WRAPS.

* gcc.dg/pr63665.c: New testcase.

Added:
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/pr63665.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/torture/pr62031.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr63379.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr63605.c
Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/fold-const.c
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
branches/gcc-4_8-branch/gcc/tree-data-ref.c
branches/gcc-4_8-branch/gcc/tree-data-ref.h
branches/gcc-4_8-branch/gcc/tree-nrv.c
branches/gcc-4_8-branch/gcc/tree-vect-slp.c


[Bug tree-optimization/50414] [4.7 Regression] gfortran -Ofast SIGSEGV in store_constructor

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50414
Bug 50414 depends on bug 63379, which changed state.

Bug 63379 Summary: [4.8 Regression] Incorrect vectorization when enabling SSE 
and O3, initialises loop with wrong value
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63379

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED


[Bug tree-optimization/63605] [4.8 Regression] wrong code at -O3 on x86_64-linux-gnu

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63605

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
  Known to fail||4.8.3

--- Comment #8 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed.


[Bug tree-optimization/62031] [4.8 Regression] Different results between O2 and O2 -fpredictive-commoning

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62031

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
  Known to fail||4.8.3

--- Comment #16 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed.


[Bug middle-end/64083] [5 Regression] ICE: in fix_loop_structure, at loop-init.c:252 compiling Linux Kernel

2014-11-26 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64083

Markus Trippelsdorf trippels at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-11-26
 CC||trippels at gcc dot gnu.org
  Component|c   |middle-end
   Target Milestone|--- |5.0
Summary|ICE compiling Linux Kernel  |[5 Regression] ICE: in
   |drivers/isdn/i4l/isdn_net.c |fix_loop_structure, at
   ||loop-init.c:252 compiling
   ||Linux Kernel
 Ever confirmed|0   |1

--- Comment #1 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
Reduced:

markus@x4 tmp % cat isdn_net.i
int a, b;
void
fn1 ()
{
  int c = 0;
  while (b)
{
  switch (c)
  case 1:
  fn1 ();
  if (a)
c = 1;
  b = 0;
}
}

markus@x4 tmp % gcc -O2 -c isdn_net.i
isdn_net.i: In function ‘fn1’:
isdn_net.i:3:1: internal compiler error: in fix_loop_structure, at
loop-init.c:263

[Bug tree-optimization/63665] [4.8 Regression] wrong code with signed overflow even with -fwrapv

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63665

--- Comment #7 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Wed Nov 26 13:15:16 2014
New Revision: 218079

URL: https://gcc.gnu.org/viewcvs?rev=218079root=gccview=rev
Log:
2014-11-26  Richard Biener  rguent...@suse.de

Backport from mainline
2014-10-08  Richard Biener  rguent...@suse.de

PR tree-optimization/61969
* tree-nrv.c (pass_nrv::execute): Properly test for automatic
variables.

2014-08-15  Richard Biener  rguent...@suse.de

PR tree-optimization/62031
* tree-data-ref.c (dr_analyze_indices): Do not set
DR_UNCONSTRAINED_BASE.
(dr_may_alias_p): All indirect accesses have to go the
formerly DR_UNCONSTRAINED_BASE path.
* tree-data-ref.h (struct indices): Remove
unconstrained_base member.
(DR_UNCONSTRAINED_BASE): Remove.

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

2014-10-10  Richard Biener  rguent...@suse.de

PR tree-optimization/63379
* tree-vect-slp.c (vect_get_constant_vectors): Do not compute
a neutral operand for min/max when it is not a reduction chain.

* gcc.dg/vect/pr63379.c: New testcase.

2014-11-07  Richard Biener  rguent...@suse.de

PR tree-optimization/63605
* fold-const.c (fold_binary_loc): Properly use element_precision
for types that may not be scalar.

* gcc.dg/vect/pr63605.c: New testcase.

2014-10-28  Richard Biener  rguent...@suse.de

PR middle-end/63665
* fold-const.c (fold_comparison): Properly guard simplifying
against INT_MAX/INT_MIN with !TYPE_OVERFLOW_WRAPS.

* gcc.dg/pr63665.c: New testcase.

Added:
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/pr63665.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/torture/pr62031.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr63379.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr63605.c
Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/fold-const.c
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
branches/gcc-4_8-branch/gcc/tree-data-ref.c
branches/gcc-4_8-branch/gcc/tree-data-ref.h
branches/gcc-4_8-branch/gcc/tree-nrv.c
branches/gcc-4_8-branch/gcc/tree-vect-slp.c


[Bug tree-optimization/63379] [4.8 Regression] Incorrect vectorization when enabling SSE and O3, initialises loop with wrong value

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63379

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #11 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed.


[Bug tree-optimization/63665] [4.8 Regression] wrong code with signed overflow even with -fwrapv

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63665

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #8 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed.


[Bug libstdc++/64054] 27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc FAILs

2014-11-26 Thread ro at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64054

--- Comment #11 from Rainer Orth ro at gcc dot gnu.org ---
Author: ro
Date: Wed Nov 26 13:22:27 2014
New Revision: 218081

URL: https://gcc.gnu.org/viewcvs?rev=218081root=gccview=rev
Log:
XFAIL 27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc on Solaris (PR
libstd++/64054)

PR libstdc++/64054
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
XFAIL execution on *-*-solaris*.

Modified:
trunk/libstdc++-v3/ChangeLog
   
trunk/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc


[Bug lto/63704] -flto internal compiler error: in mems_in_disjoint_alias_sets_p, at alias.c:398

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63704

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
Oh, no.  It's actually a genuine bug.

__attribute__((optimize(O3))) enables -fstrict-aliasing, so if the
rest of the TU is compiled with -fno-strict-aliasing it depends on
prue luck if 'int' (as in this case) gets alias-set zero (a function
compiled with -fno-strict-aliasing calls get_alias_set on it) or
a non-zero alias-set (the -O3 function calls get_alias_set on 'int').

Of course LTO just makes it more likely to trigger.

- -fstrict-aliasing may not be altered via attribute((optimize())).


[Bug libstdc++/64054] 27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc FAILs

2014-11-26 Thread ro at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64054

Rainer Orth ro at gcc dot gnu.org changed:

   What|Removed |Added

URL||https://gcc.gnu.org/ml/gcc-
   ||patches/2014-11/msg03271.ht
   ||ml
 Depends on||40411

--- Comment #12 from Rainer Orth ro at gcc dot gnu.org ---
Done, thanks.

It turned out you need dg-xfail-run-if since it's the execution part of the
test
that fails.

  Rainer


[Bug middle-end/64083] [5 Regression] ICE: in fix_loop_structure, at loop-init.c:252 compiling Linux Kernel

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64083

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
Mine.


[Bug bootstrap/63573] [5 Regression] libgo: ICE building libgo on powerpc-linux-gnu

2014-11-26 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63573

--- Comment #24 from Jonathan Wakely redi at gcc dot gnu.org ---
The code in comment 23 compiled OK at r215990 (I couldn't test with r216304 to
confirm t his is definitely the same issue because that failed to bootstrap on
powerpc for a different reason)

You only need this command to trigger the ICE, the rest of the command in
comment 23 is not relevant:

~/gcc/5/bin/g++ -std=gnu++11 -fno-implicit-templates -m32 -O2 -c
cxx11-shim_facets.ii -o cxx11-shim_facets.o

(It compiles OK without -fno-implicit-templates)


[Bug lto/64075] [5 Regression] ICE: in bp_pack_value, at data-streamer.h:106

2014-11-26 Thread ienkovich at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64075

--- Comment #5 from ienkovich at gcc dot gnu.org ---
Author: ienkovich
Date: Wed Nov 26 13:53:38 2014
New Revision: 218083

URL: https://gcc.gnu.org/viewcvs?rev=218083root=gccview=rev
Log:
gcc/

PR lto/64075
* tree-streamer-in.c (unpack_ts_function_decl_value_fields): Use
proper size for function_code bitfield.
(pack_ts_function_decl_value_fields): Likewise.

gcc/testsuite/

PR lto/64075
* gcc.dg/pr64075.c: New.


Added:
trunk/gcc/testsuite/gcc.dg/pr64075.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-streamer-in.c
trunk/gcc/tree-streamer-out.c


[Bug sanitizer/63788] ICE: SIGSEGV in contains_struct_check with -O -fsanitize=undefined on almost any fortran code

2014-11-26 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63788

--- Comment #5 from Marek Polacek mpolacek at gcc dot gnu.org ---
Author: mpolacek
Date: Wed Nov 26 14:05:21 2014
New Revision: 218084

URL: https://gcc.gnu.org/viewcvs?rev=218084root=gccview=rev
Log:
PR sanitizer/63788
* asan.c (initialize_sanitizer_builtins): Add BT_FN_SIZE_CONST_PTR_INT
var.  Conditionally build BUILT_IN_OBJECT_SIZE decl.
(ATTR_PURE_NOTHROW_LEAF_LIST): Define.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/asan.c


[Bug sanitizer/63788] ICE: SIGSEGV in contains_struct_check with -O -fsanitize=undefined on almost any fortran code

2014-11-26 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63788

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #6 from Marek Polacek mpolacek at gcc dot gnu.org ---
Fixed.


[Bug middle-end/64083] [5 Regression] ICE: in fix_loop_structure, at loop-init.c:252 compiling Linux Kernel

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64083

--- Comment #3 from Richard Biener rguenth at gcc dot gnu.org ---
Seems I have an (untested) fix in my dev tree:

Index: gcc/tree-ssa-threadupdate.c
===
--- gcc/tree-ssa-threadupdate.c (revision 218078)
+++ gcc/tree-ssa-threadupdate.c (working copy)
@@ -2431,13 +2431,7 @@ thread_through_all_blocks (bool may_peel
struct loop *loop = (*path)[0]-e-dest-loop_father;

if (thread_block ((*path)[0]-e-dest, false))
- {
-   /* This jump thread likely totally scrambled this loop.
-  So arrange for it to be fixed up.  */
-   loop-header = NULL;
-   loop-latch = NULL;
-   e-aux = NULL;
- }
+ e-aux = NULL;
else
  {
delete_jump_thread_path (path);

or else it should use mark_loop_for_removal (loop).  But the above is of course
prefered.


[Bug bootstrap/63995] Bootstrap error with -mmpx -fcheck-pointer-bounds

2014-11-26 Thread ienkovich at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63995

--- Comment #10 from ienkovich at gcc dot gnu.org ---
Author: ienkovich
Date: Wed Nov 26 14:37:07 2014
New Revision: 218085

URL: https://gcc.gnu.org/viewcvs?rev=218085root=gccview=rev
Log:
gcc/

PR bootstrap/63995
* tree-chkp-opt.c (chkp_reduce_bounds_lifetime): Ignore
debug statement when searching for a new position for
bounds load/creation statement.

gcc/testsuite/

PR bootstrap/63995
* gcc.target/i386/pr63995-2.c: New.


Added:
trunk/gcc/testsuite/gcc.target/i386/pr63995-2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-chkp-opt.c


[Bug tree-optimization/64058] [5 Regression] Performance degradation after r216304

2014-11-26 Thread izamyatin at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64058

--- Comment #4 from Igor Zamyatin izamyatin at gmail dot com ---
Partition maps differ

216303:

 Partition 0 (_1 - 1 101 200 252 267 316 348 )
 
 Partition 16 (l1_lsm.7_159 - 106 159 238 253 )

and for 216304:

 Partition 3 (l1_lsm.7_58 - 58 106 238 253 315 316 )
 
 Partition 31 (u1_lsm.6_252 - 101 252 267 314 348 )

And also for 216304 there is 
Coalesce list: (267)u1_lsm.6_252  (315)l1_lsm.7_58 [map: 70, 4] : Fail due to
conflict

although for 216303 there is 
Coalesce list: (1)_1  (253)l1_lsm.7_159 [map: 0, 32] : Fail due to conflict


[Bug tree-optimization/64024] [5 Regression] gcc.dg/vect/vect-simd-clone-6.c ICEs

2014-11-26 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64024

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #9 from Jakub Jelinek jakub at gcc dot gnu.org ---
Created attachment 34125
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34125action=edit
gcc5-pr64024.patch

Untested fix (well, passed
make check-gcc
RUNTESTFLAGS='--target_board=unix\{-m32,-m32/-fcommon,-m64,-m64/-fcommon\}
vect.exp=vect-simd*'
).


[Bug middle-end/63994] Ada bootstrap fails with -fcheck-pointer-bounds -mmpx

2014-11-26 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63994

--- Comment #3 from Ilya Enkovich enkovich.gnu at gmail dot com ---
(In reply to rguent...@suse.de from comment #2)
 
  TARGET_CFLAGS=-O2 -g -mmpx -fcheck-pointer-bounds TARGET_CXXFLAGS=-O2 
 -g -mmpx -fcheck-pointer-bounds BOOT_CFLAGS=-O2 -g -mmpx 
 -fcheck-pointer-bounds /space/rguenther/src/svn/trunk/configure 
 --enable-languages=all,obj-c++,ada,go
  make -j12  TARGET_CFLAGS=-O2 -g -mmpx -fcheck-pointer-bounds 
 TARGET_CXXFLAGS=-O2 -g -mmpx -fcheck-pointer-bounds BOOT_CFLAGS=-O2 -g 
 -mmpx -fcheck-pointer-bounds

Building with these options I see Ada compiler is called with
-fcheck-pointer-bounds.  Option is in c-family/c.opt and shouldn't be passed
for Ada compiler.  

We should either not pass CFLAGS for Ada during build or filter language in the
compiler.


[Bug c++/59759] internal compiler error: in unify, using std::enable_if on classes

2014-11-26 Thread gereon.kremer at cs dot rwth-aachen.de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59759

--- Comment #10 from Gereon Kremer gereon.kremer at cs dot rwth-aachen.de ---
Any news?

The problem persists for the following versions:

- 4.8.3, error at line 17225
- 4.9.1, error at line 18149
- 4.9.2, error at line 18149


[Bug tree-optimization/63738] [4.9/5 Regression] ssa corruption when compiled with -O3

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63738

--- Comment #6 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Wed Nov 26 15:16:24 2014
New Revision: 218088

URL: https://gcc.gnu.org/viewcvs?rev=218088root=gccview=rev
Log:
2014-11-26  Richard Biener  rguent...@suse.de

PR middle-end/63738
* tree-data-ref.c (split_constant_offset_1): Do not follow
SSA edges for SSA names with SSA_NAME_OCCURS_IN_ABNORMAL_PHI.

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

Added:
trunk/gcc/testsuite/gcc.dg/torture/pr63738.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-data-ref.c


[Bug tree-optimization/63738] [4.9/5 Regression] ssa corruption when compiled with -O3

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63738

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
  Known to fail||4.9.2

--- Comment #7 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed.


[Bug tree-optimization/63738] [4.9/5 Regression] ssa corruption when compiled with -O3

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63738

--- Comment #8 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Wed Nov 26 15:17:31 2014
New Revision: 218089

URL: https://gcc.gnu.org/viewcvs?rev=218089root=gccview=rev
Log:
2014-11-26  Richard Biener  rguent...@suse.de

PR middle-end/63738
* tree-data-ref.c (split_constant_offset_1): Do not follow
SSA edges for SSA names with SSA_NAME_OCCURS_IN_ABNORMAL_PHI.

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

Added:
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr63738.c
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
branches/gcc-4_9-branch/gcc/tree-data-ref.c


[Bug c++/59759] internal compiler error: in unify, using std::enable_if on classes

2014-11-26 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59759

Markus Trippelsdorf trippels at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|4.8.4   |---


[Bug tree-optimization/64084] New: [5 Regression] match-and-simplify prefers complex matches

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64084

Bug ID: 64084
   Summary: [5 Regression] match-and-simplify prefers complex
matches
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: rguenth at gcc dot gnu.org

For

int foo (int x)
{
  int y = 0;
  int z = x + 1;
  return z + y;
}

the first CCP pass ends up producing

  z_3 = x_2(D) + 1;
  _4 = x_2(D) + 1;
  return _4;

because (A + CST) + CST' - A + (CST + CST') matches before A + 0 - A.

This is because we build the decision tree depth-first (the idea was to
delay possibly expensive predicate evaluations as much as possible).  I suppose
if we'd build the decision tree breath first we would match the correct
one first.

For the testcase FRE of course fixes things up for us.  Similarly we could
drop SSA edge following from the folding done in substitute_and_fold.  But
forwprop would have the same issue (in fact it _did_ have the same issue
in 4.9 if you disable CCP - or rather not, because then nothing propagates
the zero).


[Bug tree-optimization/64084] [5 Regression] match-and-simplify prefers complex matches

2014-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64084

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |5.0


[Bug middle-end/63994] Ada bootstrap fails with -fcheck-pointer-bounds -mmpx

2014-11-26 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63994

--- Comment #4 from rguenther at suse dot de rguenther at suse dot de ---
On Wed, 26 Nov 2014, enkovich.gnu at gmail dot com wrote:

 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63994
 
 --- Comment #3 from Ilya Enkovich enkovich.gnu at gmail dot com ---
 (In reply to rguent...@suse.de from comment #2)
  
   TARGET_CFLAGS=-O2 -g -mmpx -fcheck-pointer-bounds TARGET_CXXFLAGS=-O2 
  -g -mmpx -fcheck-pointer-bounds BOOT_CFLAGS=-O2 -g -mmpx 
  -fcheck-pointer-bounds /space/rguenther/src/svn/trunk/configure 
  --enable-languages=all,obj-c++,ada,go
   make -j12  TARGET_CFLAGS=-O2 -g -mmpx -fcheck-pointer-bounds 
  TARGET_CXXFLAGS=-O2 -g -mmpx -fcheck-pointer-bounds BOOT_CFLAGS=-O2 -g 
  -mmpx -fcheck-pointer-bounds
 
 Building with these options I see Ada compiler is called with
 -fcheck-pointer-bounds.  Option is in c-family/c.opt and shouldn't be passed
 for Ada compiler.  
 
 We should either not pass CFLAGS for Ada during build or filter language in 
 the
 compiler.

Any reason why non-C-family languages cannot use MPX?

Richard.


[Bug c++/59114] [c++1y] ICE using auto in conversion operator

2014-11-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59114

--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com ---
Let's add the testcase and close the bug.


[Bug ipa/63671] [5 Regression] 21% tramp3d-v4 performance hit due to -fdevirtualize

2014-11-26 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63671

--- Comment #18 from Jan Hubicka hubicka at gcc dot gnu.org ---
With Martin's fibheap long-sreal change some of anomalies went away. -ficf is
no longer an issue, but mainline still produces slower binary than 4.9 and
-fwhole-program hurts code quality.


[Bug middle-end/63994] Ada bootstrap fails with -fcheck-pointer-bounds -mmpx

2014-11-26 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63994

--- Comment #5 from Ilya Enkovich enkovich.gnu at gmail dot com ---
(In reply to rguent...@suse.de from comment #4)
 Any reason why non-C-family languages cannot use MPX?
 
 Richard.

There is no fundamental restriction.  If someone wants to implement Pointer
Bounds Checker for some language, then he needs to define how it instruments
the program on that language and implement it in the compiler.  Currently it is
defined and implemented for C-languages only.


[Bug c++/59114] [c++1y] ICE using auto in conversion operator

2014-11-26 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59114

--- Comment #4 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org ---
Author: paolo
Date: Wed Nov 26 16:06:53 2014
New Revision: 218090

URL: https://gcc.gnu.org/viewcvs?rev=218090root=gccview=rev
Log:
2014-11-26  Paolo Carlini  paolo.carl...@oracle.com

PR c++/59114
* g++.dg/cpp0x/auto43.C: New.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/auto43.C
Modified:
trunk/gcc/testsuite/ChangeLog


[Bug c++/59114] [c++1y] ICE using auto in conversion operator

2014-11-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59114

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |4.9.0

--- Comment #5 from Paolo Carlini paolo.carlini at oracle dot com ---
Done.


[Bug target/63661] [4.9/5 Regression] -O2 miscompiles with -mtune=nehalem or corei7

2014-11-26 Thread renlin.li at arm dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63661

--- Comment #23 from Renlin Li renlin.li at arm dot com ---
I am using x86_64-unknown-linux-gnu-gcc toolchain.

Reproduce the issue in 4.9 branch with -O2 -fPIC -mtune=native options.

With 4.9.2 release, I reproduced the problem with -O2 -fPIC -mtune=nehalem
options.

I have verified that, after my patch(r217783), both cases are fixed.

Issue is not there anymore in the latest trunk, it is presumably fixed by my
patch already.


[Bug fortran/61420] [4.8/4.9/5 Regression] type bound procedure with pass attribute, that returns a procedure pointer, fails to compile

2014-11-26 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61420

--- Comment #3 from janus at gcc dot gnu.org ---
There is a piece of code in resolve_variable (resolve.c, line 4911) that looks
like it is related to this problem:

  if (sym-attr.flavor == FL_PROCEDURE
   (!sym-attr.function
  || (sym-attr.function  sym-result
   sym-result-attr.proc_pointer
   !sym-result-attr.function)))
{
  e-ts.type = BT_PROCEDURE;
  goto resolve_procedure;
}

The error which is thrown here comes from gfc_set_default_type, which is being
called from resolve_variable.


[Bug c++/59244] [c++11] can't specialize template on ref-qualified member function pointer type

2014-11-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59244

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Known to work||4.8.2, 4.9.0, 5.0
 Resolution|--- |FIXED

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com ---
Fixed long time ago.


[Bug c++/64085] New: ICE on C++14 lambda by-reference capture with an initializer

2014-11-26 Thread maxim.yegorushkin at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64085

Bug ID: 64085
   Summary: ICE on C++14 lambda by-reference capture with an
initializer
   Product: gcc
   Version: 4.9.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: maxim.yegorushkin at gmail dot com

$ cat test.cc 
#include functional
#include iostream

templateclass T
auto make_monad(T arg) {
return [captive = std::forwardT(arg)](auto a) {
std::cout  __PRETTY_FUNCTION__ a  '\n';
return 1;
};
}

templateclass T
auto make_monad(std::reference_wrapperT arg) {
return [captive = arg.get()](auto a) {
std::cout  __PRETTY_FUNCTION__ a  '\n';
return 1;
};
}

int main() {
auto monad = [](auto captive) {
return make_monad(std::forwarddecltype(captive)(captive));
};

int n = 1;
monad(1)(1);
monad(n)(2);
monad(std::ref(n))(3);
}

$ /usr/local/ots/7/bin/g++ -v -c -o test.o -pthread -m64 -march=native
-W{all,extra,init-self,cast-align,missing-include-dirs,pointer-arith}
-Werror={return-type,format,format-extra-args,reorder,uninitialized,narrowing}
-Wno-{missing-field-initializers,unused-local-typedefs}
-f{align-functions,diagnostics-show-option,message-length=0} -std=gnu++1y
-Wno-non-virtual-dtor -ftemplate-backtrace-limit=0 -g test.cc
Using built-in specs.
COLLECT_GCC=/usr/local/ots/7/bin/g++49
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.9.2-src/configure --prefix=/usr/local/ots/7
--program-suffix=49 --disable-libunwind-exceptions --with-system-zlib
--enable-__cxa_atexit --enable-checking=release --disable-multiarch
--disable-multilib --with-gmp-include=/usr/local/ots/7/include
--with-mpfr-include=/usr/local/ots/7/include
--with-mpc-include=/usr/local/ots/7/include
--with-cloog-include=/usr/local/ots/7/include
--with-isl-include=/usr/local/ots/7/include
--with-binutils-include=/usr/local/ots/7/include
--with-gmp-lib=/usr/local/ots/7/lib64 --with-mpfr-lib=/usr/local/ots/7/lib64
--with-mpc-lib=/usr/local/ots/7/lib64 --with-cloog-lib=/usr/local/ots/7/lib64
--with-isl-lib=/usr/local/ots/7/lib64
--with-binutils-lib=/usr/local/ots/7/lib64 --enable-languages=c,c++,fortran,lto
--enable-plugin --enable-initfini-array --enable-gold=default
--enable-libstdcxx-time --enable-linker-build-id --with-linker-hash-style=gnu
--disable-libgcj
Thread model: posix
gcc version 4.9.2 (GCC) 
COLLECT_GCC_OPTIONS='-v' '-c' '-o' 'test.o' '-pthread' '-m64' '-march=native'
'-Wall' '-Wextra' '-Winit-self' '-Wcast-align' '-Wmissing-include-dirs'
'-Wpointer-arith' '-Werror=return-type' '-Werror=format'
'-Werror=format-extra-args' '-Werror=reorder' '-Werror=uninitialized'
'-Werror=narrowing' '-Wno-missing-field-initializers'
'-Wno-unused-local-typedefs' '-falign-functions' '-fdiagnostics-show-option'
'-fmessage-length=0' '-std=gnu++1y' '-Wno-non-virtual-dtor'
'-ftemplate-backtrace-limit=0' '-g' '-shared-libgcc'
 /home/max/.ots/7/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.9.2/cc1plus
-quiet -v -iprefix
/home/max/.ots/7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.9.2/ -D_GNU_SOURCE
-D_REENTRANT test.cc -march=sandybridge -mmmx -mno-3dnow -msse -msse2 -msse3
-mssse3 -mno-sse4a -mcx16 -msahf -mno-movbe -maes -mno-sha -mpclmul -mpopcnt
-mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mavx
-mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rtm -mno-hle -mno-rdrnd -mno-f16c
-mno-fsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mxsave -mxsaveopt
-mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 --param
l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192
-mtune=sandybridge -quiet -dumpbase test.cc -m64 -auxbase-strip test.o -g -Wall
-Wextra -Winit-self -Wcast-align -Wmissing-include-dirs -Wpointer-arith
-Werror=return-type -Werror=format -Werror=format-extra-args -Werror=reorder
-Werror=uninitialized -Werror=narrowing -Wno-missing-field-initializers
-Wno-unused-local-typedefs -Wno-non-virtual-dtor -std=gnu++1y -version
-falign-functions -fdiagnostics-show-option -fmessage-length=0
-ftemplate-backtrace-limit=0 -o /tmp/ccljVVdY.s
GNU C++ (GCC) version 4.9.2 (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.9.2, GMP version 4.3.2, MPFR version 2.4.2, MPC
version 0.8.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory
/home/max/.ots/7/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../x86_64-unknown-linux-gnu/include
ignoring duplicate directory
/home/max/.ots/7/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../include/c++/4.9.2
ignoring duplicate directory

[Bug c++/64085] ICE on C++14 lambda by-reference capture with an initializer

2014-11-26 Thread maxim.yegorushkin at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64085

--- Comment #1 from Maxim Yegorushkin maxim.yegorushkin at gmail dot com ---
It compiles fine if I replace the line in question with:

return [captive = static_castT(arg)](auto a) {


[Bug lto/64075] [5 Regression] ICE: in bp_pack_value, at data-streamer.h:106

2014-11-26 Thread d.g.gorbachev at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64075

--- Comment #6 from Dmitry Gorbachev d.g.gorbachev at gmail dot com ---
The patch works, thanks! But the committed test is incorrect, because the
original, unpatched compiler, does not fail on it. It failed on functions
__mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3, __divxc3, and
__divtc3.


[Bug middle-end/64067] [4.8/4.9/5 Regression] ICE in expand_expr_real_1, at expr.c:10540, involving compound literal shenanigans

2014-11-26 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64067

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-11-26
   Target Milestone|--- |4.8.4
Summary|ICE in expand_expr_real_1,  |[4.8/4.9/5 Regression] ICE
   |at expr.c:10540, involving  |in expand_expr_real_1, at
   |compound literal|expr.c:10540, involving
   |shenanigans |compound literal
   ||shenanigans
 Ever confirmed|0   |1

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org ---
Started to ICE likely with r187962 (r188000 ICEs, r187900 works).


[Bug c++/53837] Unpacking variadic template parameters in a method parameter default value gives parse error

2014-11-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53837

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
  Known to work||4.9.0, 5.0
 Resolution|--- |FIXED
   Target Milestone|--- |4.9.0

--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com ---
Fixed long time ago.


[Bug c++/53910] use -std=c++11 by default

2014-11-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53910

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

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

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com ---
Probably, at some point. This is not a Bug, anyway.


[Bug c++/53932] C++ reference variable to member of anonymous union in global is error

2014-11-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53932

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-11-26
 Ever confirmed|0   |1


[Bug c++/60894] [4.8/4.9/5 Regression] Use of redundant struct keyword in function prototype combined with using statement causes compilation error

2014-11-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60894

--- Comment #10 from Paolo Carlini paolo.carlini at oracle dot com ---
Fabien?


[Bug c++/60692] ICE with template template parameter (invalid code)

2014-11-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60692

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |4.9.0

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com ---
Fixed for 4.9.0.


[Bug c++/60709] [C++11]ICE when using a braced-init-list as function argument to initialize a reference to array

2014-11-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60709

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Known to work||4.8.3, 4.9.0, 5.0
 Resolution|--- |FIXED
   Target Milestone|--- |4.8.3

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com ---
Fixed in 4.8.3.


[Bug c++/60753] Deleted definition of an explicit function template specialization, following a declaration, incorrectly accepted

2014-11-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60753

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-11-26
 Ever confirmed|0   |1


[Bug fortran/63733] [4.8/4.9/5 Regression] [OOP] wrong resolution for OPERATOR generics

2014-11-26 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63733

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P4
 CC||jakub at gcc dot gnu.org


[Bug c++/58174] gcc miscompiles code

2014-11-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58174

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution|--- |INVALID

--- Comment #5 from Paolo Carlini paolo.carlini at oracle dot com ---
Feedback not forthcoming.


[Bug lto/64075] [5 Regression] ICE: in bp_pack_value, at data-streamer.h:106

2014-11-26 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64075

--- Comment #7 from Ilya Enkovich enkovich.gnu at gmail dot com ---
(In reply to Dmitry Gorbachev from comment #6)
 The patch works, thanks! But the committed test is incorrect, because the
 original, unpatched compiler, does not fail on it. It failed on functions
 __mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3, __divxc3, and
 __divtc3.

Committed test is what you attached as a reproducer with function renamed to
'test'.  Why shouldn't it work? I used it to reproduce and debug the issue on
today's trunk compiler.


[Bug ipa/61190] [4.8/4.9/5 Regression] g++.old-deja/g++.mike/p4736b.C FAILs at -O2/-Os/-O3

2014-11-26 Thread edlinger at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61190

--- Comment #5 from Bernd Edlinger edlinger at gcc dot gnu.org ---
Author: edlinger
Date: Wed Nov 26 18:10:29 2014
New Revision: 218091

URL: https://gcc.gnu.org/viewcvs?rev=218091root=gccview=rev
Log:
2014-11-26  Bernd Edlinger  bernd.edlin...@hotmail.de

PR ipa/61190
* cgraph.h (symtab_node::call_for_symbol_and_aliases): Fix comment.
(cgraph_node::function_or_virtual_thunk_symbol): New function.
(cgraph_node::call_for_symbol_and_aliases): Fix comment.
(cgraph_node::call_for_symbol_thunks_and_aliases): Adjust comment.
Add new optional parameter exclude_virtual_thunks.
* cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): Add new
optional parameter exclude_virtual_thunks.
(cgraph_node::set_const_flag): Don't propagate to virtual thunks.
(cgraph_node::set_pure_flag): Likewise.
(cgraph_node::function_symbol): Simplified.
(cgraph_node::function_or_virtual_thunk_symbol): New function.
* ipa-pure-const.c (analyze_function): For virtual thunks set
pure_const_state to IPA_NEITHER.
(propagate_pure_const): Use function_or_virtual_thunk_symbol.

testsuite/ChangeLog:
2014-11-26  Bernd Edlinger  bernd.edlin...@hotmail.de

PR ipa/61190
* g++.old-deja/g++.mike/p4736b.C: Use -O2.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/cgraph.c
trunk/gcc/cgraph.h
trunk/gcc/ipa-pure-const.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.old-deja/g++.mike/p4736b.C


[Bug ipa/61190] [4.8/4.9 Regression] g++.old-deja/g++.mike/p4736b.C FAILs at -O2/-Os/-O3

2014-11-26 Thread edlinger at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61190

Bernd Edlinger edlinger at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-11-26
  Known to work||5.0
Summary|[4.8/4.9/5 Regression]  |[4.8/4.9 Regression]
   |g++.old-deja/g++.mike/p4736 |g++.old-deja/g++.mike/p4736
   |b.C FAILs at -O2/-Os/-O3|b.C FAILs at -O2/-Os/-O3
 Ever confirmed|0   |1
  Known to fail|4.10.0  |


[Bug ipa/63671] [5 Regression] 21% tramp3d-v4 performance hit due to -fdevirtualize

2014-11-26 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63671

--- Comment #19 from Jan Hubicka hubicka at gcc dot gnu.org ---
Richard, I still get 2.7 per iteration for GCC 4.9.
For mainline and inline limits bumped ad extermum I can not get better than 3.3
(and it is what I get with -O3 -Ofast too). I am not sure if inliner is to
blame or it is effect of some other change. Perhaps since you know the code,
you may take a look what is causing the difference?

I plan to continue by looking into -fwhole-program issue that is still slower
(5.2) than normal compilation.


[Bug bootstrap/64086] New: [5 Regression] building patched libstdc++ on powerpc64-linux-gnu gets ICE in expand_expr_addr_expr_1, at expr.c:7716

2014-11-26 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64086

Bug ID: 64086
   Summary: [5 Regression] building patched libstdc++ on
powerpc64-linux-gnu gets ICE in
expand_expr_addr_expr_1, at expr.c:7716
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: bootstrap
  Assignee: unassigned at gcc dot gnu.org
  Reporter: redi at gcc dot gnu.org
CC: marxin at gcc dot gnu.org

Created attachment 34126
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34126action=edit
preprocessed source reproducing the ICE

On gcc112, while building the 32-bit libstdc++.so I get a similar ICE to PR
63573

g++5 -std=c++11 -m32 sstream-inst.ii -O2 -c -fno-implicit-templates


In file included from
/home/jwakely/src/gcc/libstdc++-v3/src/c++11/sstream-inst.cc:29:0:
/home/jwakely/build-abi/powerpc64-unknown-linux-gnu/32/libstdc++-v3/include/sstream:
In member function ‘std::basic_stringbuf_CharT, _Traits,
_Alloc::__string_type std::basic_stringbuf_CharT, _Traits, _Alloc::str()
const [with _CharT = wchar_t; _Traits = std::char_traitswchar_t; _Alloc =
std::allocatorwchar_t; std::basic_stringbuf_CharT, _Traits,
_Alloc::__string_type = std::basic_stringwchar_t]’:
/home/jwakely/build-abi/powerpc64-unknown-linux-gnu/32/libstdc++-v3/include/sstream:166:7:
internal compiler error: in expand_expr_addr_expr_1, at expr.c:7716
   str() const
   ^
0x10664f27 expand_expr_addr_expr_1
/home/jwakely/src/gcc/gcc/expr.c:7716
0x1065681f expand_expr_addr_expr
/home/jwakely/src/gcc/gcc/expr.c:7830
0x1065681f expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
/home/jwakely/src/gcc/gcc/expr.c:10704
0x10506483 expand_normal
/home/jwakely/src/gcc/gcc/expr.h:305
0x10506483 precompute_register_parameters
/home/jwakely/src/gcc/gcc/calls.c:869
0x10506483 expand_call(tree_node*, rtx_def*, int)
/home/jwakely/src/gcc/gcc/calls.c:3119
0x1065645b expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
/home/jwakely/src/gcc/gcc/expr.c:10472
0x1051c507 expand_expr
/home/jwakely/src/gcc/gcc/expr.h:299
0x1051c507 expand_call_stmt
/home/jwakely/src/gcc/gcc/cfgexpand.c:2347
0x1051c507 expand_gimple_stmt_1
/home/jwakely/src/gcc/gcc/cfgexpand.c:3293
0x1051c507 expand_gimple_stmt
/home/jwakely/src/gcc/gcc/cfgexpand.c:3447
0x1052316b expand_gimple_basic_block
/home/jwakely/src/gcc/gcc/cfgexpand.c:5280
0x10524e27 execute
/home/jwakely/src/gcc/gcc/cfgexpand.c:5889
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.

[Bug rtl-optimization/64087] New: ICE on valid code at -O3 on x86_64-linux-gnu in in lra_create_live_ranges, at lra-lives.c:1330

2014-11-26 Thread su at cs dot ucdavis.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64087

Bug ID: 64087
   Summary: ICE on valid code at -O3 on x86_64-linux-gnu in in
lra_create_live_ranges, at lra-lives.c:1330
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: su at cs dot ucdavis.edu

The following code causes an ICE when compiled with the current gcc trunk at
-O3 on x86_64-linux-gnu in 64-bit mode (but not 32-bit mode). 

It is a regression from 4.9.x.

$ gcc-trunk -v
Using built-in specs.
COLLECT_GCC=gcc-trunk
COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/5.0.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/usr/local/gcc-trunk
--enable-languages=c,c++ --disable-werror --enable-multilib
Thread model: posix
gcc version 5.0.0 20141126 (experimental) [trunk revision 218072] (GCC) 

$
$ gcc-trunk -m64 -O2 small.c; a.out
$ gcc-trunk -m32 -O3 small.c; a.out
$ gcc-4.9 -m64 -O3 small.c; a.out
$ 
$ gcc-trunk -m64 -O3 small.c
small.c: In function ‘main’:
small.c:31:1: internal compiler error: in lra_create_live_ranges, at
lra-lives.c:1330
 }
 ^
0x943b37 lra_create_live_ranges(bool, bool)
../../gcc-trunk/gcc/lra-lives.c:1330
0x92af7c lra(_IO_FILE*)
../../gcc-trunk/gcc/lra.c:2299
0x8e96e9 do_reload
../../gcc-trunk/gcc/ira.c:5391
0x8e96e9 execute
../../gcc-trunk/gcc/ira.c:5561
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.
$ 


---


int printf (const char *, ...);

int a[72], b, c, d, e;

int
main ()
{
  int h;
  for (b = 0; b  72; b++)
{
  h = 1;
  if (b)
h = 1;
  a[b] = h;
}
  for (; e; e++)
for (c = 0; c  1;)
  for (; d;)
{
  printf (0);
  int g;
  for (b = 0; b  72; b++)
{
  g = 1;
  if (b)
g = 1;
  a[b] = g;
}
}
  return 0;
}

[Bug bootstrap/64086] [5 Regression] building patched libstdc++ on powerpc64-linux-gnu gets ICE in expand_expr_addr_expr_1, at expr.c:7716

2014-11-26 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64086

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||build
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-11-26
 Ever confirmed|0   |1

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
I get no ICE if I add -fno-ipa-icf-functions to the command.


[Bug ipa/63671] [5 Regression] 21% tramp3d-v4 performance hit due to -fdevirtualize

2014-11-26 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63671

--- Comment #20 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
At some point you start measuring processor characteristics.

On my old AMD box (Phenom II) gcc-5 now is the fastest:

-Ofast: 2.9
-O3   : 3.6
PGO/-Ofast: 2.7

gcc-4.9:
-Ofast: 3.0
-O3   : 3.7
PGO/-Ofast: 2.8

gcc-4.8:
-Ofast: 3.4
-O3   : 4.0
PGO/-Ofast: 3.1


[Bug c++/63757] nullptr conversion sequence fails to compile

2014-11-26 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63757

--- Comment #2 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org ---
Author: paolo
Date: Wed Nov 26 20:11:16 2014
New Revision: 218098

URL: https://gcc.gnu.org/viewcvs?rev=218098root=gccview=rev
Log:
/cp
2014-11-26  Paolo Carlini  paolo.carl...@oracle.com

PR c++/63757
* call.c (standard_conversion): Do not require expr to be non-null
when NULLPTR_TYPE_P (from) is true.

/testsuite
2014-11-26  Paolo Carlini  paolo.carl...@oracle.com

PR c++/63757
* g++.dg/cpp0x/nullptr33.C: New.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/nullptr33.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/call.c
trunk/gcc/testsuite/ChangeLog


  1   2   >