[Bug tree-optimization/70623] [4.9/5/6 Regression] ICE in compute_antic at -O2

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

--- Comment #7 from Richard Biener  ---
Author: rguenth
Date: Thu Apr 14 07:30:53 2016
New Revision: 234970

URL: https://gcc.gnu.org/viewcvs?rev=234970&root=gcc&view=rev
Log:
2016-04-14  Richard Biener  

PR tree-optimization/70623
* tree-ssa-pre.c (changed_blocks): Make global ...
(compute_antic): ... local here.  Move and fix worklist
handling here.  Do not clear EDGE_DFS_BACK or call mark_dfs_back_edges.
(compute_antic_aux): Add dumping for MAX assumed succs.  Remove
worklist handling, dump when ANTIC_IN changed.
(compute_partial_antic_aux): Remove worklist handling.
(init_pre): Do not compute post dominators.  Add a comment about
the CFG order chosen.
(fini_pre): Do not free post dominators.

* gcc.dg/torture/pr70623.c: New testcase.
* gcc.dg/torture/pr70623-2.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.dg/torture/pr70623-2.c
trunk/gcc/testsuite/gcc.dg/torture/pr70623.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-pre.c

[Bug tree-optimization/70623] [4.9/5 Regression] ICE in compute_antic at -O2

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

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2
  Known to work|4.9.3, 5.3.0|6.0
Summary|[4.9/5/6 Regression] ICE in |[4.9/5 Regression] ICE in
   |compute_antic at -O2|compute_antic at -O2
  Known to fail|6.0 |4.9.3, 5.3.0

--- Comment #8 from Richard Biener  ---
Fixed on trunk sofar.

[Bug c++/70655] New: selectio sort

2016-04-14 Thread mubashirkaleem2 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70655

Bug ID: 70655
   Summary: selectio sort
   Product: gcc
   Version: 3.0.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: mubashirkaleem2 at gmail dot com
  Target Milestone: ---

Created attachment 38261
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38261&action=edit
mutation testing

[Bug tree-optimization/70130] [6 Regression] h264ref fails with verification error starting with r231674 (r224221 is the true start of the problem)

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

--- Comment #23 from Richard Biener  ---
But that's ok - we are storing the same scalar element:

t.i:12:3: note: Load permutation 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
t.i:12:3: note: no array mode for V8HI[16]
t.i:12:3: note: Final SLP tree for instance:
t.i:12:3: note: node
t.i:12:3: note: stmt 0 pretmp_32->mprr_2[1][j_57][0] = _40;
t.i:12:3: note: stmt 1 pretmp_32->mprr_2[1][j_57][1] = _40;
t.i:12:3: note: stmt 2 pretmp_32->mprr_2[1][j_57][2] = _40;
t.i:12:3: note: stmt 3 pretmp_32->mprr_2[1][j_57][3] = _40;
t.i:12:3: note: stmt 4 pretmp_32->mprr_2[1][j_57][4] = _40;
t.i:12:3: note: stmt 5 pretmp_32->mprr_2[1][j_57][5] = _40;
t.i:12:3: note: stmt 6 pretmp_32->mprr_2[1][j_57][6] = _40;
t.i:12:3: note: stmt 7 pretmp_32->mprr_2[1][j_57][7] = _40;
t.i:12:3: note: stmt 8 pretmp_32->mprr_2[1][j_57][8] = _40;
t.i:12:3: note: stmt 9 pretmp_32->mprr_2[1][j_57][9] = _40;
t.i:12:3: note: stmt 10 pretmp_32->mprr_2[1][j_57][10] = _40;
t.i:12:3: note: stmt 11 pretmp_32->mprr_2[1][j_57][11] = _40;
t.i:12:3: note: stmt 12 pretmp_32->mprr_2[1][j_57][12] = _40;
t.i:12:3: note: stmt 13 pretmp_32->mprr_2[1][j_57][13] = _40;
t.i:12:3: note: stmt 14 pretmp_32->mprr_2[1][j_57][14] = _40;
t.i:12:3: note: stmt 15 pretmp_32->mprr_2[1][j_57][15] = _40;
t.i:12:3: note: node
t.i:12:3: note: stmt 0 _40 = (short int) _39;
t.i:12:3: note: stmt 1 _40 = (short int) _39;
t.i:12:3: note: stmt 2 _40 = (short int) _39;
t.i:12:3: note: stmt 3 _40 = (short int) _39;
t.i:12:3: note: stmt 4 _40 = (short int) _39;
t.i:12:3: note: stmt 5 _40 = (short int) _39;
t.i:12:3: note: stmt 6 _40 = (short int) _39;
t.i:12:3: note: stmt 7 _40 = (short int) _39;
t.i:12:3: note: stmt 8 _40 = (short int) _39;
t.i:12:3: note: stmt 9 _40 = (short int) _39;
t.i:12:3: note: stmt 10 _40 = (short int) _39;
t.i:12:3: note: stmt 11 _40 = (short int) _39;
t.i:12:3: note: stmt 12 _40 = (short int) _39;
t.i:12:3: note: stmt 13 _40 = (short int) _39;
t.i:12:3: note: stmt 14 _40 = (short int) _39;
t.i:12:3: note: stmt 15 _40 = (short int) _39;
t.i:12:3: note: node
t.i:12:3: note: stmt 0 _39 = *_38[1];
t.i:12:3: note: stmt 1 _39 = *_38[1];
t.i:12:3: note: stmt 2 _39 = *_38[1];
t.i:12:3: note: stmt 3 _39 = *_38[1];
t.i:12:3: note: stmt 4 _39 = *_38[1];
t.i:12:3: note: stmt 5 _39 = *_38[1];
t.i:12:3: note: stmt 6 _39 = *_38[1];
t.i:12:3: note: stmt 7 _39 = *_38[1];
t.i:12:3: note: stmt 8 _39 = *_38[1];
t.i:12:3: note: stmt 9 _39 = *_38[1];
t.i:12:3: note: stmt 10 _39 = *_38[1];
t.i:12:3: note: stmt 11 _39 = *_38[1];
t.i:12:3: note: stmt 12 _39 = *_38[1];
t.i:12:3: note: stmt 13 _39 = *_38[1];
t.i:12:3: note: stmt 14 _39 = *_38[1];
t.i:12:3: note: stmt 15 _39 = *_38[1];

and

Creating dr for *_38[1]
analyze_innermost: success.
base_address: s_9(D)
offset from base address: 0
constant offset from base address: 4
step: 8
aligned to: 128
base_object: *s_9(D)
Access function 0: 1
Access function 1: {0B, +, 8}_1

this is an 'int' load accessing *_38[1] in the first and *_38[3] in the
second iteration.  So we load a v4si from *_38[1], and then advance
by half of a vector.  With my patch we still have the
__builtin_altivec_mask_for_load computed once, but that's bougs as the
alignment of the accesses changes each iteration.

Before the cited rev. we probably used interleaving and not SLP to vectorize
this loop.  I think that for this special permutation using a scalar load
and splatting that would have been best, cost-wise.

Now we still first need to tell GCC that when using SLP the re-align
scheme doesn't work in this case.

The following seems to work and ends up generating unaligned loads (even with
-mcpu=power7):

