Commit d363b1f3 by Jason Merrill

new

From-SVN: r24752
parent b661835c
// Submitted by Nathan Sidwell <nathan@acm.org>
// Bug: g++ was giving the wrong line number for statics.
// Special g++ Options: -w
class A
{
A(); // ERROR - private
~A(); // ERROR - private
};
static A a; // ERROR - here
// Submitted by Nathan Sidwell <nathan@acm.org>
// Bug: g++ wasn't listing candidates for a failed conversion.
void f(int, double); // ERROR - candidate
void f(double, int); // ERROR - candidate
void f(int); // ERROR - candidate
int
main ()
{
void (*ptr)(int, int);
ptr = &f; // ERROR - no match
}
// Submitted by Nathan Sidwell <nathan@acm.org>
// Bug: g++ was crashing after giving errors.
template<class T>
void connect_to_method(
T *receiver,
void (T::*method)())
{}
class Gtk_Base
{
public:
void expose();
void show();
void show(int);
Gtk_Base();
};
Gtk_Base::Gtk_Base()
{
connect_to_method(this,&show); // ERROR - invalid pmf expression
connect_to_method(this,&expose); // ERROR - invalid pmf expression
}
// Build don't link:
// Reported by Bruce Eckel <Bruce@EckelObjects.com>
// [temp.deduct.type]
// Make sure we treat <T> in the construct TT<T> as any type containing T.
template <class T> class C
{
};
template <class T, template <class> class TT> void f (TT<T *> &t)
{
}
int main ()
{
C<char *> c;
f(c);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment