operator-arrow-temporary.cpp revision d593190132244b0194d480ec3e55f94f369c8863
1// RUN: %clang_cc1 -fsyntax-only -verify %s 2// PR9615 3 4struct Resource { 5 void doit(); 6}; 7 8template<int x> struct Lock { 9 ~Lock() { int a[x]; } // expected-error {{declared as an array with a negative size}} 10 Resource* operator->() { return 0; } 11}; 12 13struct Accessor { 14 Lock<-1> operator->(); 15}; 16 17// Make sure we try to instantiate the destructor for Lock here 18void f() { Accessor acc; acc->doit(); } // expected-note {{requested here}} 19 20