Home | History | Annotate | Download | only in unique.ptr.observers
      1 //===----------------------------------------------------------------------===//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is dual licensed under the MIT and the University of Illinois Open
      6 // Source Licenses. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 
     10 // <memory>
     11 
     12 // unique_ptr
     13 
     14 // test op->()
     15 
     16 #include <memory>
     17 #include <cassert>
     18 
     19 struct V {
     20   int member;
     21 };
     22 
     23 int main() {
     24   std::unique_ptr<V[]> p;
     25   std::unique_ptr<V[]> const& cp = p;
     26 
     27   p->member; // expected-error {{member reference type 'std::unique_ptr<V []>' is not a pointer}}
     28   // expected-error@-1 {{no member named 'member'}}
     29 
     30   cp->member; // expected-error {{member reference type 'const std::unique_ptr<V []>' is not a pointer}}
     31               // expected-error@-1 {{no member named 'member'}}
     32 }
     33