Commit ad1169f7 by Jason Merrill

new

From-SVN: r20226
parent a835e351
//Build don't link:
//Check association of {error} for Koenig lookup
class QString { };
int foo()
{
QString bar;
if (bar == __null ) {
}
}
//Check association of member pointer in overload resolution.
struct A {
int m_val;
friend int operator ->* (A & other, int A::*pm)
{ return 31; }
};
int A::*pi = & A::m_val;
int
main(void)
{
A c;
c.m_val = 42;
int j = c ->* pi;
if (j == 31)
return 0;
else
return 1;
}
typedef unsigned int atypedef;
struct astruct{};
void afunction();
void aovlfunction();
void aovlfunction(int);
int avariable;
namespace foo {
using ::atypedef;
using ::astruct;
using ::afunction;
using ::aovlfunction;
using ::avariable;
}
//Build don't link:
typedef unsigned int size_t;
void *operator new(size_t, unsigned int);
struct X{
X();
X(int);
};
void f(X *x = new X); // ERROR -
void f(X *x = new X(4)); // ERROR -
void f(X *x = new X[4]); // ERROR -
void f(X *x = new (3) X(6)); // ERROR -
void f(X *x = new (2) X[10]); // ERROR -
void f(X *x = new X[10][5]); // ERROR -
template<class T>
struct A {
static T arr[5];
};
template <class T>
T A<T>::arr[5] = { 0, 1, 2, 3, 4 };
main ()
{
return A<int>::arr[0];
}
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