20 lines
441 B
C++
20 lines
441 B
C++
// RUN: %clang_cc1 -fsyntax-only -verify %s
|
|
// PR9615
|
|
|
|
struct Resource {
|
|
void doit();
|
|
};
|
|
|
|
template<int x> struct Lock {
|
|
~Lock() { int a[x]; } // expected-error {{declared as an array with a negative size}}
|
|
Resource* operator->() { return 0; }
|
|
};
|
|
|
|
struct Accessor {
|
|
Lock<-1> operator->();
|
|
};
|
|
|
|
// Make sure we try to instantiate the destructor for Lock here
|
|
void f() { Accessor acc; acc->doit(); } // expected-note {{requested here}}
|
|
|