Index: gcc/tree-vect-data-refs.c
===
--- gcc/tree-vect-data-refs.c   (revision 234970)
+++ gcc/tree-vect-data-refs.c   (working copy)
@@ -5983,10 +5983,19 @@ vect_supportable_dr_alignment (struct da
  || targetm.vectorize.builtin_mask_for_load ()))
{
  tree vectype = STMT_VINFO_VECTYPE (stmt_info);
- if ((nested_in_vect_loop
-  && (TREE_INT_CST_LOW (DR_STEP (dr))
-  != GET_MODE_SIZE (TYPE_MODE (vectype
-  || !loop_vinfo)
+
+ /* If we are doing SLP then the accesses need not have the
+same alignment, instead it depends on the SLP group size.  */
+ if (loop_vinfo
+ && STMT_SLP_TYPE (stmt_info)
+ && (LOOP_VINFO_VECT_FACTOR (loop_vinfo)
+ * GROUP_SIZE (vinfo_for_stmt (GROUP_FIRST

[Bug bootstrap/70652] [6 Regression] r234966 causes bootstrap to fail

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

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek  ---
libgcj.so is not linked with libstdc++ (I think intentionally), and contains a
bunch of VLAs in there:
../../../libjava/jni.cc:542:17: warning: ISO C++ forbids variable length array
‘s’ [-Wvla]
../../../libjava/jni.cc:730:12: warning: ISO C++ forbids variable length array
[-Wvla]
../../../libjava/jni.cc:835:14: warning: ISO C++ forbids variable length array
[-Wvla]
../../../libjava/jni.cc:897:14: warning: ISO C++ forbids variable length array
[-Wvla]
../../../libjava/jni.cc:940:14: warning: ISO C++ forbids variable length array
[-Wvla]
../../../libjava/jni.cc:987:14: warning: ISO C++ forbids variable length array
[-Wvla]
../../../libjava/jni.cc:1229:12: warning: ISO C++ forbids variable length array
[-Wvla]
../../../libjava/jni.cc:2210:52: warning: ISO C++ forbids variable length array
‘buf’ [-Wvla]
../../../libjava/jni.cc:2341:72: warning: ISO C++ forbids variable length array
‘real_args’ [-Wvla]
../../../libjava/interpret-run.cc:36:33: warning: ISO C++ forbids variable
length array ‘stack’ [-Wvla]
../../../libjava/interpret-run.cc:39:35: warning: ISO C++ forbids variable
length array ‘locals’ [-Wvla]
../../../libjava/interpret-run.cc:45:36: warning: ISO C++ forbids variable
length array ‘locals_type’ [-Wvla]
../../../libjava/prims.cc:801:24: warning: ISO C++ forbids variable length
array ‘sizes’ [-Wvla]
../../../libjava/prims.cc:1533:47: warning: ISO C++ forbids variable length
array ‘lib_name’ [-Wvla]
../../../libjava/prims.cc:1578:43: warning: ISO C++ forbids variable length
array ‘lib_name’ [-Wvla]
../../../libjava/prims.cc:1730:40: warning: ISO C++ forbids variable length
array ‘vmArgs’ [-Wvla]
../../../libjava/verify.cc:898:37: warning: ISO C++ forbids variable length
array ‘arrayName’ [-Wvla]
../../../libjava/verify.cc:917:37: warning: ISO C++ forbids variable length
array ‘arrayName’ [-Wvla]
../../../libjava/verify.cc:2232:29: warning: ISO C++ forbids variable length
array ‘arg_types’ [-Wvla]
../../../libjava/verify.cc:2968:32: warning: ISO C++ forbids variable length
array ‘arg_types’ [-Wvla]
at least.  I wonder why is r234966 apparently more aggressive than what 4.9 had
in, because I don't remember such issues in libgcj back then.
So, either we need to get rid of the VLAs and replace them say by alloca, or
have a way to disable this new stuff (which IMHO has been added way too late)
through command line option,
or need to link with libsupc++, or provide a stub for the symbol.

[Bug tree-optimization/70130] [6 Regression] h264ref fails with verification error starting with r231674 (r224221 is the true start of the problem)

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

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug c++/70655] selectio sort

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

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #1 from Richard Biener  ---
not a bug

[Bug c++/70653] bubble sorting algorithm fail to run on the compiler giving a bug in it

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

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #1 from Richard Biener  ---
we're not a tool to find bugs in your code

[Bug bootstrap/70652] [6 Regression] r234966 causes bootstrap to fail

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

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

--- Comment #3 from Richard Biener  ---
Please just revert this for GCC 6, I'm sure it didn't fix a regression.

[Bug bootstrap/70650] [6 regression] bootstrap failure: ICE in emit_move_insn, at expr.c:3546

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

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug ipa/70646] Corrupt truncated function

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

Richard Biener  changed:

   What|Removed |Added

   Keywords||wrong-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-04-14
 CC||hubicka at gcc dot gnu.org,
   ||jamborm at gcc dot gnu.org
  Component|c   |ipa
 Ever confirmed|0   |1

--- Comment #8 from Richard Biener  ---
Confirmed.

;; Function broken (broken, funcdef_no=2, decl_uid=1764, cgraph_uid=2,
symbol_order=2) (executed once)

__attribute__((noclone, noinline))
broken (u64 * shost)
{
  :
  __builtin_unreachable ();

}

after inlining we see:

  :
  node_name[0] = 255;
  node_name[1] = 255;
  node_name[2] = 255;
  node_name[3] = 255;
  node_name[4] = 255;
  node_name[5] = 255;
  node_name[6] = 255;
  node_name[7] = 255;
  _14 = MEM[(const u64 *)&node_name];
  _15 = __builtin_constant_p (_14);
  if (_15 != 0)
goto ;
  else
goto ;

...

  :
  iftmp.0_37 = _39(D);
  __builtin_unreachable ();

which seems to be introduced by IPA CP:

__builtin_unreachable/9 (__builtin_unreachable) @0x7f1563274cf0
  Type: function
  Visibility: external public
  References:
  Referring:
  Availability: not_available
  First run: 0
  Function flags:
  Called by: wwn_to_u64.constprop.0/8
  Calls:
wwn_to_u64.constprop.0/8 (wwn_to_u64.constprop) @0x7f1563274000
  Type: function definition analyzed
  Visibility:
  References:
  Referring:
  Function wwn_to_u64.constprop/8 is inline copy in broken/2
  Clone of wwn_to_u64/1
  Availability: local
  First run: 0
  Function flags: local
  Called by: broken/2 (inlined) (1.00 per call)
  Calls: __builtin_constant_p/5 (1.00 per call) __builtin_unreachable/9

[Bug ipa/70646] Corrupt truncated function

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

--- Comment #9 from Richard Biener  ---
Note that the testcase is strictly invalid as it has 8-byte aligned node_name[]
passed to wwn_to_u64 which ends up performing a 64bit load on it via __swab64p.

[Bug ipa/70646] Corrupt truncated function

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

--- Comment #10 from Richard Biener  ---
Fixing that with

void __attribute__((noinline,noclone)) broken(u64* shost)
{
  u8 node_name[8] __attribute__((aligned(__alignof(u64 = { 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
  *shost = wwn_to_u64(node_name);
}

still shows broken code.  Note __swab64p is a quite stupid implementation
assuming GCC can't constant-fold __builtin_bswap64.

[Bug ada/70645] [4.9/5/6 Regression] -fguess-branch-probability breaks debug-information, only in Ada

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

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |4.9.4

[Bug c++/70656] New: mutation testing of algorithum

2016-04-14 Thread aqibsarfraz3749 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70656

Bug ID: 70656
   Summary: mutation testing of algorithum
   Product: gcc
   Version: 3.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: aqibsarfraz3749 at gmail dot com
  Target Milestone: ---

Created attachment 38262
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38262&action=edit
bubble sort testing

[Bug bootstrap/70650] [6 regression] bootstrap failure: ICE in emit_move_insn, at expr.c:3546

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

--- Comment #6 from Jakub Jelinek  ---
Shorter testcase:
struct A {};

void
foo (struct A a, int b)
{
}
compiles with sparc-solaris C, but doesn't with C++.

[Bug bootstrap/70650] [6 regression] bootstrap failure: ICE in emit_move_insn, at expr.c:3546

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

--- Comment #7 from Jakub Jelinek  ---
Seems sparc-solaris passes even for C the empty struct as a separate argument
(the empty struct goes into %o0, the int argument into %o1).

[Bug c++/70656] mutation testing of algorithum

2016-04-14 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70656

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #1 from ktkachov at gcc dot gnu.org ---
Not a bug.

[Bug ipa/70646] Corrupt truncated function

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

--- Comment #11 from Richard Biener  ---
Happens via

(gdb) bt
#0  redirect_to_unreachable (e=0x76891820)
at /space/rguenther/src/svn/trunk3/gcc/ipa-inline-analysis.c:735
#1  0x00bc9325 in edge_set_predicate (e=0x76891820, 
predicate=0x7fffc980)
at /space/rguenther/src/svn/trunk3/gcc/ipa-inline-analysis.c:768
#2  0x00bd1df7 in remap_edge_summaries (inlined_edge=0x768912d8, 
node=, 
info=0x76994ba0, callee_info=0x76994c60, operand_map=..., 
offset_map=..., possible_truths=0, toplev_predicate=0x7fffca30)
at /space/rguenther/src/svn/trunk3/gcc/ipa-inline-analysis.c:3500
#3  0x00bd2603 in inline_merge_summary (edge=0x768912d8)
at /space/rguenther/src/svn/trunk3/gcc/ipa-inline-analysis.c:3647
#4  0x017f2b84 in inline_call (e=0x768912d8, update_original=true, 
Python Exception  There is no member or method named
m_vecpfx.: 
new_edges=0x7fffd9d0, overall_size=0x25c63e0 <_ZL12overall_size>, 
update_overall_summary=true, callee_removed=0x0)
at /space/rguenther/src/svn/trunk3/gcc/ipa-inline-transform.c:370
#5  0x017e8953 in inline_small_functions ()
at /space/rguenther/src/svn/trunk3/gcc/ipa-inline.c:2022
#6  0x017e9ca7 in ipa_inline ()

so somehow it get's confused:

 BB 2 predicate:(true)
  _3 = MEM[(const u64 *)wwn_2(D)];
freq:1.00 size:  1 time:  1
50% will be eliminated by inlining
Accounting size:0.50, time:0.50 on new predicate:(op0[ref
offset: 0] changed) && (not inlined)
Accounting size:0.50, time:0.50 on new predicate:(op0[ref
offset: 0] changed)
  _4 = __builtin_constant_p (_3);
freq:1.00 size:  0 time:  0
  if (_4 != 0)
freq:1.00 size:  2 time:  2
Accounting size:2.00, time:2.00 on predicate:(op0[ref offset:
0] changed)

 BB 4 predicate:(op0[ref offset: 0] not constant)
  iftmp.0_26 = __builtin_bswap64 (_3);
freq:0.61 size:  1 time:  1

 BB 3 predicate:(true)
  _5 = _3 << 56;

(BB 3 predicate shouldn't be true)

Honza?  This seems to be somewhat fragile (redirecting things to unreachable
but _not_ changing the actual predicates in the IL).  Claiming the
predicate is constant true is also a bit bogus (as can be seen in following
optimization).

[Bug c++/70540] [4.9/5/6 Regression] ICE on invalid code on x86_64-linux-gnu in cxx_incomplete_type_diagnostic, at cp/typeck2.c:569

2016-04-14 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70540

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com

--- Comment #5 from Paolo Carlini  ---
Looking into it.

[Bug c++/70657] New: testing

2016-04-14 Thread shumailiftikhar3749 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70657

Bug ID: 70657
   Summary: testing
   Product: gcc
   Version: 3.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: shumailiftikhar3749 at gmail dot com
  Target Milestone: ---

Created attachment 38263
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38263&action=edit
mutation testing

[Bug ipa/70646] [4.9/5/6 Regression] Corrupt truncated function

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

Richard Biener  changed:

   What|Removed |Added

  Known to work||4.8.5
   Target Milestone|--- |4.9.4
Summary|Corrupt truncated function  |[4.9/5/6 Regression]
   ||Corrupt truncated function
  Known to fail||4.9.3, 5.3.0, 6.0

[Bug c++/70657] testing

2016-04-14 Thread jgreenhalgh at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70657

James Greenhalgh  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||jgreenhalgh at gcc dot gnu.org
 Resolution|--- |INVALID

--- Comment #1 from James Greenhalgh  ---
Please, stop this.

[Bug rtl-optimization/63629] ICE in fix_loop_structure, at loop-init.c:251

2016-04-14 Thread jan.sm...@alcatel-lucent.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63629

Jan Smets  changed:

   What|Removed |Added

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

--- Comment #1 from Jan Smets  ---
Seems fixed.

[Bug target/64971] [5/6 Regression] gcc.c-torture/compile/pr37433.c ICEs with -mabi=ilp32

2016-04-14 Thread ramana at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64971

--- Comment #11 from Ramana Radhakrishnan  ---
(In reply to Jeffrey A. Law from comment #10)
> Ramana, do you want to give this to someone on your team to wrap up?


Kyrill, do you mind picking this up ?

(In reply to Jeffrey A. Law from comment #9)
> Seems rather hackish to start accepting non-Pmode for the address.  Though
> looking at the docs, I guess it's not strictly incorrect.
> 
> The @code{symbol_ref} contains a mode, which is usually @code{Pmode}.
> Usually that is the only mode for which a symbol is directly valid.
> 
> And the *call* pattern documentation waffles a bit too:
> 
> Operand 0 should be a @code{mem} RTX whose address is the address of the
> function.  Note, however, that this address can be a @code{symbol_ref}
> expression even if it would not be a legitimate memory address on the
> target machine.
> 
> So I won't object to the aarch64 maintainers accepting the additional mode
> (Richard's approach), nor will I object to forcing the mode in the expander
> (Andrew's approach)

Forcing the mode in the expander and guarding it with TARGET_ILP32 looks more
appealing to me right now purely because of where we are with the release cycle
though the points Richard makes need to be looked into. I'll let the aarch64
maintainers decide on which one to take.

[Bug target/66931] ICE in convert_move, at expr.c:316

2016-04-14 Thread jan.sm...@alcatel-lucent.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66931

Jan Smets  changed:

   What|Removed |Added

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

--- Comment #3 from Jan Smets  ---
Seems fixed

[Bug target/66920] ICE in expand_debug_locations, at cfgexpand.c:3826

2016-04-14 Thread jan.sm...@alcatel-lucent.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66920

--- Comment #4 from Jan Smets  ---
Seems fixed.

[Bug debug/56805] DW_TAG_typedef missing when -fdebug-types-section is used (and -fno-eliminate-unused-debug-types)

2016-04-14 Thread jan.sm...@alcatel-lucent.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56805

Jan Smets  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |WONTFIX

--- Comment #8 from Jan Smets  ---
Hopeless

[Bug c++/70594] [6 Regression] -fcompare-debug failure

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

Jakub Jelinek  changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu.org

--- Comment #37 from Jakub Jelinek  ---
So the remaining issue is that for one function emitted in the
-fdump-final-insns= the cgraph uid is the same, but symbol_order= is different
(on the testcase by 1).  This is the function with the highest node->order in
the file, so potentially it could affect more than that.
So, if we really want to make sure that node->order is the same regardless of
GC, we should either make sure the cgraph nodes for the constexpr function
copies needed for constexpr processing aren't created at all, or ae always
created freshly (e.g. by unregistering the cgraph nodes for them when we put
them into the freelist), or perhaps just by making sure we always update the
order.  Let me find out where exactly is the cgraph node creation called from.

[Bug target/64971] [5/6 Regression] gcc.c-torture/compile/pr37433.c ICEs with -mabi=ilp32

2016-04-14 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64971

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED

--- Comment #12 from ktkachov at gcc dot gnu.org ---
My preference too at this stage is Andrew's patch.
I'll retest it on current trunk and ping it on the list if all goes fine.

[Bug c++/70336] [5 regression] Incorrect Wconversion warning

2016-04-14 Thread jan.sm...@alcatel-lucent.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70336

Jan Smets  changed:

   What|Removed |Added

   Severity|normal  |minor

[Bug tree-optimization/70614] [4.9/5/6 Regression] GCC gets stuck with -O

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

--- Comment #5 from Richard Biener  ---
We already have --param scev-max-expr-complexity (and --param
scev-max-expr-size)
for this.

But I have a simple fix for the testcase.

Index: tree-scalar-evolution.c
===
--- tree-scalar-evolution.c (revision 234970)
+++ tree-scalar-evolution.c (working copy)
@@ -1687,6 +1690,8 @@ interpret_condition_phi (struct loop *lo
(loop, PHI_ARG_DEF (condition_phi, i));

   res = chrec_merge (res, branch_chrec);
+  if (res == chrec_dont_know)
+   break;
 }

   return res;

Improves the testcase to compile in 0.5s.

[Bug libstdc++/70654] failbit is not set sometimes on stream reading double outside presentable range

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

Jonathan Wakely  changed:

   What|Removed |Added

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

--- Comment #1 from Jonathan Wakely  ---
We check for overflow (by comparing to plus or minus HUGE_VAL) but not
underflow.

To check for underflow we need to save and restore errno to see if it is set to
ERANGE by the call to strto{f,d,ld}_l.

[Bug c/70651] [6 Regression] ICE on valid code on x86_64-linux-gnu in build_va_arg, at c-family/c-common.c:5728

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

Marek Polacek  changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org

--- Comment #2 from Marek Polacek  ---
Yeah, we should just reject the code.  The ICE happens with cc1plus, too.

[Bug c/70651] [6 Regression] ICE on valid code on x86_64-linux-gnu in build_va_arg, at c-family/c-common.c:5728

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

--- Comment #3 from Marek Polacek  ---
We have the code to reject this, but it happens only when gimplifying:

11695   if (have_va_type == NULL_TREE)
11696 {
11697   error_at (loc, "first argument to % not of type
%");
11698   return GS_ERROR;
11699 }

[Bug tree-optimization/70130] [6 Regression] h264ref fails with verification error starting with r231674 (r224221 is the true start of the problem)

2016-04-14 Thread amodra at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70130

--- Comment #24 from Alan Modra  ---
Created attachment 38266
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38266&action=edit
testcase for gcc.dg/vect/

Revised testcase checking multiple offsets, using an array of structs so not
dependent on var layout.

[Bug c++/70594] [6 Regression] -fcompare-debug failure

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

--- Comment #38 from Jakub Jelinek  ---
Surprisingly, the actual problem is with __builtin_unreachable.  I've
instrumented symbol_table::register_symbol, so that it logs this->order and
node->name () after assigning node->order, and get:
/tmp/orders1:3583 void __builtin_unreachable()
/tmp/orders1:3718 void __builtin_unreachable()
/tmp/orders1:4151 void __builtin_unreachable()
/tmp/orders1:4448 void __builtin_unreachable()
/tmp/orders2:3583 void __builtin_unreachable()
/tmp/orders2:3718 void __builtin_unreachable()
/tmp/orders2:4447 void __builtin_unreachable()

the node->order = 4151 case is the one that happens just in one of the copies.
The backtrace for that node->order = 4151 is:
#0  0x00b305f2 in symbol_table::register_symbol (this=0x715a10a8,
node=0x7fffee1cbb80) at ../../gcc/cgraph.h:2455
#1  0x00b2a530 in symtab_node::register_symbol (this=0x7fffee1cbb80) at
../../gcc/symtab.c:375
#2  0x00b358b5 in cgraph_node::create (decl=) at ../../gcc/cgraph.c:507
#3  0x00b359db in cgraph_node::get_create (decl=) at ../../gcc/cgraph.c:529
#4  0x00cfd123 in gimple_get_virt_method_for_vtable (token=2,
v=, offset=256, 
can_refer=0x7fffa0de) at ../../gcc/gimple-fold.c:5758
#5  0x00cfd1c5 in gimple_get_virt_method_for_binfo (token=2,
known_binfo=, can_refer=0x7fffa0de)
at ../../gcc/gimple-fold.c:5789
#6  0x00db27a9 in possible_polymorphic_call_targets
(otr_type=, otr_token=2, context=..., 
completep=0x7fffa2e7, cache_token=0x0, speculative=false) at
../../gcc/ipa-devirt.c:3164
#7  0x01247bb3 in eliminate_dom_walker::before_dom_children
(this=0x7fffa5b0, b=)
at ../../gcc/tree-ssa-pre.c:4311
#8  0x01944f05 in dom_walker::walk (this=0x7fffa5b0,
bb=) at ../../gcc/domwalk.c:265
#9  0x012484a5 in eliminate (do_pre=false) at
../../gcc/tree-ssa-pre.c:4464
#10 0x012492cb in (anonymous namespace)::pass_fre::execute
(this=0x27c9030, fun=0x7fffeea73930) at ../../gcc/tree-ssa-pre.c:4900
#11 0x00f3d84c in execute_one_pass (pass=) at ../../gcc/passes.c:2336
#12 0x00f3db82 in execute_pass_list_1 (pass=) at ../../gcc/passes.c:2420
#13 0x00f3dbb3 in execute_pass_list_1 (pass=) at ../../gcc/passes.c:2421
#14 0x00f3dc0b in execute_pass_list (fn=0x7fffeea73930, pass=) at ../../gcc/passes.c:2431
#15 0x00f3c19f in do_per_function_toporder (callback=0xf3dbce
, data=0x27c8bf0)
at ../../gcc/passes.c:1725
#16 0x00f3e7f0 in execute_ipa_pass_list (pass=) at ../../gcc/passes.c:2773
#17 0x00b4a7b9 in ipa_passes () at ../../gcc/cgraphunit.c:2265
#18 0x00b4ac2d in symbol_table::compile (this=0x715a10a8) at
../../gcc/cgraphunit.c:2404
#19 0x00b4afd4 in symbol_table::finalize_compilation_unit
(this=0x715a10a8) at ../../gcc/cgraphunit.c:2564
#20 0x010513f1 in compile_file () at ../../gcc/toplev.c:490
#21 0x01053948 in do_compile () at ../../gcc/toplev.c:1988
#22 0x01053bcc in toplev::main (this=0x7fffddf0, argc=32,
argv=0x7fffdef8) at ../../gcc/toplev.c:2096
#23 0x01a438a6 in main (argc=32, argv=0x7fffdef8) at
../../gcc/main.c:39

I'm really puzzled by multiple cgraph nodes being created for
__builtin_unreachable, that really should be the same decl each time.
The function in which this happens is not constexpr BTW.
I see the __builtin_unreachable first registered through:
#0  symbol_table::register_symbol (this=0x715a10a8, node=0x7fffed8e28a0) at
../../gcc/cgraph.h:2448
#1  0x00b2a530 in symtab_node::register_symbol (this=0x7fffed8e28a0) at
../../gcc/symtab.c:375
#2  0x00b358b5 in cgraph_node::create (decl=) at ../../gcc/cgraph.c:507
#3  0x00b359db in cgraph_node::get_create (decl=) at ../../gcc/cgraph.c:529
#4  0x00cfd123 in gimple_get_virt_method_for_vtable (token=2,
v=, offset=256, 
can_refer=0x7fffae1e) at ../../gcc/gimple-fold.c:5758
#5  0x00cfd1c5 in gimple_get_virt_method_for_binfo (token=2,
known_binfo=, can_refer=0x7fffae1e)
at ../../gcc/gimple-fold.c:5789
#6  0x00db27a9 in possible_polymorphic_call_targets
(otr_type=, otr_token=2, context=..., 
completep=0x7fffb00f, cache_token=0x0, speculative=false) at
../../gcc/ipa-devirt.c:3164
#7  0x00cfee70 in possible_polymorphic_call_targets (ref=, call=, 
completep=0x7fffb00f, cache_token=0x0) at ../../gcc/ipa-utils.h:131
#8  0x00cf4237 in gimple_fold_call (gsi=0x7fffb350, inplace=false)
at ../../gcc/gimple-fold.c:3027
#9  0x00cf6e9b in fold_stmt_1 (gsi=0x7fffb350, inplace=false,
valueize=0xcf746d )
at ../../gcc/gimple-fold.c:3726
#10 0x00cf74e7 in fold_stmt (gsi=0x7fffb350) at
../../gcc/gimple-fold.c:3854
#11 0x00d1572d in maybe_fold_stmt (gsi=0x7fffb350) at
../../gcc/gimplify.c:2336
during gimplification, then
#1  0x00b3e9d6 in symbol_table::rel

[Bug c++/70594] [6 Regression] -fcompare-debug failure

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

--- Comment #39 from Jakub Jelinek  ---
Sorry, error on my part.
There is actually
#1  0x00b3e9d6 in symbol_table::release_symbol (this=0x715a10a8,
node=, 
uid=0) at ../../gcc/cgraph.h:2514
#2  0x00b3972a in cgraph_node::remove (this=) at ../../gcc/cgraph.c:1896
#3  0x00df52c0 in symbol_table::remove_unreachable_nodes
(this=0x715a10a8, file=0x0) at ../../gcc/ipa.c:531
#4  0x00f3cf1d in execute_todo (flags=448) at ../../gcc/passes.c:2024
#5  0x00f3d9b6 in execute_one_pass (pass=) at ../../gcc/passes.c:2376
#6  0x00f3e798 in execute_ipa_pass_list (pass=) at ../../gcc/passes.c:2766
#7  0x00b4a7b9 in ipa_passes () at ../../gcc/cgraphunit.c:2265
#8  0x00b4ac2d in symbol_table::compile (this=0x715a10a8) at
../../gcc/cgraphunit.c:2404
#9  0x00b4afd4 in symbol_table::finalize_compilation_unit
(this=0x715a10a8) at ../../gcc/cgraphunit.c:2564
in between.

[Bug target/70662] New: vpbroadcastq assemble failure with -masm=intel -mavx512vbmi

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

Bug ID: 70662
   Summary: vpbroadcastq assemble failure with -masm=intel
-mavx512vbmi
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Keywords: assemble-failure
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: zsojka at seznam dot cz
  Target Milestone: ---
Target: x86_64-pc-linux-gnu

Created attachment 38267
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38267&action=edit
reduced testcase

Compiler output:
$ gcc -Og -fschedule-insns -fno-tree-fre -mavx512vbmi
--param=max-sched-ready-insns=1 -masm=intel testcase.c 
/tmp/cc4IEVUE.s: Assembler messages:
/tmp/cc4IEVUE.s:383: Error: operand size mismatch for `vpbroadcastq'

The failing instruction is:
vpbroadcastqzmm17{k1}, XMMWORD PTR [rsp+4536]
s/XMMWORD/QWORD/ fixes the assembly. The second operand is a QWORD, but if a
register is referenced, it is an XMM register (only 64 bits are used).

[Bug ipa/70646] [4.9/5/6 Regression] Corrupt truncated function

2016-04-14 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70646

--- Comment #12 from H.J. Lu  ---
It was caused by r208831.

[Bug target/70568] [4.9/5/6 regression] PowerPC64: union of floating and fixed doesn't use POWER8 GPR/VSR moves

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

Richard Biener  changed:

   What|Removed |Added

   Keywords||ra
   Target Milestone|--- |4.9.4

[Bug fortran/70330] [5 Regression] ICE with -Wextra -Wno-unused-dummy-argument and unused optional dummy argument

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

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |5.4

[Bug testsuite/70108] [5/6 Regression] FAIL: gcc.dg/simulate-thread/speculative-store-2.c -O0 -g thread simulation test

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

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |5.4
Summary|[5,6 Regression] FAIL:  |[5/6 Regression] FAIL:
   |gcc.dg/simulate-thread/spec |gcc.dg/simulate-thread/spec
   |ulative-store-2.c   -O0 -g  |ulative-store-2.c   -O0 -g
   |thread simulation test  |thread simulation test

[Bug c++/70494] [5/6 regression] Internal Compiler Error: Capturing an array of vectors in a lambda

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

Richard Biener  changed:

   What|Removed |Added

  Known to work||4.9.3
   Target Milestone|--- |5.4
Summary|[5 regression] Internal |[5/6 regression] Internal
   |Compiler Error: Capturing   |Compiler Error: Capturing
   |an array of vectors in a|an array of vectors in a
   |lambda  |lambda

[Bug c++/70627] [6 Regression] internal compiler error: verify_type failed

2016-04-14 Thread jseward at acm dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70627

--- Comment #10 from jseward at acm dot org ---
Thank you for fixing this quickly!

[Bug target/70662] vpbroadcastq assemble failure with -masm=intel -mavx512vbmi

2016-04-14 Thread kyukhin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70662

Kirill Yukhin  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2016-04-14
   Assignee|unassigned at gcc dot gnu.org  |kyukhin at gcc dot 
gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Kirill Yukhin  ---
I'll take a look.

[Bug c/70651] [6 Regression] ICE on valid code on x86_64-linux-gnu in build_va_arg, at c-family/c-common.c:5728

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

--- Comment #4 from Marek Polacek  ---
And we seem to do the right thing if I just do away with the canon_expr_type:

diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c
index 30c815d..8b0a34b 100644
--- a/gcc/c-family/c-common.c
+++ b/gcc/c-family/c-common.c
@@ -5722,11 +5722,6 @@ build_va_arg (location_t loc, tree expr, tree type)
   mark_addressable (expr);
   expr = build1 (ADDR_EXPR, build_pointer_type (TREE_TYPE (expr)), expr);

-  /* Verify that &ap is still recognized as having va_list type.  */
-  tree canon_expr_type
-   = targetm.canonical_va_list_type (TREE_TYPE (expr));
-  gcc_assert (canon_expr_type != NULL_TREE);
-
   return build_va_arg_1 (loc, type, expr);
 }


(there are two spots like that)

[Bug c++/70647] Feature request: warning for self-moving in constructors

2016-04-14 Thread matt at godbolt dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70647

--- Comment #2 from Matt Godbolt  ---
Thanks Manuel. Interestingly this does elicit a warning:

struct B { 
  int a; int b; 
  B(B &&o) 
: a(static_cast(a)),
  b(std::move(o.b)) {}
};

but this does not:

struct B { 
  int a; int b; 
  B(B &&o) 
: a(static_cast(a)),
  b(std::move(o.b)) {}
};

That said; I believe bug 19808 would indeed help in this situation!

[Bug tree-optimization/70130] [6 Regression] h264ref fails with verification error starting with r231674 (r224221 is the true start of the problem)

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

--- Comment #25 from Bill Schmidt  ---
I've verified the patch indeed fixes the test from c#11.  Regstrap in progress.

One nit:  The parentheses in the proposed patch are slightly wrong, should be:

  && (LOOP_VINFO_VECT_FACTOR (loop_vinfo)
  * GROUP_SIZE (vinfo_for_stmt (GROUP_FIRST_ELEMENT
(stmt_info)))
  % TYPE_VECTOR_SUBPARTS (vectype) != 0))

[Bug c++/70594] [6 Regression] -fcompare-debug failure

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

--- Comment #40 from Jakub Jelinek  ---
So, some further printf debugging shows that the first difference is that in
one of the possible_polymorphic_call_targets calls (which creates the
node->order == 4151 __builtin_unreachable in one with -g2 only and not with -g2
-gtoggle, the first backtrace in #c38) there is a difference in the
context->maybe_in_construction flag - with -g2 it is 0, with -g2 -gtoggle it is
1.

[Bug libstdc++/70664] New: failbit is not set on stream reading negative value into unsigned type

2016-04-14 Thread osternhase at gmx dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70664

Bug ID: 70664
   Summary: failbit is not set on stream reading negative value
into unsigned type
   Product: gcc
   Version: 4.8.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: osternhase at gmx dot de
  Target Milestone: ---

I am using Ubuntu 14.04 64-bit (x86_64). Following code snippet:

#include 
#include 

using namespace std;

template 
void test(const char * str)
{
istringstream a(str);
T i;

a >> i;
if (a.fail())
cout << "Ok\n";
else
cout << "Bug\n";
}

int main(int argc, char *argv[])
{
test("2147483648");  // INT_MIN-1
test("-2147483649"); // INT_MAX+1
test("4294967296");  // UINT_MAX+1
test("-1");
return 0;
}
Compile:
  g++ t.cpp -o t

result:

  Ok
  Ok
  Ok
  Bug

expected:

  Ok
  Ok
  Ok
  Ok

g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
4.8.4-2ubuntu1~14.04.1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs
--enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.8 --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls
--with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap
--enable-plugin --with-system-zlib --disable-browser-plugin
--enable-java-awt=gtk --enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64
--with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686
--with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--target=x86_64-linux-gnu
Thread model: posix
gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.1)

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep LIBCXX :
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH

[Bug tree-optimization/70130] [6 Regression] h264ref fails with verification error starting with r231674 (r224221 is the true start of the problem)

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

--- Comment #26 from Bill Schmidt  ---
Ah, I see from IRC that Alan has already done a regstrap and reported no
failures.

[Bug c++/70594] [6 Regression] -fcompare-debug failure

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

--- Comment #41 from Richard Biener  ---
Maybe decl_maybe_in_construction_p using BLOCKs.  I suppose it should restrict
itself to inlined_function_outer_scope_p ()s which we surely preserve.

  for (tree block = gimple_block (call); block && TREE_CODE (block) == BLOCK;
   block = BLOCK_SUPERCONTEXT (block))
if (tree fn = inlined_polymorphic_ctor_dtor_block_p (block, check_clones))
  {
tree type = TYPE_METHOD_BASETYPE (TREE_TYPE (fn));

if (!outer_type || !types_odr_comparable (type, outer_type))
  {
if (TREE_CODE (type) == RECORD_TYPE
&& TYPE_BINFO (type)
&& polymorphic_type_binfo_p (TYPE_BINFO (type)))
  return true;
  }
else if (types_same_for_odr (type, outer_type))
  return true;
  }

[Bug tree-optimization/70130] [6 Regression] h264ref fails with verification error starting with r231674 (r224221 is the true start of the problem)

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

--- Comment #27 from Bill Schmidt  ---
However, that was with the parentheses misplaced.  I've completed a bootstrap
and regression test on powerpc64le-unknown-linux-gnu with this corrected, and
everything is still fine.

[Bug c/70665] New: Seemingly incorrect warning for being const correct with function pointers

2016-04-14 Thread psusi at ubuntu dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70665

Bug ID: 70665
   Summary: Seemingly incorrect warning for being const correct
with function pointers
   Product: gcc
   Version: 4.8.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: psusi at ubuntu dot com
  Target Milestone: ---

void foo( const char *p );
void bar( char *p ) { foo( p ); }

This is perfectly acceptable and const correct since foo does not want write
access, but being given write access anyway is fine.  I have run into a
seemingly incorrect warning though when calling such functions via pointer:

void foo( const char *p );
void bar( void (*fn)(char *p) );

bar( foo );

^^ generates warning about pointers not being compatible.

Apparently gcc thinks that when called via a pointer, it is not correct to pass
a writable pointer where only a read only one is needed.

[Bug tree-optimization/70614] [4.9/5 Regression] GCC gets stuck with -O

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

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2
  Known to work||6.0
Summary|[4.9/5/6 Regression] GCC|[4.9/5 Regression] GCC gets
   |gets stuck with -O  |stuck with -O
  Known to fail|6.0 |

--- Comment #7 from Richard Biener  ---
Fixed on trunk sofar.

[Bug tree-optimization/70614] [4.9/5/6 Regression] GCC gets stuck with -O

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

--- Comment #6 from Richard Biener  ---
Author: rguenth
Date: Thu Apr 14 13:21:40 2016
New Revision: 234972

URL: https://gcc.gnu.org/viewcvs?rev=234972&root=gcc&view=rev
Log:
2016-04-14  Richard Biener  

PR tree-optimization/70614
* tree-scalar-evolution.c (analyze_evolution_in_loop): Terminate
loop if the evolution dropped to chrec_dont_know.
(interpret_condition_phi): Likewise.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-scalar-evolution.c

[Bug tree-optimization/70130] [6 Regression] h264ref fails with verification error starting with r231674 (r224221 is the true start of the problem)

2016-04-14 Thread amodra at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70130

--- Comment #28 from Alan Modra  ---
Bootstrapped and regression testing now completed on both powerpc64le-linux and
-m64/-m32 on a power7 powerpc64-linux host, all langs.  No regressions found,
and it seems this also fixes gcc.dg/vect/slp-perm-12.c on power7
powerpc64-linux.
Thanks!

[Bug c++/70594] [6 Regression] -fcompare-debug failure

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

--- Comment #42 from Jakub Jelinek  ---
I see a difference when tree-ssa-pre.c calls
context.get_dynamic_type (instance, OBJ_TYPE_REF_OBJECT (fn), otr_type, stmt);
in get_dynamic_type, right after the first walk_aliased_vdefs in there, in one
invocation I get:
$16 = {offset = 0, instance = , vtbl_ptr_ref =
, 
  otr_type = , known_current_type = , known_current_offset = 0, speculative = 14, 
  type_maybe_changed = false, multiple_types_encountered = false,
seen_unanalyzed_store = true}
and in the other
$15 = {offset = 0, instance = , vtbl_ptr_ref =
, 
  otr_type = , known_current_type = , known_current_offset = 0, speculative = 13, 
  type_maybe_changed = false, multiple_types_encountered = false,
seen_unanalyzed_store = false}

[Bug c/70665] Seemingly incorrect warning for being const correct with function pointers

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

Andrew Pinski  changed:

   What|Removed |Added

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

--- Comment #1 from Andrew Pinski  ---
Because const char * and char * are not compatible types.  That is they have an
implicit conversion between the two but are still not compatible types.

[Bug c++/70594] [6 Regression] -fcompare-debug failure

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

--- Comment #43 from Richard Biener  ---
Same walking of BLOCKs in noncall_stmt_may_be_vtbl_ptr_store.

[Bug c/70665] Seemingly incorrect warning for being const correct with function pointers

2016-04-14 Thread psusi at ubuntu dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70665

--- Comment #2 from Phillipi Susi  ---
Yes, so why is there an implicit conversion that does not cause a warning when
called directly, but not when called via pointer?

[Bug ada/70645] strange -fguess-branch-probability issue with debug info

2016-04-14 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70645

Eric Botcazou  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||ebotcazou at gcc dot gnu.org
 Resolution|--- |WORKSFORME
Summary|[4.9/5/6 Regression]|strange
   |-fguess-branch-probability  |-fguess-branch-probability
   |breaks debug-information,   |issue with debug info
   |only in Ada |

--- Comment #1 from Eric Botcazou  ---
I cannot reproduce on Linux.  Besides there is no guarantee that debug info be
fully correct, except for -O0 and -Og.  Try to break on "Hello" instead or to
fiddle with the various -gdwarf options since this is Darwin.

[Bug c++/70594] [6 Regression] -fcompare-debug failure

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

--- Comment #44 from Richard Biener  ---
Index: gcc/ipa-polymorphic-call.c
===
--- gcc/ipa-polymorphic-call.c  (revision 234971)
+++ gcc/ipa-polymorphic-call.c  (working copy)
@@ -485,6 +485,9 @@ contains_type_p (tree outer_type, HOST_W
 tree
 inlined_polymorphic_ctor_dtor_block_p (tree block, bool check_clones)
 {
+  if (! inlined_function_outer_scope_p (block))
+return NULL_TREE;
+
   tree fn = block_ultimate_origin (block);
   if (fn == NULL || TREE_CODE (fn) != FUNCTION_DECL)
 return NULL_TREE;

[Bug middle-end/70643] broken openacc reduction inside a fortran module

2016-04-14 Thread cesar at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70643

--- Comment #1 from cesar at gcc dot gnu.org ---
Author: cesar
Date: Thu Apr 14 13:44:17 2016
New Revision: 234973

URL: https://gcc.gnu.org/viewcvs?rev=234973&root=gcc&view=rev
Log:
PR middle-end/70643

gcc/
* omp-low.c (lower_oacc_reductions): Check for TREE_CONSTANT
when building a mem ref for the incoming reduction variable.

libgomp/
* testsuite/libgomp.oacc-fortran/pr70643.f90: New test.


Added:
trunk/libgomp/testsuite/libgomp.oacc-fortran/pr70643.f90
Modified:
trunk/gcc/ChangeLog
trunk/gcc/omp-low.c
trunk/libgomp/ChangeLog

[Bug bootstrap/70650] [6 regression] bootstrap failure: ICE in emit_move_insn, at expr.c:3546

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

--- Comment #8 from Jason Merrill  ---
Created attachment 38269
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38269&action=edit
patch

This fixes the reduced testcase for me on sparc, does it fix bootstrap on the
various targets?

[Bug target/70044] [5 Regression] -flto turns on -fomit-frame-pointer

2016-04-14 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70044

--- Comment #8 from ktkachov at gcc dot gnu.org ---
Author: ktkachov
Date: Thu Apr 14 13:45:34 2016
New Revision: 234974

URL: https://gcc.gnu.org/viewcvs?rev=234974&root=gcc&view=rev
Log:
[AArch64] Backport of PR target/70044 fix to GCC 5

2016-04-14  Nick Clifton  
Kyrylo Tkachov  

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

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


Added:
branches/gcc-5-branch/gcc/testsuite/gcc.target/aarch64/pr70044.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/config/aarch64/aarch64.c
branches/gcc-5-branch/gcc/testsuite/ChangeLog

[Bug bootstrap/70650] [6 regression] bootstrap failure: ICE in emit_move_insn, at expr.c:3546

2016-04-14 Thread howarth.at.gcc at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70650

--- Comment #9 from Jack Howarth  ---
Created attachment 38270
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38270&action=edit
bzip2 compressed preprocessed source for libstdc++-v3/src/c++11/string-inst.cc
on x86_64-apple-darwin15

[Bug target/70044] [5 Regression] -flto turns on -fomit-frame-pointer

2016-04-14 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70044

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |FIXED

--- Comment #9 from ktkachov at gcc dot gnu.org ---
Fixed.

[Bug middle-end/70643] broken openacc reduction inside a fortran module

2016-04-14 Thread cesar at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70643

cesar at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #2 from cesar at gcc dot gnu.org ---
Fixed in r234973.

[Bug c++/70594] [6 Regression] -fcompare-debug failure

2016-04-14 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70594

Nathan Sidwell  changed:

   What|Removed |Added

   Assignee|nathan at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org

--- Comment #45 from Nathan Sidwell  ---
I am no longer  working  on this, Richard appears to have the ball.

A patch to stop GC cause the constexpr machinery perturbing DECL_UID is
attached to https://gcc.gnu.org/ml/gcc-patches/2016-04/msg00607.html, but
currently deemed unnecessary.

[Bug c++/70594] [6 Regression] -fcompare-debug failure

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

--- Comment #46 from Jakub Jelinek  ---
So, it seems the ctor BLOCKs are preserved, but others are removed.
So, with -g we get:
(gdb) p debug_generic_stmt (block_ultimate_origin ($29))
BLOCK #0 
  SUPERCONTEXT: assign
(gdb) p debug_generic_stmt (block_ultimate_origin ($29->block.supercontext))
assign
(gdb) p debug_generic_stmt (block_ultimate_origin
($29->block.supercontext->block.supercontext))
_M_set_length
(gdb) p debug_generic_stmt (block_ultimate_origin
($29->block.supercontext->block.supercontext->block.supercontext))
BLOCK #0 
  SUPERCONTEXT: basic_string
(gdb) p debug_generic_stmt (block_ultimate_origin
($29->block.supercontext->block.supercontext->block.supercontext->block.supercontext))
basic_string
and assign and _M_set_length are FUNCTION_DECLs which aren't cdtors.
while with -g0 we get for the same stmt:
(gdb) p debug_generic_stmt (block_ultimate_origin ($33))
BLOCK #0 
  SUPERCONTEXT: assign
(gdb) p debug_generic_stmt (block_ultimate_origin ($33->block.supercontext))
BLOCK #0 
  SUPERCONTEXT: basic_string
(gdb) p debug_generic_stmt (block_ultimate_origin
($33->block.supercontext->block.supercontext))
basic_string
$29 and $33 above are gimple_block (stmt).
This means for -g we have more rich BLOCK tree, with extra 2 BLOCKs in between,
which have sadly FUNCTION_DECL block_ultimate_origin.

[Bug bootstrap/70650] [6 regression] bootstrap failure: ICE in emit_move_insn, at expr.c:3546

2016-04-14 Thread howarth.at.gcc at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70650

--- Comment #10 from Jack Howarth  ---
(In reply to Jason Merrill from comment #8)
> Created attachment 38269 [details]
> patch
> 
> This fixes the reduced testcase for me on sparc, does it fix bootstrap on
> the various targets?

The proposed patch doesn't solve the bootstrap failure on darwin.

[Bug ipa/70646] [4.9/5/6 Regression] Corrupt truncated function

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

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug tree-optimization/70666] New: SLP vectorization opportunity to use load element + splat

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

Bug ID: 70666
   Summary: SLP vectorization opportunity to use load element +
splat
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: wschmidt at gcc dot gnu.org
CC: dje at gcc dot gnu.org, rguenth at gcc dot gnu.org
  Target Milestone: ---
Target: powerpc*-unknown-linux-gnu

As discussed in PR70130, there is an opportunity to produce better code during
SLP vectorization for a vector load with a permutation vector where all
elements of the permutation are identical.  A load of the desired element and a
splat would be better than current generated code, which makes use of unaligned
loads.  See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70130#c23 for details,
and see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70130#c11 for a test case
that can be used to reproduce the pattern.

[Bug bootstrap/70650] [6 regression] bootstrap failure: ICE in emit_move_insn, at expr.c:3546

2016-04-14 Thread howarth.at.gcc at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70650

--- Comment #11 from Jack Howarth  ---
In case it helps, with the proposed patch, the backtrace from fancy_abort in
the failing string-inst.cc compilation on darwin appears as...

(lldb) bt
* thread #1: tid = 0x54d252, 0x0001018798f3
cc1plus`fancy_abort(file="../../gcc-6-20160414/gcc/expr.c", line=3546,
function="emit_move_insn") + 19 at diagnostic.c:1329, queue =
'com.apple.main-thread', stop reason = breakpoint 1.1
  * frame #0: 0x0001018798f3
cc1plus`fancy_abort(file="../../gcc-6-20160414/gcc/expr.c", line=3546,
function="emit_move_insn") + 19 at diagnostic.c:1329
frame #1: 0x000100da030b cc1plus`emit_move_insn(x=0x00010534cea0,
y=0x00010534ce58) + 123 at expr.c:3545
frame #2: 0x000100dca4b0 cc1plus`emit_single_push_insn_1(mode=QImode,
x=0x00010534ce58, type=0x0001026b1dc8) + 656 at expr.c:4033
frame #3: 0x000100dab5e9 cc1plus`emit_single_push_insn(mode=QImode,
x=0x00010534ce58, type=0x0001026b1dc8) + 57 at expr.c:4045
frame #4: 0x000100dab1a7 cc1plus`emit_push_insn(x=0x00010534ce58,
mode=QImode, type=0x0001026b1dc8, size=0x, align=64,
partial=0, reg=0x, extra=0, args_addr=0x,
args_so_far=0x000144808480, reg_parm_stack_space=0,
alignment_pad=0x000144808480, sibcall_p=true) + 3815 at expr.c:4384
frame #5: 0x000100bc315c cc1plus`store_one_arg(arg=0x7fff5fbfd750,
argblock=0x, flags=0, variable_size=0, reg_parm_stack_space=0)
+ 3036 at calls.c:4883
frame #6: 0x000100bbbf16 cc1plus`expand_call(exp=0x000105297b40,
target=0x, ignore=1) + 10550 at calls.c:3191
frame #7: 0x000100dbcb8f
cc1plus`expand_expr_real_1(exp=0x000105297b40, target=0x,
tmode=VOIDmode, modifier=EXPAND_NORMAL, alt_rtl=0x,
inner_reference_p=false) + 25647 at expr.c:10601
frame #8: 0x000100db4297
cc1plus`expand_expr_real(exp=0x000105297b40, target=0x000144808480,
tmode=VOIDmode, modifier=EXPAND_NORMAL, alt_rtl=0x,
inner_reference_p=false) + 215 at expr.c:7961
frame #9: 0x000100bf44d1 cc1plus`expand_expr(exp=0x000105297b40,
target=0x000144808480, mode=VOIDmode, modifier=EXPAND_NORMAL) + 49 at
expr.h:256
frame #10: 0x000100bf3a2e
cc1plus`expand_call_stmt(stmt=0x000104d79c78) + 2158 at cfgexpand.c:2661
frame #11: 0x000100bf051e
cc1plus`expand_gimple_stmt_1(stmt=0x000104d79c78) + 430 at cfgexpand.c:3549
frame #12: 0x000100bee523
cc1plus`expand_gimple_stmt(stmt=0x000104d79c78) + 131 at cfgexpand.c:3715
frame #13: 0x000100bef993
cc1plus`expand_gimple_tailcall(bb=0x000104fb7a28, stmt=0x000104d79c78,
can_fallthru=0x7fff5fbff07f) + 35 at cfgexpand.c:3762
frame #14: 0x000100be7ff8
cc1plus`expand_gimple_basic_block(bb=0x000104fb7a28,
disable_tail_calls=false) + 4072 at cfgexpand.c:5698
frame #15: 0x000100be4e9a cc1plus`(anonymous
namespace)::pass_expand::execute(this=0x000143914260,
fun=0x000104d79738) + 4074 at cfgexpand.c:6345
frame #16: 0x0001011eb28a
cc1plus`execute_one_pass(pass=0x000143914260) + 762 at passes.c:2336
frame #17: 0x0001011ebdf7
cc1plus`execute_pass_list_1(pass=0x000143914260) + 103 at passes.c:2420
frame #18: 0x0001011dcf6d
cc1plus`execute_pass_list(fn=0x000104d79738, pass=0x000143910de0) + 77
at passes.c:2431
frame #19: 0x000100c3c50c
cc1plus`cgraph_node::expand(this=0x000104989b80) + 540 at cgraphunit.c:1982
frame #20: 0x000100c4130a cc1plus`expand_all_functions() + 522 at
cgraphunit.c:2118
frame #21: 0x000100c4022e
cc1plus`symbol_table::compile(this=0x0001448050a8) + 990 at
cgraphunit.c:2474
frame #22: 0x000100c414f9
cc1plus`symbol_table::finalize_compilation_unit(this=0x0001448050a8) + 297
at cgraphunit.c:2564
frame #23: 0x000101338cd0 cc1plus`compile_file() + 224 at toplev.c:490
frame #24: 0x000101337318 cc1plus`do_compile() + 328 at toplev.c:1988
frame #25: 0x000101336d48 cc1plus`toplev::main(this=0x7fff5fbff8a8,
argc=30, argv=0x7fff5fbff8e8) + 376 at toplev.c:2096
frame #26: 0x00010185fe20 cc1plus`main(argc=30,
argv=0x7fff5fbff8e8) + 64 at main.c:39
frame #27: 0x7fff862545ad libdyld.dylib`start + 1
frame #28: 0x7fff862545ad libdyld.dylib`start + 1
(lldb)

