// RUN: rm -rf %t
// RUN: mkdir %t
// RUN: c-index-test -test-load-source all -comments-xml-schema=%S/../../bindings/xml/comment-xml-schema.rng -target x86_64-apple-darwin10 %s > %t/out
// RUN: FileCheck %s < %t/out
// RUN: c-index-test -test-load-source all -comments-xml-schema=%S/../../bindings/xml/comment-xml-schema.rng -target x86_64-apple-darwin10 -std=c++98 %s > %t/98
// RUN: FileCheck %s < %t/98
// RUN: c-index-test -test-load-source all -comments-xml-schema=%S/../../bindings/xml/comment-xml-schema.rng -target x86_64-apple-darwin10 -std=c++11 %s > %t/11
// RUN: FileCheck %s < %t/11
// Ensure that XML we generate is not invalid.
// RUN: FileCheck %s -check-prefix=WRONG < %t/out
// RUN: FileCheck %s -check-prefix=WRONG < %t/98
// RUN: FileCheck %s -check-prefix=WRONG < %t/11
// WRONG-NOT: CommentXMLInvalid
// rdar://12378714
/**
* \brief plain c++ class
*/
;
// CHECK: <Declaration>class Test {}</Declaration>
// CHECK: <Declaration>Test()</Declaration>
// CHECK: <Declaration>unsigned int getID() const</Declaration>
// CHECK: <Declaration>~Test(){{( noexcept)?}}</Declaration>
// CHECK: <Declaration>Test::data *reserved</Declaration>
;
// CHECK: <Declaration>friend class Test</Declaration>
// CHECK: <Declaration>friend void foo()</Declaration>
// CHECK: <Declaration>friend int int_func()</Declaration>
// CHECK: <Declaration>friend bool operator==(const Test &, const Test &)</Declaration>
// CHECK: <Declaration>friend template <typename T> void TemplateFriend()</Declaration>
// CHECK: <Declaration>friend template <typename T> class TemplateFriendClass</Declaration>
// CHECK: <Declaration>friend void ns::f(int a)</Declaration>
// CHECK: <Declaration>friend void Outer<T>::foo(T)</Declaration>
// CHECK: <Declaration>friend void ::test2::foo::Func(int x)</Declaration>
// CHECK: <Declaration>void f(const T &t = T())</Declaration>
// CHECK: <Declaration>friend void vector<A>::f(const test3::A &)</Declaration>
;
// CHECK: <Declaration>friend class MyClass</Declaration>
;
// CHECK: <Declaration>template <class T> class valarray</Declaration>
// CHECK: <Declaration>friend template <class T> class valarray</Declaration>
;