| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- // 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 std=c++11 %s > %t/out
- // RUN: FileCheck %s < %t/out
- // Ensure that XML we generate is not invalid.
- // RUN: FileCheck %s -check-prefix=WRONG < %t/out
- // WRONG-NOT: CommentXMLInvalid
- // rdar://12378714
- /**
- * \brief Aaa
- */
- template<typename T> struct A {
- /**
- * \brief Bbb
- */
- A();
- /**
- * \brief Ccc
- */
- ~A();
- /**
- * \brief Ddd
- */
- void f() { }
- };
- // CHECK: <Declaration>template <typename T> struct A {}</Declaration>
- // CHECK: <Declaration>A<T>()</Declaration>
- // CHECK: <Declaration>~A<T>()</Declaration>
- /**
- * \Brief Eee
- */
- template <typename T> struct D : A<T> {
- /**
- * \brief
- */
- using A<T>::f;
-
- void f();
- };
- // CHECK: <Declaration>template <typename T> struct D : A<T> {}</Declaration>
- // CHECK: <Declaration>using A<T>::f</Declaration>
- struct Base {
- int foo;
- };
- /**
- * \brief
- */
- template<typename T> struct E : Base {
- /**
- * \brief
- */
- using Base::foo;
- };
- // CHECK: <Declaration>template <typename T> struct E : Base {}</Declaration>
- // CHECK: <Declaration>using Base::foo</Declaration>
- /// \tparam
- /// \param AAA Blah blah
- template<typename T>
- void func_template_1(T AAA);
- // CHECK: <Declaration>template <typename T> void func_template_1(T AAA)</Declaration>
- template<template<template<typename CCC> class DDD, class BBB> class AAA>
- void func_template_2();
- // FIXME: There is not Declaration field in the generated output.
- namespace rdar16128173 {
- // CHECK: <Declaration>template <class PtrTy> class OpaquePtr {}</Declaration>
- /// \brief Wrapper for void* pointer.
- /// \tparam PtrTy Either a pointer type like 'T*' or a type that behaves like
- /// a pointer.
- template <class PtrTy>
- class OpaquePtr {};
- // CHECK: <Declaration>typedef OpaquePtr<int> DeclGroupPtrTy</Declaration>
- typedef OpaquePtr<int> DeclGroupPtrTy;
- DeclGroupPtrTy blah;
- }
|