public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "doko at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/65288] New: [5 Regression] ICE (in address_matters_p, at symtab.c:1908) on powerpc64le-linux-gnu
Date: Mon, 02 Mar 2015 23:51:00 -0000	[thread overview]
Message-ID: <bug-65288-4@http.gcc.gnu.org/bugzilla/> (raw)

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

            Bug ID: 65288
           Summary: [5 Regression] ICE (in address_matters_p, at
                    symtab.c:1908) on powerpc64le-linux-gnu
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: doko at gcc dot gnu.org

r221115 on arm-linux-gnu

$ g++ -std=c++11 -c -g -O3 -fPIE mainwindow2.ii 
mainwindow2.ii:61:1: internal compiler error: in address_matters_p, at
symtab.c:1908
 }
 ^
Please submit a full bug report,
with preprocessed source if appropriate.

$ cat mainwindow2.ii
class A {
public:
  A(int);
};
template <typename...> struct B;
template <typename> struct C;
template <class Obj, typename Ret, typename... Args>
struct C<Ret (Obj::*)(Args...)> {
  typedef Obj Object;
  typedef B<Args...> Arguments;
};

class D;
template <typename> struct F {
  static const int *types() {
    static const int t[]{};
    return t;
  }
};
class G {
  A m_ref;
public:
  G(void(int, G *, D *, void **, bool *)) : m_ref(1) {}
};
template <typename Func> class J : public G {
  static void impl(int, G *, D *, void **, bool *);

public:
  J(Func) : G(impl) {}
};

class D {
public:
  template <typename Func1, typename Func2>
  void connect(typename C<Func1>::Object *, Func1, typename C<Func2>::Object *,
               Func2 p4) {
    const int *a = F<typename C<Func1>::Arguments>::types();
    connectImpl(new J<Func2>(p4), a);
  }
  void connectImpl(G *, const int *);
};

class H;
class K : D {
  void makeConnections(int *, H *);
};
class I {
public:
  void setColor();
  void colorChanged(int);
};
class H {
public:
  void colorChanged();
  void setColor();
};
void K::makeConnections(int *, H *p2) {
  connect(p2, &H::colorChanged, 0, &I::setColor);
  connect(0, &I::colorChanged, p2, &H::setColor);
}


             reply	other threads:[~2015-03-02 23:51 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-02 23:51 doko at gcc dot gnu.org [this message]
2015-03-02 23:51 ` [Bug target/65288] " doko at gcc dot gnu.org
2015-03-03 10:01 ` ktietz 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-65288-4@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).