[Bug bootstrap/70650] [6 regression] bootstrap failure: ICE in emit_move_insn, at expr.c:3546

2016-04-14 Thread howarth.at.gcc at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70650

--- Comment #12 from Jack Howarth  ---
(In reply to Jakub Jelinek from comment #6)
> Shorter testcase:
> struct A {};
> 
> void
> foo (struct A a, int b)
> {
> }
> compiles with sparc-solaris C, but doesn't with C++.

This test case doesn't trigger an ICE in the compiler on x86_64 darwin with or
without the proposed patch for the sparc bootstrap failure.

[Bug tree-optimization/70130] [6 Regression] h264ref fails with verification error starting with r231674 (r224221 is the true start of the problem)

2016-04-14 Thread pthaugen at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70130

--- Comment #29 from Pat Haugen  ---
Verified the patch also fixes the problem with h264ref benchmark.

[Bug c++/70594] [6 Regression] -fcompare-debug failure

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

--- Comment #47 from Jakub Jelinek  ---
Ok, found one bug in the unused block pruning:
--- gcc/ipa-polymorphic-call.c.jj   2016-03-30 16:00:17.0 +0200
+++ gcc/ipa-polymorphic-call.c  2016-04-14 16:45:45.407754387 +0200
@@ -479,16 +479,12 @@ contains_type_p (tree outer_type, HOST_W
 }


-/* Return a FUNCTION_DECL if BLOCK represents a constructor or destructor.
+/* Return a FUNCTION_DECL if FN represent a constructor or destructor.
If CHECK_CLONES is true, also check for clones of ctor/dtors.  */

 tree
-inlined_polymorphic_ctor_dtor_block_p (tree block, bool check_clones)
+polymorphic_ctor_dtor_p (tree fn, bool check_clones)
 {
-  tree fn = block_ultimate_origin (block);
-  if (fn == NULL || TREE_CODE (fn) != FUNCTION_DECL)
-return NULL_TREE;
-
   if (TREE_CODE (TREE_TYPE (fn)) != METHOD_TYPE
   || (!DECL_CXX_CONSTRUCTOR_P (fn) && !DECL_CXX_DESTRUCTOR_P (fn)))
 {
@@ -510,6 +506,19 @@ inlined_polymorphic_ctor_dtor_block_p (t
   return fn;
 }

+/* Return a FUNCTION_DECL if BLOCK represents a constructor or destructor.
+   If CHECK_CLONES is true, also check for clones of ctor/dtors.  */
+
+tree
+inlined_polymorphic_ctor_dtor_block_p (tree block, bool check_clones)
+{
+  tree fn = block_ultimate_origin (block);
+  if (fn == NULL || TREE_CODE (fn) != FUNCTION_DECL)
+return NULL_TREE;
+
+  return polymorphic_ctor_dtor_p (fn, check_clones);
+}
+

 /* We know that the instance is stored in variable or parameter
(not dynamically allocated) and we want to disprove the fact
--- gcc/ipa-utils.h.jj  2016-01-04 14:55:51.0 +0100
+++ gcc/ipa-utils.h 2016-04-14 16:46:08.828444152 +0200
@@ -70,6 +70,7 @@ void dump_possible_polymorphic_call_targ
 bool possible_polymorphic_call_target_p (tree, HOST_WIDE_INT,
 const ipa_polymorphic_call_context &,
 struct cgraph_node *);
+tree polymorphic_ctor_dtor_p (tree, bool);
 tree inlined_polymorphic_ctor_dtor_block_p (tree, bool);
 bool decl_maybe_in_construction_p (tree, tree, gimple *, tree);
 tree vtable_pointer_value_to_binfo (const_tree);
--- gcc/tree-ssa-live.c.jj  2016-01-04 14:55:51.0 +0100
+++ gcc/tree-ssa-live.c 2016-04-14 16:47:33.343324654 +0200
@@ -855,7 +855,9 @@ remove_unused_locals (void)
   cfun->local_decls->truncate (dstidx);
 }

-  remove_unused_scope_block_p (DECL_INITIAL (current_function_decl), false);
+  remove_unused_scope_block_p (DECL_INITIAL (current_function_decl),
+  polymorphic_ctor_dtor_p (current_function_decl,
+   true) != NULL_TREE);
   clear_unused_block_pointer ();

   BITMAP_FREE (usedvars);

but sadly this still doesn't fix it (though, fixes at least the first case
where we nuke the needed BLOCK).

[Bug bootstrap/70650] [6 regression] bootstrap failure: ICE in emit_move_insn, at expr.c:3546

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

--- Comment #13 from Jason Merrill  ---
The darwin problem is with an ipa-icf thunk trying to pass the parameter on
directly, which breaks because it's using the parameter's TREE_TYPE rather than
DECL_ARG_TYPE.  expand_call handles this transparently for integral promotions
by way of promote_function_mode, but doesn't know how to do the equivalent
here.  This is a significant problem with trying to handle this transition in
the front end rather than the back end (as H.J.'s patch did).

[Bug bootstrap/70650] [6 regression] bootstrap failure: ICE in emit_move_insn, at expr.c:3546

2016-04-14 Thread howarth.at.gcc at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70650

--- Comment #14 from Jack Howarth  ---
(In reply to Jason Merrill from comment #13)

Is darwin the only target using TREE_TYPE rather than DECL_ARG_TYPE?

[Bug c++/70594] [6 Regression] -fcompare-debug failure

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

--- Comment #48 from Jakub Jelinek  ---
Created attachment 38271
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38271&action=edit
gcc6-pr70594.patch

Untested fix.

So the other issue is that noncall_stmt_may_be_vtbl_ptr_store looks for BLOCKs
with block_ultimate_origin of FUNCTION_DECL (which is correct), and
tree-ssa-live.c was doing that too for finding the cdtor BLOCKs (through
inlined_polymorphic_ctor_dtor_block_p), but only looked if
BLOCK_ABSTRACT_ORIGIN is FUNCTION_DECL inside of those blocks, which is wrong,
that is just subset of what block_ultimate_origin returns.

As for the changes I've mentioned in the previous comment already and that are
included in this patch too, the thing is that while the pruning code works
(except for the above mentioned thing) right when we have a cdtor inlined and
some other function inlined into it, we can actually lose the needed BLOCKs
already earlier, when pruning unused BLOCKs inside of the cdtor itself before
it is inlined - then we also have to avoid pruning the BLOCKs with
FUNCTION_DECL ultimate origins (except we of course can prune such blocks
inside of BLOCKs with FUNCTION_DECL ultimate origins), thus we need to start
with the right value of the is_ctor_dtor_block flag - DECL_INITIAL
(current_function_block) usually doesn't have block_ultimate_origin a
FUNCTION_DECL and even if it does, it is not current_function_decl - only
BLOCK_SUPERCONTEXT (DECL_INITIAL (current_function_decl)) is
current_function_decl.

This patch fixes the -fcompare-debug issue on the Tobias' testcase.

[Bug c/70651] [6 Regression] ICE on valid code on x86_64-linux-gnu in build_va_arg, at c-family/c-common.c:5728

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

--- Comment #5 from Jakub Jelinek  ---
Yeah, the assertions are clearly bogus.
Though perhaps it would be better to just error out at those spots instead of
ignoring it and hoping we'll error out later.

[Bug bootstrap/70650] [6 regression] bootstrap failure: ICE in emit_move_insn, at expr.c:3546

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

--- Comment #15 from Jason Merrill  ---
(In reply to Jack Howarth from comment #14)
> (In reply to Jason Merrill from comment #13)
> Is darwin the only target using TREE_TYPE rather than DECL_ARG_TYPE?

No, that should be the same for all targets; I don't know why this would affect
darwin and not linux.

[Bug c++/70649] [6 Regression] Incorrect C++ warning on zero-sized array passing

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

--- Comment #1 from Jason Merrill  ---
Created attachment 38272
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38272&action=edit
fix

[Bug bootstrap/70650] [6 regression] bootstrap failure: ICE in emit_move_insn, at expr.c:3546

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

Jason Merrill  changed:

   What|Removed |Added

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

--- Comment #16 from Jason Merrill  ---
Fixed by reverting the abi change.

[Bug c++/70649] [6 Regression] Incorrect C++ warning on zero-sized array passing

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

Jason Merrill  changed:

   What|Removed |Added

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

--- Comment #2 from Jason Merrill  ---
Fixed by reverting the ABI change.

[Bug c++/70667] New: SFINAE error disambiguating using alignas

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

Bug ID: 70667
   Summary: SFINAE error disambiguating using alignas
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: msebor at gcc dot gnu.org
  Target Milestone: ---

The following program tries to use SFINAE to determine whether a non-type
template argument N is a valid alignment.  It depends on overload resolution to
choose between two overloads of function template f, only one of which is valid
for the given value of N.  Since the first overload isn't viable (3 is not a
valid alignment because it isn't a non-negative power of 2), the second
overload is expected to be selected.  But instead, GCC fails with an error.

$ cat u.c && g++ -S -Wall -Wextra -Wpedantic -xc++ u.c
template  struct A { alignas (N) int a; };
template  struct B { char c; };

template  int f (int (*)[sizeof (A)]) { return 0; }
template  int f (int (*)[sizeof (B)]) { return 1; }

int i = f<3>();

u.c: In instantiation of ‘struct A<3>’:
u.c:4:40:   required by substitution of ‘template int f(int (*)[sizeof
(A)]) [with int N = 3]’
u.c:7:14:   required from here
u.c:1:45: error: requested alignment is not a positive power of 2
 template  struct A { alignas (N) int a; };
 ^
u.c:7:14: error: no matching function for call to ‘f()’
 int i = f<3>();
  ^
u.c:4:22: note: candidate: template int f(int (*)[sizeof (A)])
 template  int f (int (*)[sizeof (A)]) { return 0; }
  ^
u.c:4:22: note:   substitution of deduced template arguments resulted in errors
seen above
u.c:5:22: note: candidate: template int f(int (*)[sizeof (B)])
 template  int f (int (*)[sizeof (B)]) { return 1; }
  ^
u.c:5:22: note:   template argument deduction/substitution failed:
u.c:7:14: note:   candidate expects 1 argument, 0 provided
 int i = f<3>();
  ^

[Bug c++/70029] [6 Regression] ICE with C++11 and -flto

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

--- Comment #9 from Marek Polacek  ---
Author: mpolacek
Date: Thu Apr 14 16:51:16 2016
New Revision: 234979

URL: https://gcc.gnu.org/viewcvs?rev=234979&root=gcc&view=rev
Log:
PR c++/70029
* tree.c (verify_type): Disable the canonical type of main variant
check.

* g++.dg/torture/pr70029.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/torture/pr70029.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree.c

[Bug c++/70029] [7 Regression] ICE with C++11 and -flto

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

Marek Polacek  changed:

   What|Removed |Added

   Target Milestone|6.0 |7.0
Summary|[6 Regression] ICE with |[7 Regression] ICE with
   |C++11 and -flto |C++11 and -flto

--- Comment #10 from Marek Polacek  ---
Resolved for GCC 6 by disabling the check; leaving this open for a proper
solution in GCC 7.

[Bug c++/70648] [6 Regression] adplug-xmms fails to compile

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

Jason Merrill  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2016-04-14
   Assignee|unassigned at gcc dot gnu.org  |jason at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug c++/70543] [6 Regression] wrong non-const error for enable_if and constexpr function

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

Jason Merrill  changed:

   What|Removed |Added

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

[Bug bootstrap/70652] [6 Regression] r234966 causes bootstrap to fail

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

Martin Sebor  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |msebor at gcc dot 
gnu.org
  Known to fail||6.0

--- Comment #4 from Martin Sebor  ---
The change (r234966) resolves a regression (bug 69517) in how C++ VLAs
initialized with excess elements are handled: by throwing an exception in GCC
4.9, and by allowing the program to crash in 5 and 6.

Jakub and Jason agreed in an IRC discussion that due to the reported problem
and the proximity of GCC 6 release date the change should be backed out and
resubmitted in stage 1 for GCC 7.  I'll take care of it.

[Bug bootstrap/70650] [6 regression] bootstrap failure: ICE in emit_move_insn, at expr.c:3546

2016-04-14 Thread ro at CeBiTec dot Uni-Bielefeld.DE
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70650

--- Comment #17 from ro at CeBiTec dot Uni-Bielefeld.DE  ---
> --- Comment #8 from Jason Merrill  ---
[...]
> This fixes the reduced testcase for me on sparc, does it fix bootstrap on the
> various targets?

Just for the record, with your patch a sparc-sun-solaris2.12 bootstrap
is well into stage2, so the immediate failure is gone.  Will be a couple
more hours before I have testsuite results.

Rainer

[Bug c/70668] New: nds32-elf toolchain fails to compile on OSX"

2016-04-14 Thread stefan.reinauer at coreboot dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70668

Bug ID: 70668
   Summary: nds32-elf toolchain fails to compile on OSX"
   Product: gcc
   Version: 5.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: stefan.reinauer at coreboot dot org
  Target Milestone: ---

[Bug c/70668] nds32-elf toolchain fails to compile on OSX"

2016-04-14 Thread stefan.reinauer at coreboot dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70668

--- Comment #1 from Stefan Reinauer  ---
Created attachment 38273
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38273&action=edit
minimal example

[Bug bootstrap/70652] [6 Regression] r234966 causes bootstrap to fail

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

--- Comment #5 from Martin Sebor  ---
Author: msebor
Date: Thu Apr 14 17:35:23 2016
New Revision: 234981

URL: https://gcc.gnu.org/viewcvs?rev=234981&root=gcc&view=rev
Log:
PR c++/70652 - [6 Regression] r234966 causes bootstrap to fail
  Revert patch for c++/69517, c++/70019, and c++/70588.

Removed:
trunk/gcc/testsuite/g++.dg/cpp1y/vla12.C
trunk/gcc/testsuite/g++.dg/cpp1y/vla13.C
trunk/gcc/testsuite/g++.dg/cpp1y/vla14.C
trunk/gcc/testsuite/g++.dg/cpp1y/vla3.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/init.c
trunk/gcc/cp/typeck2.c
trunk/gcc/doc/extend.texi
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/c-c++-common/ubsan/vla-1.c
trunk/gcc/testsuite/g++.dg/init/array24.C
trunk/gcc/testsuite/g++.dg/ubsan/vla-1.C

[Bug c/70668] nds32-elf toolchain fails to compile on OSX"

2016-04-14 Thread stefan.reinauer at coreboot dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70668

Stefan Reinauer  changed:

   What|Removed |Added

 Target||nds32le-elf
   Host||Darwin 15.4.0

--- Comment #2 from Stefan Reinauer  ---
The environment is Mac OS X El Capitan (Darwin 15.4.0)

cross compiler build for nds32le-elf fails when building libgcc.

So far, I tracked the issue down to cc1 crashing when compiling divfs3.c (or
even the attached minimized example of it)

- 8< -- 8< ---
./build-nds32le-elf-GCC/gcc/cc1 divsf3.c
 __divsf3
Analyzing compilation unit
Performing interprocedural optimizations
 <*free_lang_data>   
   Assembling functions:
 __divsf3Abort trap: 6
- 8< -- 8< ---


Debugger output:
- 8< -- 8< ---
lldb ./build-nds32le-elf-GCC/gcc/cc1 
(lldb) target create "./build-nds32le-elf-GCC/gcc/cc1"
Current executable set to './build-nds32le-elf-GCC/gcc/cc1' (x86_64).
(lldb) run divsf3.c
Process 45989 launched: './build-nds32le-elf-GCC/gcc/cc1' (x86_64)
 __divsf3
Analyzing compilation unit
Performing interprocedural optimizations
 <*free_lang_data>   
   Assembling functions:
 __divsf3Process 45989 stopped
* thread #1: tid = 0x5c6719, 0x7fff9ee20f06
libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread',
stop reason = signal SIGABRT
frame #0: 0x7fff9ee20f06 libsystem_kernel.dylib`__pthread_kill + 10
libsystem_kernel.dylib`__pthread_kill:
->  0x7fff9ee20f06 <+10>: jae0x7fff9ee20f10; <+20>
0x7fff9ee20f08 <+12>: movq   %rax, %rdi
0x7fff9ee20f0b <+15>: jmp0x7fff9ee1b7cd; cerror_nocancel
0x7fff9ee20f10 <+20>: retq   
(lldb) bt
* thread #1: tid = 0x5c6719, 0x7fff9ee20f06
libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread',
stop reason = signal SIGABRT
  * frame #0: 0x7fff9ee20f06 libsystem_kernel.dylib`__pthread_kill + 10
frame #1: 0x7fff9bf0f4ec libsystem_pthread.dylib`pthread_kill + 90
frame #2: 0x7fff98512787 libsystem_c.dylib`__abort + 145
frame #3: 0x7fff98513066 libsystem_c.dylib`__stack_chk_fail + 200
frame #4: 0x0001001198d8 cc1`gen_casesi(rtx_def*, rtx_def*, rtx_def*,
rtx_def*, rtx_def*) + 392
frame #5: 0x0001006a69bc cc1`insn_gen_fn::operator()(rtx_def*,
rtx_def*, rtx_def*, rtx_def*, rtx_def*) const + 76
frame #6: 0x000100697b09 cc1`maybe_gen_insn(insn_code, unsigned int,
expand_operand*) + 473
frame #7: 0x0001006a4001 cc1`maybe_expand_jump_insn(insn_code, unsigned
int, expand_operand*) + 33
frame #8: 0x000100699481 cc1`expand_jump_insn(insn_code, unsigned int,
expand_operand*) + 33
frame #9: 0x000100353f20 cc1`try_casesi(tree_node*, tree_node*,
tree_node*, tree_node*, rtx_def*, rtx_def*, rtx_def*, int) + 864
frame #10: 0x0001007c0ee9 cc1`emit_case_dispatch_table(tree_node*,
tree_node*, case_node*, rtx_def*, tree_node*, tree_node*, tree_node*,
basic_block_def*) + 313
frame #11: 0x0001007c07aa cc1`expand_case(gswitch*) + 1290
frame #12: 0x0001001c04b2
cc1`expand_gimple_stmt_1(gimple_statement_base*) + 386
frame #13: 0x0001001beba3
cc1`expand_gimple_stmt(gimple_statement_base*) + 131
frame #14: 0x0001001b989b
cc1`expand_gimple_basic_block(basic_block_def*, bool) + 3803
frame #15: 0x0001001b6bef cc1`(anonymous
namespace)::pass_expand::execute(function*) + 3199
frame #16: 0x0001006c67b1 cc1`execute_one_pass(opt_pass*) + 721
frame #17: 0x0001006c709e cc1`execute_pass_list_1(opt_pass*) + 78
frame #18: 0x0001006b9732 cc1`execute_pass_list(function*, opt_pass*) +
34
frame #19: 0x0001002008dd cc1`cgraph_node::expand() + 365
frame #20: 0x000100203f45 cc1`output_in_order(bool) + 917
frame #21: 0x0001002035d2 cc1`symbol_table::compile() + 642
frame #22: 0x000100204363 cc1`symbol_table::finalize_compilation_unit()
+ 179
frame #23: 0x00010001c67a cc1`c_write_global_declarations() + 474
frame #24: 0x0001007d9c47 cc1`compile_file() + 167
frame #25: 0x0001007d8438 cc1`do_compile() + 328
frame #26: 0x0001007d7e83 cc1`toplev::main(int, char**) + 371
frame #27: 0x000100b3dbeb cc1`main + 59
frame #28: 0x7fff90a6b5ad libdyld.dylib`start + 1
frame #29: 0x7fff90a6b5ad libdyld.dylib`start + 1
(lldb)
- 8< -- 8< ---

[Bug c/70668] nds32-elf toolchain fails to compile on OSX

2016-04-14 Thread stefan.reinauer at coreboot dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70668

Stefan Reinauer  changed:

   What|Removed |Added

Summary|nds32-elf toolchain fails   |nds32-elf toolchain fails
   |to compile on OSX"  |to compile on OSX

--- Comment #3 from Stefan Reinauer  ---
Also, I have found out that passing -fno-jump-tables to the compiler call fixes
the issue.

Interestingly enough, I have built cross toolchains on OS X for i386-elf,
x86_64-elf, arm-eabi, aarch64-elf, powerpc64-linux-gnu, mipsel-elf (and riscv
with a local patch)
and only nds32le-elf is crashing.

So, while the same script does not crash on Ubuntu 15.10 compiling a
nds32le-elf cross toolchain, it seems it's rather a problem that happens to be
exposed on OS X than a problem with OS X.

[Bug preprocessor/69650] [6 Regression] ICE in linemap_line_start, at libcpp/line-map.c:803

2016-04-14 Thread rogero at howzatt dot demon.co.uk
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69650

--- Comment #60 from Roger Orr  ---
Thanks; I can now confirm that a full build of our application with distcc
works without problems.

  1   2   >