p8.cpp revision 93962e5360a43200faa70939571afc4fb9326cf7
193962e5360a43200faa70939571afc4fb9326cf7Douglas Gregor// RUN: %clang_cc1 -std=c++11 %s -verify
293962e5360a43200faa70939571afc4fb9326cf7Douglas Gregor
393962e5360a43200faa70939571afc4fb9326cf7Douglas Gregorclass X0 {
493962e5360a43200faa70939571afc4fb9326cf7Douglas Gregor  void explicit_capture() {
593962e5360a43200faa70939571afc4fb9326cf7Douglas Gregor    int foo;
693962e5360a43200faa70939571afc4fb9326cf7Douglas Gregor
793962e5360a43200faa70939571afc4fb9326cf7Douglas Gregor    [foo, foo] () {}; // expected-error {{'foo' can appear only once}} expected-error {{not supported yet}}
893962e5360a43200faa70939571afc4fb9326cf7Douglas Gregor    [this, this] () {}; // expected-error {{'this' can appear only once}} expected-error {{not supported yet}}
993962e5360a43200faa70939571afc4fb9326cf7Douglas Gregor    [=, foo] () {}; // expected-error {{'&' must precede a capture when}} expected-error {{not supported yet}}
1093962e5360a43200faa70939571afc4fb9326cf7Douglas Gregor    [=, &foo] () {}; // expected-error {{not supported yet}}
1193962e5360a43200faa70939571afc4fb9326cf7Douglas Gregor    [=, this] () {}; // expected-error {{'this' cannot appear}} expected-error {{not supported yet}}
1293962e5360a43200faa70939571afc4fb9326cf7Douglas Gregor    [&, foo] () {}; // expected-error {{not supported yet}}
1393962e5360a43200faa70939571afc4fb9326cf7Douglas Gregor    [&, &foo] () {}; // expected-error {{'&' cannot precede a capture when}} expected-error {{not supported yet}}
1493962e5360a43200faa70939571afc4fb9326cf7Douglas Gregor    [&, this] () {}; // expected-error {{not supported yet}}
1593962e5360a43200faa70939571afc4fb9326cf7Douglas Gregor  }
1693962e5360a43200faa70939571afc4fb9326cf7Douglas Gregor};
17