public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "dcb314 at hotmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/94751] [9/10/11 Regression] ICE on invalid code in maybe_instantiate_noexcept
Date: Tue, 19 Jan 2021 15:35:56 +0000	[thread overview]
Message-ID: <bug-94751-4-soYN4cQuAT@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-94751-4@http.gcc.gnu.org/bugzilla/>

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94751

David Binderman <dcb314 at hotmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dcb314 at hotmail dot com

--- Comment #3 from David Binderman <dcb314 at hotmail dot com> ---

Reduced code is:

template <int a> struct c { static constexpr int d = a; };
template <bool, typename> struct e;
template <typename f> struct e<true, f> { typedef f g; };
template <typename f> f aa();
class h {
public:
  template <typename i, typename... j> void ab(i *, j...) { i(j()...); }
};
template <typename> using k = h;
template <typename> class l : public k<int> {};
template <typename> struct m;
template <typename f> struct m<l<f>> {
  using n = l<f>;
  using o = f *;
  template <typename i> using p = l<i>;
  template <typename i, typename... j> static void ab(n ac, i q, j...) {
    ac.ab(q, j()...);
  }
};
template <typename...> struct r;
struct s : m<l<r<float>>> {
  struct ad {
    typedef p<r<float>> ae;
  };
};
template <typename> struct af;
template <long, typename f> using ag = typename af<f>::g;
template <typename> class ah {};
template <typename ai, typename... u> struct af<ah<ai, u...>> { typedef ai g;
};
template <long aj, typename... v> ag<aj, ah<v...>> ak(ah<v...>);
class al {
public:
  template <typename w> void operator=(w);
};
struct am {
  struct an {
    s::o ao;
  };
  struct : s::ad::ae, an {
  } ap;
};
template <typename, typename = int> class x : am {
public:
  template <typename... j> s aq(j &&...);
};
template <typename f, typename ar>
template <typename... j>
s x<f, ar>::aq(j &&...) {
  s::ab(ap, ap.ao, aa<j>()...);
}
template <typename...> class as;
template <typename... at> struct r {
  int au;
  r(at...);
  template <typename av> void aw(av);
};
class y {
public:
  static constexpr struct {
    template <typename ax> typename e<c<false>::d, ax>::g ay();
    template <typename ax> static typename e<!c<false>::d, ax>::g ay();
  } az{};
};
template <int ba> struct z {
  static void bb() {
    ah<al> b;
    ak<ba>(b) = y::az.ay<int>;
  }
};
template <typename bc, typename bd> void be(bc, bd) { z<0>::bb; }
template <typename... at> r<at...>::r(at...) { aw(y::az); }
template <typename... at> template <typename av> void r<at...>::aw(av ac) {
  be(au, ac);
}
template <typename ax> class as<ax> {
public:
  as &bf();
  x<int> bg;
};
template <typename ax> as<ax> &as<ax>::bf() {
  ax t;
  bg.aq(t);
}
template <typename... at> as<at...> bh(at...);
auto bi = bh(1.0f).bf();

  parent reply	other threads:[~2021-01-19 15:35 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-24 18:52 [Bug c++/94751] New: [9/10] " sss@li-snyder.org
2020-04-24 22:29 ` [Bug c++/94751] " mpolacek at gcc dot gnu.org
2020-04-24 22:44 ` [Bug c++/94751] [9/10 Regression] " mpolacek at gcc dot gnu.org
2021-01-14  8:39 ` [Bug c++/94751] [9/10/11 " rguenth at gcc dot gnu.org
2021-01-19 15:35 ` dcb314 at hotmail dot com [this message]
2021-01-19 20:52 ` mpolacek at gcc dot gnu.org
2021-01-19 20:54 ` mpolacek at gcc dot gnu.org
2021-03-12  0:49 ` mpolacek at gcc dot gnu.org
2021-03-25 20:13 ` cvs-commit at gcc dot gnu.org
2021-03-25 20:15 ` mpolacek at gcc dot gnu.org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-94751-4-soYN4cQuAT@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).