https://sourceware.org/bugzilla/show_bug.cgi?id=17670
--- Comment #2 from Markus Trippelsdorf <markus at trippelsdorf dot de> ---
Reduced using gcc trunk:
trippels@gcc2-power8 corelib % cat qmimeglobpattern.ii
class G;
class A
{
public:
A (G);
};
class B
{
public:
int m_fn1 ();
};
class QString;
struct C
{
B ref;
};
template <typename> class QList
{
C d;
public:
~QList ();
void m_fn2 ();
void m_fn3 ();
};
class G : public QList<QString>
{
};
struct D
{
void m_fn4 (const QString &&);
G m_matchingMimeTypes;
};
class F
{
G m_fn5 (const QString &) const;
};
template <typename T> QList<T>::~QList ()
{
if (d.ref.m_fn1 ())
m_fn3 ();
}
template <typename T>
void
QList<T>::m_fn2 ()
{
QList ();
}
void
D::m_fn4 (const QString &&)
{
m_matchingMimeTypes.m_fn2 ();
}
G
F::m_fn5 (const QString &) const
{
G a;
for (A b (a);;)
;
}
trippels@gcc2-power8 corelib % cat qmimeprovider.ii
class A
{
public:
int m_fn1 ();
};
class QString
{
public:
static QString m_fn2 (char *);
};
struct B
{
A ref;
};
template <typename> class QList
{
B d;
public:
~QList ();
class const_iterator
{
};
const_iterator m_fn3 ();
void m_fn4 ();
};
class C
{
QList<QString> c;
QList<QString>::const_iterator i;
public:
C (QList<QString>) : i (c.m_fn3 ()) {}
};
class D
{
public:
enum StandardLocation
{
GenericDataLocation
};
static QList<QString> m_fn5 (StandardLocation, QString);
};
QList<QString> a = D::m_fn5 (D::GenericDataLocation, QString::m_fn2 (""));
template <typename T> QList<T>::~QList ()
{
if (d.ref.m_fn1 ())
m_fn4 ();
}
void
fn1 ()
{
C b (a);
}
trippels@gcc2-power8 corelib % g++ -shared -w -O3 -fvisibility=hidden
-std=c++0x qmimeglobpattern.ii qmimeprovider.ii
/home/trippels/bin/ld: internal error in symval_for_branch, at powerpc.cc:6755
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils