[Bug c++/94426] [10 Regression] ICE in mangle_decl with -flto

2020-04-16 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94426

--- Comment #7 from CVS Commits  ---
The master branch has been updated by Iain D Sandoe :

https://gcc.gnu.org/g:b084efe3fcdfcf88e1703800b9b99347e89beefb

commit r10-7761-gb084efe3fcdfcf88e1703800b9b99347e89beefb
Author: Iain Sandoe 
Date:   Thu Apr 16 21:13:51 2020 +0100

testsuite: Update pr94426-2 test to handle more targets [PR94426]

The function (_Z4InitIN3VARIZ1qvEUlvE_EUlvE_EEbT_) that initializes
VAR has changed siganture.  It was was weak / comdat [Linux] or
weak / global [Darwin] and now is text section local.

So: test that the symbol exists, is spelled the way intended by the
ABI mangling and is not weak (or global on Darwin).

gcc/testsuite/ChangeLog:

2020-04-16  Iain Sandoe  

PR c++/94426
* g++.dg/cpp0x/lambda/pr94426-2.C: Adjust scan-asms to test
for the change on more platforms.

[Bug c++/94426] [10 Regression] ICE in mangle_decl with -flto

2020-04-13 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94426

Nathan Sidwell  changed:

   What|Removed |Added

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

--- Comment #6 from Nathan Sidwell  ---
Fixed 8d213cbbe18

[Bug c++/94426] [10 Regression] ICE in mangle_decl with -flto

2020-04-01 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94426

--- Comment #5 from Nathan Sidwell  ---
Reduced testcase:

template  using Void = void;

template  bool Init (U);

template  bool VAR = Init ([] {});

template 
Void> Foo (T)
{}

void q ()
{
  Foo ([] {});
}

bug.ii: At global scope:
bug.ii:5:38: internal compiler error: in mangle_decl, at cp/mangle.c:3907
5 | template  bool VAR = Init ([] {});

[Bug c++/94426] [10 Regression] ICE in mangle_decl with -flto

2020-04-01 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94426

Nathan Sidwell  changed:

   What|Removed |Added

 Status|SUSPENDED   |ASSIGNED

--- Comment #4 from Nathan Sidwell  ---
nope, I fat fingered the status

[Bug c++/94426] [10 Regression] ICE in mangle_decl with -flto

2020-04-01 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94426

--- Comment #3 from Jakub Jelinek  ---
Is this SUSPENDED on https://github.com/itanium-cxx-abi/cxx-abi/issues/94
resolution, or something else?

[Bug c++/94426] [10 Regression] ICE in mangle_decl with -flto

2020-04-01 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94426

Nathan Sidwell  changed:

   What|Removed |Added

   Assignee|unassigned at gcc dot gnu.org  |nathan at gcc dot 
gnu.org
 Status|NEW |SUSPENDED

[Bug c++/94426] [10 Regression] ICE in mangle_decl with -flto

2020-04-01 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94426

--- Comment #2 from Jakub Jelinek  ---
Adjusted testcase that ICEs already starting with the r10-7243 commit, again
-O2 -flto:
template  struct b { static constexpr int c = a; };
template  using d = b;
template  auto ad() -> decltype(0);
struct m { d())> e; };
struct n : m { typedef decltype(e) ab; };
template  using aj = int;
class C { void q(); int bq; };
template  using bz = typename by::template
bz;
namespace ca {
struct r { template  using bz = cc; };
template  using cd = bz;
namespace ce {
struct s { template  s(bj); };
struct t { bool c; };
t ci(void *, s);
}
template  aj cl;
template  bool f;
template  constexpr bool destructible = n::ab ::c;
template  constexpr bool cp = destructible;
template  constexpr bool cq = cp;
template  constexpr bool copyable = cq;
template  constexpr bool cr = copyable;
}
namespace cs {
using namespace ca;
namespace ce {
template  using da = cy;
}
template  using da = ce::da<>;
template 
bool db = ca::ce::ci(nullptr, [](auto g) -> decltype(cl>>)
{}).c;
template  constexpr bool dd = cr;
template  constexpr bool de = dd;
template  constexpr bool h = de;
template  constexpr bool df = h;
template  bool dj = db;
namespace ce {
template  struct H;
}
template  using dn = ce::H;
template  constexpr bool i = df;
struct {
  template 
  auto operator()(cx, j, cc, k) -> cd && dj, cc>>>
{ while (1); }
  template 
  void operator()(l, cc p2, k u) { (*this)(0, 0, p2, u); }
} o;
}
int p;
void C::q() { cs::o(bq, p, [] {}); }

The difference from the #c0 testcase is:
-template  using bz = typename by::bz;
+template  using bz = typename by::template
bz;

[Bug c++/94426] [10 Regression] ICE in mangle_decl with -flto

2020-04-01 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94426

Jakub Jelinek  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 Status|UNCONFIRMED |NEW
 CC||nathan at gcc dot gnu.org
   Last reconfirmed||2020-04-01

--- Comment #1 from Jakub Jelinek  ---
Though the unreduced testcase started to ICE already with
r10-7243-g11cf25c40e3f586d19474108c78a2dfad7925902
I might try to re-reduce this such that it ICEs already with that release.

[Bug c++/94426] [10 Regression] ICE in mangle_decl with -flto

2020-04-01 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94426

Richard Biener  changed:

   What|Removed |Added

   Keywords||lto
   Priority|P3  |P1

[Bug c++/94426] [10 Regression] ICE in mangle_decl with -flto

2020-03-31 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94426

Jakub Jelinek  changed:

   What|Removed |Added

   Target Milestone|--- |10.0