[clang-tools-extra] r338748 - Revert "[clang-doc] Refactoring mapper to map by scope"

Julie Hockett via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 2 11:01:37 PDT 2018


Author: juliehockett
Date: Thu Aug  2 11:01:37 2018
New Revision: 338748

URL: http://llvm.org/viewvc/llvm-project?rev=338748&view=rev
Log:
Revert "[clang-doc] Refactoring mapper to map by scope"

This reverts commit r338738 as it's breaking the bots.

Added:
    clang-tools-extra/trunk/test/clang-doc/module.cpp
    clang-tools-extra/trunk/test/clang-doc/public-records.cpp
Removed:
    clang-tools-extra/trunk/test/clang-doc/bc-linkage.cpp
    clang-tools-extra/trunk/test/clang-doc/bc-module.cpp
    clang-tools-extra/trunk/test/clang-doc/mapper-linkage.cpp
    clang-tools-extra/trunk/test/clang-doc/mapper-module.cpp
    clang-tools-extra/trunk/test/clang-doc/public-comment.cpp
    clang-tools-extra/trunk/test/clang-doc/public-linkage.cpp
    clang-tools-extra/trunk/test/clang-doc/public-namespace.cpp
    clang-tools-extra/trunk/test/clang-doc/public-record.cpp
    clang-tools-extra/trunk/test/clang-doc/test_cases/linkage.cpp
    clang-tools-extra/trunk/test/clang-doc/test_cases/module.cpp
    clang-tools-extra/trunk/test/clang-doc/yaml-linkage.cpp
    clang-tools-extra/trunk/test/clang-doc/yaml-module.cpp
Modified:
    clang-tools-extra/trunk/clang-doc/BitcodeReader.cpp
    clang-tools-extra/trunk/clang-doc/BitcodeReader.h
    clang-tools-extra/trunk/clang-doc/BitcodeWriter.cpp
    clang-tools-extra/trunk/clang-doc/BitcodeWriter.h
    clang-tools-extra/trunk/clang-doc/Mapper.cpp
    clang-tools-extra/trunk/clang-doc/Representation.cpp
    clang-tools-extra/trunk/clang-doc/Representation.h
    clang-tools-extra/trunk/clang-doc/Serialize.cpp
    clang-tools-extra/trunk/clang-doc/Serialize.h
    clang-tools-extra/trunk/clang-doc/YAMLGenerator.cpp
    clang-tools-extra/trunk/clang-doc/gen_tests.py
    clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpp
    clang-tools-extra/trunk/test/clang-doc/bc-comment.cpp
    clang-tools-extra/trunk/test/clang-doc/bc-namespace.cpp
    clang-tools-extra/trunk/test/clang-doc/bc-record.cpp
    clang-tools-extra/trunk/test/clang-doc/mapper-comment.cpp
    clang-tools-extra/trunk/test/clang-doc/mapper-namespace.cpp
    clang-tools-extra/trunk/test/clang-doc/mapper-record.cpp
    clang-tools-extra/trunk/test/clang-doc/public-module.cpp
    clang-tools-extra/trunk/test/clang-doc/yaml-comment.cpp
    clang-tools-extra/trunk/test/clang-doc/yaml-namespace.cpp
    clang-tools-extra/trunk/test/clang-doc/yaml-record.cpp

Modified: clang-tools-extra/trunk/clang-doc/BitcodeReader.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/BitcodeReader.cpp?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-doc/BitcodeReader.cpp (original)
+++ clang-tools-extra/trunk/clang-doc/BitcodeReader.cpp Thu Aug  2 11:01:37 2018
@@ -100,8 +100,6 @@ bool decodeRecord(Record R, FieldId &Fie
   case FieldId::F_parent:
   case FieldId::F_vparent:
   case FieldId::F_type:
-  case FieldId::F_child_namespace:
-  case FieldId::F_child_record:
   case FieldId::F_default:
     Field = F;
     return true;
@@ -374,12 +372,6 @@ template <> void addReference(NamespaceI
   case FieldId::F_namespace:
     I->Namespace.emplace_back(std::move(R));
     break;
-  case FieldId::F_child_namespace:
-    I->ChildNamespaces.emplace_back(std::move(R));
-    break;
-  case FieldId::F_child_record:
-    I->ChildRecords.emplace_back(std::move(R));
-    break;
   default:
     llvm::errs() << "Invalid field type for info.\n";
     exit(1);
@@ -411,37 +403,12 @@ template <> void addReference(RecordInfo
   case FieldId::F_vparent:
     I->VirtualParents.emplace_back(std::move(R));
     break;
-  case FieldId::F_child_record:
-    I->ChildRecords.emplace_back(std::move(R));
-    break;
   default:
     llvm::errs() << "Invalid field type for info.\n";
     exit(1);
   }
 }
 
-template <typename T, typename ChildInfoType>
-void addChild(T I, ChildInfoType &&R) {
-  llvm::errs() << "Invalid child type for info.\n";
-  exit(1);
-}
-
-template <> void addChild(NamespaceInfo *I, FunctionInfo &&R) {
-  I->ChildFunctions.emplace_back(std::move(R));
-}
-
-template <> void addChild(NamespaceInfo *I, EnumInfo &&R) {
-  I->ChildEnums.emplace_back(std::move(R));
-}
-
-template <> void addChild(RecordInfo *I, FunctionInfo &&R) {
-  I->ChildFunctions.emplace_back(std::move(R));
-}
-
-template <> void addChild(RecordInfo *I, EnumInfo &&R) {
-  I->ChildEnums.emplace_back(std::move(R));
-}
-
 // Read records from bitcode into a given info.
 template <typename T> bool ClangDocBitcodeReader::readRecord(unsigned ID, T I) {
   Record R;
@@ -488,8 +455,7 @@ template <typename T> bool ClangDocBitco
 template <typename T>
 bool ClangDocBitcodeReader::readSubBlock(unsigned ID, T I) {
   switch (ID) {
-  // Blocks can only have Comment, Reference, TypeInfo, FunctionInfo, or
-  // EnumInfo subblocks
+  // Blocks can only have Comment, Reference, or TypeInfo subblocks
   case BI_COMMENT_BLOCK_ID:
     if (readBlock(ID, getCommentInfo(I)))
       return true;
@@ -526,22 +492,6 @@ bool ClangDocBitcodeReader::readSubBlock
     }
     return false;
   }
-  case BI_FUNCTION_BLOCK_ID: {
-    FunctionInfo F;
-    if (readBlock(ID, &F)) {
-      addChild(I, std::move(F));
-      return true;
-    }
-    return false;
-  }
-  case BI_ENUM_BLOCK_ID: {
-    EnumInfo E;
-    if (readBlock(ID, &E)) {
-      addChild(I, std::move(E));
-      return true;
-    }
-    return false;
-  }
   default:
     llvm::errs() << "Invalid subblock type.\n";
     return false;
@@ -623,21 +573,16 @@ std::unique_ptr<Info> ClangDocBitcodeRea
 }
 
 // Entry point
-llvm::Expected<std::vector<std::unique_ptr<Info>>>
-ClangDocBitcodeReader::readBitcode() {
+std::vector<std::unique_ptr<Info>> ClangDocBitcodeReader::readBitcode() {
   std::vector<std::unique_ptr<Info>> Infos;
   if (!validateStream())
-    return llvm::make_error<llvm::StringError>("Invalid bitcode stream.\n",
-                                               llvm::inconvertibleErrorCode());
-  ;
+    return Infos;
 
   // Read the top level blocks.
   while (!Stream.AtEndOfStream()) {
     unsigned Code = Stream.ReadCode();
     if (Code != llvm::bitc::ENTER_SUBBLOCK)
-      return llvm::make_error<llvm::StringError>(
-          "Missing subblock in bitcode.\n", llvm::inconvertibleErrorCode());
-    ;
+      return Infos;
 
     unsigned ID = Stream.ReadSubBlockID();
     switch (ID) {
@@ -647,30 +592,24 @@ ClangDocBitcodeReader::readBitcode() {
     case BI_MEMBER_TYPE_BLOCK_ID:
     case BI_COMMENT_BLOCK_ID:
     case BI_REFERENCE_BLOCK_ID:
-      return llvm::make_error<llvm::StringError>(
-          "Invalid top level block in bitcode.\n",
-          llvm::inconvertibleErrorCode());
-      ;
+      llvm::errs() << "Invalid top level block.\n";
+      return Infos;
     case BI_NAMESPACE_BLOCK_ID:
     case BI_RECORD_BLOCK_ID:
     case BI_ENUM_BLOCK_ID:
     case BI_FUNCTION_BLOCK_ID:
-      if (std::unique_ptr<Info> I = readBlockToInfo(ID))
+      if (std::unique_ptr<Info> I = readBlockToInfo(ID)) {
         Infos.emplace_back(std::move(I));
+      }
       return Infos;
     case BI_VERSION_BLOCK_ID:
       if (readBlock(ID, VersionNumber))
         continue;
-      return llvm::make_error<llvm::StringError>(
-          "Invalid bitcode version in bitcode.\n",
-          llvm::inconvertibleErrorCode());
-      ;
+      return Infos;
     case llvm::bitc::BLOCKINFO_BLOCK_ID:
       if (readBlockInfoBlock())
         continue;
-      return llvm::make_error<llvm::StringError>(
-          "Invalid BlockInfo in bitcode.\n", llvm::inconvertibleErrorCode());
-      ;
+      return Infos;
     default:
       if (!Stream.SkipBlock())
         continue;

Modified: clang-tools-extra/trunk/clang-doc/BitcodeReader.h
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/BitcodeReader.h?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-doc/BitcodeReader.h (original)
+++ clang-tools-extra/trunk/clang-doc/BitcodeReader.h Thu Aug  2 11:01:37 2018
@@ -19,7 +19,6 @@
 #include "BitcodeWriter.h"
 #include "Representation.h"
 #include "clang/AST/AST.h"
-#include "llvm/ADT/Optional.h"
 #include "llvm/ADT/SmallVector.h"
 #include "llvm/Bitcode/BitstreamReader.h"
 
@@ -32,7 +31,7 @@ public:
   ClangDocBitcodeReader(llvm::BitstreamCursor &Stream) : Stream(Stream) {}
 
   // Main entry point, calls readBlock to read each block in the given stream.
-  llvm::Expected<std::vector<std::unique_ptr<Info>>> readBitcode();
+  std::vector<std::unique_ptr<Info>> readBitcode();
 
 private:
   enum class Cursor { BadBlock = 1, Record, BlockEnd, BlockBegin };

Modified: clang-tools-extra/trunk/clang-doc/BitcodeWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/BitcodeWriter.cpp?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-doc/BitcodeWriter.cpp (original)
+++ clang-tools-extra/trunk/clang-doc/BitcodeWriter.cpp Thu Aug  2 11:01:37 2018
@@ -434,14 +434,6 @@ void ClangDocBitcodeWriter::emitBlock(co
     emitBlock(N, FieldId::F_namespace);
   for (const auto &CI : I.Description)
     emitBlock(CI);
-  for (const auto &C : I.ChildNamespaces)
-    emitBlock(C, FieldId::F_child_namespace);
-  for (const auto &C : I.ChildRecords)
-    emitBlock(C, FieldId::F_child_record);
-  for (const auto &C : I.ChildFunctions)
-    emitBlock(C);
-  for (const auto &C : I.ChildEnums)
-    emitBlock(C);
 }
 
 void ClangDocBitcodeWriter::emitBlock(const EnumInfo &I) {
@@ -480,12 +472,6 @@ void ClangDocBitcodeWriter::emitBlock(co
     emitBlock(P, FieldId::F_parent);
   for (const auto &P : I.VirtualParents)
     emitBlock(P, FieldId::F_vparent);
-  for (const auto &C : I.ChildRecords)
-    emitBlock(C, FieldId::F_child_record);
-  for (const auto &C : I.ChildFunctions)
-    emitBlock(C);
-  for (const auto &C : I.ChildEnums)
-    emitBlock(C);
 }
 
 void ClangDocBitcodeWriter::emitBlock(const FunctionInfo &I) {

Modified: clang-tools-extra/trunk/clang-doc/BitcodeWriter.h
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/BitcodeWriter.h?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-doc/BitcodeWriter.h (original)
+++ clang-tools-extra/trunk/clang-doc/BitcodeWriter.h Thu Aug  2 11:01:37 2018
@@ -68,10 +68,11 @@ enum BlockId {
 
 // New Ids need to be added to the enum here, and to the relevant IdNameMap and
 // initialization list in the implementation file.
+#define INFORECORDS(X) X##_USR, X##_NAME
+
 enum RecordId {
   VERSION = 1,
-  FUNCTION_USR,
-  FUNCTION_NAME,
+  INFORECORDS(FUNCTION),
   FUNCTION_DEFLOCATION,
   FUNCTION_LOCATION,
   FUNCTION_ACCESS,
@@ -90,16 +91,13 @@ enum RecordId {
   FIELD_TYPE_NAME,
   MEMBER_TYPE_NAME,
   MEMBER_TYPE_ACCESS,
-  NAMESPACE_USR,
-  NAMESPACE_NAME,
-  ENUM_USR,
-  ENUM_NAME,
+  INFORECORDS(NAMESPACE),
+  INFORECORDS(ENUM),
   ENUM_DEFLOCATION,
   ENUM_LOCATION,
   ENUM_MEMBER,
   ENUM_SCOPED,
-  RECORD_USR,
-  RECORD_NAME,
+  INFORECORDS(RECORD),
   RECORD_DEFLOCATION,
   RECORD_LOCATION,
   RECORD_TAG_TYPE,
@@ -114,16 +112,10 @@ enum RecordId {
 static constexpr unsigned BlockIdCount = BI_LAST - BI_FIRST;
 static constexpr unsigned RecordIdCount = RI_LAST - RI_FIRST;
 
+#undef INFORECORDS
+
 // Identifiers for differentiating between subblocks
-enum class FieldId {
-  F_default,
-  F_namespace,
-  F_parent,
-  F_vparent,
-  F_type,
-  F_child_namespace,
-  F_child_record
-};
+enum class FieldId { F_default, F_namespace, F_parent, F_vparent, F_type };
 
 class ClangDocBitcodeWriter {
 public:

Modified: clang-tools-extra/trunk/clang-doc/Mapper.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/Mapper.cpp?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-doc/Mapper.cpp (original)
+++ clang-tools-extra/trunk/clang-doc/Mapper.cpp Thu Aug  2 11:01:37 2018
@@ -13,7 +13,6 @@
 #include "clang/AST/Comment.h"
 #include "clang/Index/USRGeneration.h"
 #include "llvm/ADT/StringExtras.h"
-#include "llvm/Support/Error.h"
 
 using clang::comments::FullComment;
 
@@ -34,15 +33,14 @@ template <typename T> bool MapASTVisitor
   if (index::generateUSRForDecl(D, USR))
     return true;
 
-  auto I = serialize::emitInfo(
+  std::string info = serialize::emitInfo(
       D, getComment(D, D->getASTContext()), getLine(D, D->getASTContext()),
       getFile(D, D->getASTContext()), CDCtx.PublicOnly);
 
-  // A null in place of I indicates that the serializer is skipping this decl
-  // for some reason (e.g. we're only reporting public decls).
-  if (I)
-    CDCtx.ECtx->reportResult(llvm::toHex(llvm::toStringRef(I->USR)),
-                       serialize::serialize(I));
+  if (info != "")
+    CDCtx.ECtx->reportResult(
+        llvm::toHex(llvm::toStringRef(serialize::hashUSR(USR))), info);
+
   return true;
 }
 

Modified: clang-tools-extra/trunk/clang-doc/Representation.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/Representation.cpp?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-doc/Representation.cpp (original)
+++ clang-tools-extra/trunk/clang-doc/Representation.cpp Thu Aug  2 11:01:37 2018
@@ -26,70 +26,17 @@
 namespace clang {
 namespace doc {
 
-namespace {
-
-const SymbolID EmptySID = SymbolID();
+static const SymbolID EmptySID = SymbolID();
 
 template <typename T>
-llvm::Expected<std::unique_ptr<Info>>
-reduce(std::vector<std::unique_ptr<Info>> &Values) {
-  if (Values.empty())
-    return llvm::make_error<llvm::StringError>(" No values to reduce.\n",
-                                               llvm::inconvertibleErrorCode());
-  std::unique_ptr<Info> Merged = llvm::make_unique<T>(Values[0]->USR);
+std::unique_ptr<Info> reduce(std::vector<std::unique_ptr<Info>> &Values) {
+  std::unique_ptr<Info> Merged = llvm::make_unique<T>();
   T *Tmp = static_cast<T *>(Merged.get());
   for (auto &I : Values)
     Tmp->merge(std::move(*static_cast<T *>(I.get())));
   return Merged;
 }
 
-// Return the index of the matching child in the vector, or -1 if merge is not
-// necessary.
-template <typename T>
-int getChildIndexIfExists(std::vector<T> &Children, T &ChildToMerge) {
-  for (unsigned long I = 0; I < Children.size(); I++) {
-    if (ChildToMerge.USR == Children[I].USR)
-      return I;
-  }
-  return -1;
-}
-
-// For References, we don't need to actually merge them, we just don't want
-// duplicates.
-void reduceChildren(std::vector<Reference> &Children,
-                    std::vector<Reference> &&ChildrenToMerge) {
-  for (auto &ChildToMerge : ChildrenToMerge) {
-    if (getChildIndexIfExists(Children, ChildToMerge) == -1)
-      Children.push_back(std::move(ChildToMerge));
-  }
-}
-
-void reduceChildren(std::vector<FunctionInfo> &Children,
-                    std::vector<FunctionInfo> &&ChildrenToMerge) {
-  for (auto &ChildToMerge : ChildrenToMerge) {
-    int mergeIdx = getChildIndexIfExists(Children, ChildToMerge);
-    if (mergeIdx == -1) {
-      Children.push_back(std::move(ChildToMerge));
-      continue;
-    }
-    Children[mergeIdx].merge(std::move(ChildToMerge));
-  }
-}
-
-void reduceChildren(std::vector<EnumInfo> &Children,
-                    std::vector<EnumInfo> &&ChildrenToMerge) {
-  for (auto &ChildToMerge : ChildrenToMerge) {
-    int mergeIdx = getChildIndexIfExists(Children, ChildToMerge);
-    if (mergeIdx == -1) {
-      Children.push_back(std::move(ChildToMerge));
-      continue;
-    }
-    Children[mergeIdx].merge(std::move(ChildToMerge));
-  }
-}
-
-} // namespace
-
 // Dispatch function.
 llvm::Expected<std::unique_ptr<Info>>
 mergeInfos(std::vector<std::unique_ptr<Info>> &Values) {
@@ -126,7 +73,7 @@ void Info::mergeBase(Info &&Other) {
 }
 
 bool Info::mergeable(const Info &Other) {
-  return IT == Other.IT && USR == Other.USR;
+  return IT == Other.IT && (USR == EmptySID || USR == Other.USR);
 }
 
 void SymbolInfo::merge(SymbolInfo &&Other) {
@@ -140,11 +87,6 @@ void SymbolInfo::merge(SymbolInfo &&Othe
 
 void NamespaceInfo::merge(NamespaceInfo &&Other) {
   assert(mergeable(Other));
-  // Reduce children if necessary.
-  reduceChildren(ChildNamespaces, std::move(Other.ChildNamespaces));
-  reduceChildren(ChildRecords, std::move(Other.ChildRecords));
-  reduceChildren(ChildFunctions, std::move(Other.ChildFunctions));
-  reduceChildren(ChildEnums, std::move(Other.ChildEnums));
   mergeBase(std::move(Other));
 }
 
@@ -158,10 +100,6 @@ void RecordInfo::merge(RecordInfo &&Othe
     Parents = std::move(Other.Parents);
   if (VirtualParents.empty())
     VirtualParents = std::move(Other.VirtualParents);
-  // Reduce children if necessary.
-  reduceChildren(ChildRecords, std::move(Other.ChildRecords));
-  reduceChildren(ChildFunctions, std::move(Other.ChildFunctions));
-  reduceChildren(ChildEnums, std::move(Other.ChildEnums));
   SymbolInfo::merge(std::move(Other));
 }
 

Modified: clang-tools-extra/trunk/clang-doc/Representation.h
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/Representation.h?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-doc/Representation.h (original)
+++ clang-tools-extra/trunk/clang-doc/Representation.h Thu Aug  2 11:01:37 2018
@@ -31,9 +31,6 @@ namespace doc {
 using SymbolID = std::array<uint8_t, 20>;
 
 struct Info;
-struct FunctionInfo;
-struct EnumInfo;
-
 enum class InfoType {
   IT_default,
   IT_namespace,
@@ -156,9 +153,6 @@ struct Location {
 struct Info {
   Info() = default;
   Info(InfoType IT) : IT(IT) {}
-  Info(InfoType IT, SymbolID USR) : USR(USR), IT(IT) {}
-  Info(InfoType IT, SymbolID USR, StringRef Name)
-      : USR(USR), IT(IT), Name(Name) {}
   Info(const Info &Other) = delete;
   Info(Info &&Other) = default;
 
@@ -172,36 +166,18 @@ struct Info {
 
   void mergeBase(Info &&I);
   bool mergeable(const Info &Other);
-
-  // Returns a reference to the parent scope (that is, the immediate parent
-  // namespace or class in which this decl resides).
-  llvm::Expected<Reference> getEnclosingScope();
 };
 
 // Info for namespaces.
 struct NamespaceInfo : public Info {
   NamespaceInfo() : Info(InfoType::IT_namespace) {}
-  NamespaceInfo(SymbolID USR) : Info(InfoType::IT_namespace, USR) {}
-  NamespaceInfo(SymbolID USR, StringRef Name)
-      : Info(InfoType::IT_namespace, USR, Name) {}
 
   void merge(NamespaceInfo &&I);
-
-  // Namespaces and Records are references because they will be properly
-  // documented in their own info, while the entirety of Functions and Enums are
-  // included here because they should not have separate documentation from
-  // their scope.
-  std::vector<Reference> ChildNamespaces;
-  std::vector<Reference> ChildRecords;
-  std::vector<FunctionInfo> ChildFunctions;
-  std::vector<EnumInfo> ChildEnums;
 };
 
 // Info for symbols.
 struct SymbolInfo : public Info {
   SymbolInfo(InfoType IT) : Info(IT) {}
-  SymbolInfo(InfoType IT, SymbolID USR) : Info(IT, USR) {}
-  SymbolInfo(InfoType IT, SymbolID USR, StringRef Name) : Info(IT, USR, Name) {}
 
   void merge(SymbolInfo &&I);
 
@@ -213,7 +189,6 @@ struct SymbolInfo : public Info {
 // Info for functions.
 struct FunctionInfo : public SymbolInfo {
   FunctionInfo() : SymbolInfo(InfoType::IT_function) {}
-  FunctionInfo(SymbolID USR) : SymbolInfo(InfoType::IT_function, USR) {}
 
   void merge(FunctionInfo &&I);
 
@@ -230,9 +205,6 @@ struct FunctionInfo : public SymbolInfo
 // Info for types.
 struct RecordInfo : public SymbolInfo {
   RecordInfo() : SymbolInfo(InfoType::IT_record) {}
-  RecordInfo(SymbolID USR) : SymbolInfo(InfoType::IT_record, USR) {}
-  RecordInfo(SymbolID USR, StringRef Name)
-      : SymbolInfo(InfoType::IT_record, USR, Name) {}
 
   void merge(RecordInfo &&I);
 
@@ -246,21 +218,12 @@ struct RecordInfo : public SymbolInfo {
                                            // parents).
   llvm::SmallVector<Reference, 4>
       VirtualParents; // List of virtual base/parent records.
-
-  // Records are references because they will be properly
-  // documented in their own info, while the entirety of Functions and Enums are
-  // included here because they should not have separate documentation from
-  // their scope.
-  std::vector<Reference> ChildRecords;
-  std::vector<FunctionInfo> ChildFunctions;
-  std::vector<EnumInfo> ChildEnums;
 };
 
 // TODO: Expand to allow for documenting templating.
 // Info for types.
 struct EnumInfo : public SymbolInfo {
   EnumInfo() : SymbolInfo(InfoType::IT_enum) {}
-  EnumInfo(SymbolID USR) : SymbolInfo(InfoType::IT_enum, USR) {}
 
   void merge(EnumInfo &&I);
 

Modified: clang-tools-extra/trunk/clang-doc/Serialize.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/Serialize.cpp?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-doc/Serialize.cpp (original)
+++ clang-tools-extra/trunk/clang-doc/Serialize.cpp Thu Aug  2 11:01:37 2018
@@ -152,21 +152,6 @@ template <typename T> static std::string
   return Buffer.str().str();
 }
 
-std::string serialize(std::unique_ptr<Info> &I) {
-  switch (I->IT) {
-  case InfoType::IT_namespace:
-    return serialize(*static_cast<NamespaceInfo *>(I.get()));
-  case InfoType::IT_record:
-    return serialize(*static_cast<RecordInfo *>(I.get()));
-  case InfoType::IT_enum:
-    return serialize(*static_cast<EnumInfo *>(I.get()));
-  case InfoType::IT_function:
-    return serialize(*static_cast<FunctionInfo *>(I.get()));
-  default:
-    return "";
-  }
-}
-
 static void parseFullComment(const FullComment *C, CommentInfo &CI) {
   ClangDocCommentVisitor Visitor(CI);
   Visitor.parseComment(C);
@@ -321,108 +306,61 @@ static void populateFunctionInfo(Functio
   parseParameters(I, D);
 }
 
-std::unique_ptr<Info> emitInfo(const NamespaceDecl *D, const FullComment *FC,
-                               int LineNumber, llvm::StringRef File,
-                               bool PublicOnly) {
+std::string emitInfo(const NamespaceDecl *D, const FullComment *FC,
+                     int LineNumber, llvm::StringRef File, bool PublicOnly) {
   if (PublicOnly && ((D->isAnonymousNamespace()) ||
                      !isPublic(D->getAccess(), D->getLinkageInternal())))
-    return nullptr;
-  auto I = llvm::make_unique<NamespaceInfo>();
-  populateInfo(*I, D, FC);
-  return I;
+    return "";
+  NamespaceInfo I;
+  populateInfo(I, D, FC);
+  return serialize(I);
 }
 
-std::unique_ptr<Info> emitInfo(const RecordDecl *D, const FullComment *FC,
-                               int LineNumber, llvm::StringRef File,
-                               bool PublicOnly) {
+std::string emitInfo(const RecordDecl *D, const FullComment *FC, int LineNumber,
+                     llvm::StringRef File, bool PublicOnly) {
   if (PublicOnly && !isPublic(D->getAccess(), D->getLinkageInternal()))
-    return nullptr;
-  auto I = llvm::make_unique<RecordInfo>();
-  populateSymbolInfo(*I, D, FC, LineNumber, File);
-  I->TagType = D->getTagKind();
-  parseFields(*I, D, PublicOnly);
+    return "";
+  RecordInfo I;
+  populateSymbolInfo(I, D, FC, LineNumber, File);
+  I.TagType = D->getTagKind();
+  parseFields(I, D, PublicOnly);
   if (const auto *C = dyn_cast<CXXRecordDecl>(D))
-    parseBases(*I, C);
-  return I;
+    parseBases(I, C);
+  return serialize(I);
 }
 
-std::unique_ptr<Info> emitInfo(const FunctionDecl *D, const FullComment *FC,
-                               int LineNumber, llvm::StringRef File,
-                               bool PublicOnly) {
+std::string emitInfo(const FunctionDecl *D, const FullComment *FC,
+                     int LineNumber, llvm::StringRef File, bool PublicOnly) {
   if (PublicOnly && !isPublic(D->getAccess(), D->getLinkageInternal()))
-    return nullptr;
-  FunctionInfo Func;
-  populateFunctionInfo(Func, D, FC, LineNumber, File);
-  Func.Access = clang::AccessSpecifier::AS_none;
-
-  // Wrap in enclosing scope
-  auto I = llvm::make_unique<NamespaceInfo>();
-  if (!Func.Namespace.empty())
-    I->USR = Func.Namespace[0].USR;
-  else
-    I->USR = SymbolID();
-  I->ChildFunctions.push_back(std::move(Func));
-  return I;
+    return "";
+  FunctionInfo I;
+  populateFunctionInfo(I, D, FC, LineNumber, File);
+  I.Access = clang::AccessSpecifier::AS_none;
+  return serialize(I);
 }
 
-std::unique_ptr<Info> emitInfo(const CXXMethodDecl *D, const FullComment *FC,
-                               int LineNumber, llvm::StringRef File,
-                               bool PublicOnly) {
+std::string emitInfo(const CXXMethodDecl *D, const FullComment *FC,
+                     int LineNumber, llvm::StringRef File, bool PublicOnly) {
   if (PublicOnly && !isPublic(D->getAccess(), D->getLinkageInternal()))
-    return nullptr;
-  FunctionInfo Func;
-  populateFunctionInfo(Func, D, FC, LineNumber, File);
-  Func.IsMethod = true;
-
-  SymbolID ParentUSR = getUSRForDecl(D->getParent());
-  Func.Parent = Reference{ParentUSR, D->getParent()->getNameAsString(),
-                          InfoType::IT_record};
-  Func.Access = D->getAccess();
-
-  // Wrap in enclosing scope
-  auto I = llvm::make_unique<RecordInfo>();
-  I->USR = ParentUSR;
-  I->ChildFunctions.push_back(std::move(Func));
-  return I;
-}
-
-std::unique_ptr<Info> emitInfo(const EnumDecl *D, const FullComment *FC,
-                               int LineNumber, llvm::StringRef File,
-                               bool PublicOnly) {
-  if (PublicOnly && !isPublic(D->getAccess(), D->getLinkageInternal()))
-    return nullptr;
-  EnumInfo Enum;
-  populateSymbolInfo(Enum, D, FC, LineNumber, File);
-  Enum.Scoped = D->isScoped();
-  parseEnumerators(Enum, D);
-
-  // Wrap in enclosing scope
-  if (!Enum.Namespace.empty()) {
-    switch (Enum.Namespace[0].RefType) {
-    case InfoType::IT_namespace: {
-      std::unique_ptr<Info> IPtr = llvm::make_unique<NamespaceInfo>();
-      NamespaceInfo *I = static_cast<NamespaceInfo *>(IPtr.get());
-      I->USR = Enum.Namespace[0].USR;
-      I->ChildEnums.push_back(std::move(Enum));
-      return IPtr;
-    }
-    case InfoType::IT_record: {
-      std::unique_ptr<Info> IPtr = llvm::make_unique<RecordInfo>();
-      RecordInfo *I = static_cast<RecordInfo *>(IPtr.get());
-      I->USR = Enum.Namespace[0].USR;
-      I->ChildEnums.push_back(std::move(Enum));
-      return IPtr;
-    }
-    default:
-      break;
-    }
-  }
+    return "";
+  FunctionInfo I;
+  populateFunctionInfo(I, D, FC, LineNumber, File);
+  I.IsMethod = true;
+  I.Parent = Reference{getUSRForDecl(D->getParent()),
+                       D->getParent()->getNameAsString(), InfoType::IT_record};
+  I.Access = D->getAccess();
+  return serialize(I);
+}
 
-  // Put in global namespace
-  auto I = llvm::make_unique<NamespaceInfo>();
-  I->USR = SymbolID();
-  I->ChildEnums.push_back(std::move(Enum));
-  return I;
+std::string emitInfo(const EnumDecl *D, const FullComment *FC, int LineNumber,
+                     llvm::StringRef File, bool PublicOnly) {
+  if (PublicOnly && !isPublic(D->getAccess(), D->getLinkageInternal()))
+    return "";
+  EnumInfo I;
+  populateSymbolInfo(I, D, FC, LineNumber, File);
+  I.Scoped = D->isScoped();
+  parseEnumerators(I, D);
+  return serialize(I);
 }
 
 } // namespace serialize

Modified: clang-tools-extra/trunk/clang-doc/Serialize.h
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/Serialize.h?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-doc/Serialize.h (original)
+++ clang-tools-extra/trunk/clang-doc/Serialize.h Thu Aug  2 11:01:37 2018
@@ -28,16 +28,16 @@ namespace clang {
 namespace doc {
 namespace serialize {
 
-std::unique_ptr<Info> emitInfo(const NamespaceDecl *D, const FullComment *FC,
-                               int LineNumber, StringRef File, bool PublicOnly);
-std::unique_ptr<Info> emitInfo(const RecordDecl *D, const FullComment *FC,
-                               int LineNumber, StringRef File, bool PublicOnly);
-std::unique_ptr<Info> emitInfo(const EnumDecl *D, const FullComment *FC,
-                               int LineNumber, StringRef File, bool PublicOnly);
-std::unique_ptr<Info> emitInfo(const FunctionDecl *D, const FullComment *FC,
-                               int LineNumber, StringRef File, bool PublicOnly);
-std::unique_ptr<Info> emitInfo(const CXXMethodDecl *D, const FullComment *FC,
-                               int LineNumber, StringRef File, bool PublicOnly);
+std::string emitInfo(const NamespaceDecl *D, const FullComment *FC,
+                     int LineNumber, StringRef File, bool PublicOnly);
+std::string emitInfo(const RecordDecl *D, const FullComment *FC, int LineNumber,
+                     StringRef File, bool PublicOnly);
+std::string emitInfo(const EnumDecl *D, const FullComment *FC, int LineNumber,
+                     StringRef File, bool PublicOnly);
+std::string emitInfo(const FunctionDecl *D, const FullComment *FC,
+                     int LineNumber, StringRef File, bool PublicOnly);
+std::string emitInfo(const CXXMethodDecl *D, const FullComment *FC,
+                     int LineNumber, StringRef File, bool PublicOnly);
 
 // Function to hash a given USR value for storage.
 // As USRs (Unified Symbol Resolution) could be large, especially for functions
@@ -46,8 +46,6 @@ std::unique_ptr<Info> emitInfo(const CXX
 // memory (vs storing USRs directly).
 SymbolID hashUSR(llvm::StringRef USR);
 
-std::string serialize(std::unique_ptr<Info> &I);
-
 } // namespace serialize
 } // namespace doc
 } // namespace clang

Modified: clang-tools-extra/trunk/clang-doc/YAMLGenerator.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/YAMLGenerator.cpp?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-doc/YAMLGenerator.cpp (original)
+++ clang-tools-extra/trunk/clang-doc/YAMLGenerator.cpp Thu Aug  2 11:01:37 2018
@@ -20,8 +20,6 @@ LLVM_YAML_IS_SEQUENCE_VECTOR(MemberTypeI
 LLVM_YAML_IS_SEQUENCE_VECTOR(Reference)
 LLVM_YAML_IS_SEQUENCE_VECTOR(Location)
 LLVM_YAML_IS_SEQUENCE_VECTOR(CommentInfo)
-LLVM_YAML_IS_SEQUENCE_VECTOR(FunctionInfo)
-LLVM_YAML_IS_SEQUENCE_VECTOR(EnumInfo)
 LLVM_YAML_IS_SEQUENCE_VECTOR(std::unique_ptr<CommentInfo>)
 LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::SmallString<16>)
 
@@ -177,14 +175,7 @@ template <> struct MappingTraits<MemberT
 };
 
 template <> struct MappingTraits<NamespaceInfo> {
-  static void mapping(IO &IO, NamespaceInfo &I) {
-    InfoMapping(IO, I);
-    IO.mapOptional("ChildNamespaces", I.ChildNamespaces,
-                   std::vector<Reference>());
-    IO.mapOptional("ChildRecords", I.ChildRecords, std::vector<Reference>());
-    IO.mapOptional("ChildFunctions", I.ChildFunctions);
-    IO.mapOptional("ChildEnums", I.ChildEnums);
-  }
+  static void mapping(IO &IO, NamespaceInfo &I) { InfoMapping(IO, I); }
 };
 
 template <> struct MappingTraits<RecordInfo> {
@@ -195,9 +186,6 @@ template <> struct MappingTraits<RecordI
     IO.mapOptional("Parents", I.Parents, llvm::SmallVector<Reference, 4>());
     IO.mapOptional("VirtualParents", I.VirtualParents,
                    llvm::SmallVector<Reference, 4>());
-    IO.mapOptional("ChildRecords", I.ChildRecords, std::vector<Reference>());
-    IO.mapOptional("ChildFunctions", I.ChildFunctions);
-    IO.mapOptional("ChildEnums", I.ChildEnums);
   }
 };
 

Modified: clang-tools-extra/trunk/clang-doc/gen_tests.py
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/gen_tests.py?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-doc/gen_tests.py (original)
+++ clang-tools-extra/trunk/clang-doc/gen_tests.py Thu Aug  2 11:01:37 2018
@@ -18,17 +18,14 @@ accuracy before using.
 
 To generate all current tests:
 - Generate mapper tests:
-    python gen_tests.py -flag='--dump-mapper' -flag='--doxygen' -flag='--extra-arg=-fmodules-ts' -prefix mapper
+    gen_tests.py -flag='--dump-mapper' -flag='--doxygen' -prefix mapper
 
 - Generate reducer tests:
-    python gen_tests.py -flag='--dump-intermediate' -flag='--doxygen' -flag='--extra-arg=-fmodules-ts' -prefix bc
-
+    gen_tests.py -flag='--dump-intermediate' -flag='--doxygen' -prefix bc
+    
 - Generate yaml tests:
-    python gen_tests.py -flag='--format=yaml' -flag='--doxygen' -flag='--extra-arg=-fmodules-ts' -prefix yaml
-
-- Generate public decl tests:
-    python gen_tests.py -flag='--format=yaml' -flag='--doxygen' -flag='--public' -flag='--extra-arg=-fmodules-ts' -prefix public
-
+    gen_tests.py -flag='--format=yaml' -flag='--doxygen' -prefix yaml
+    
 This script was written on/for Linux, and has not been tested on any other
 platform and so it may not work.
 
@@ -37,7 +34,6 @@ platform and so it may not work.
 import argparse
 import glob
 import os
-import re
 import shutil
 import subprocess
 
@@ -52,10 +48,6 @@ CHECK = '// CHECK-{0}: '
 
 CHECK_NEXT = '// CHECK-{0}-NEXT: '
 
-BITCODE_USR = '<USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>'
-BITCODE_USR_REGEX = r'<USR abbrevid=4 op0=20 op1=[0-9]+ op2=[0-9]+ op3=[0-9]+ op4=[0-9]+ op5=[0-9]+ op6=[0-9]+ op7=[0-9]+ op8=[0-9]+ op9=[0-9]+ op10=[0-9]+ op11=[0-9]+ op12=[0-9]+ op13=[0-9]+ op14=[0-9]+ op15=[0-9]+ op16=[0-9]+ op17=[0-9]+ op18=[0-9]+ op19=[0-9]+ op20=[0-9]+/>'
-YAML_USR = "USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'"
-YAML_USR_REGEX = r"USR:             '[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]'"
 
 def clear_test_prefix_files(prefix, tests_path):
     if os.path.isdir(tests_path):
@@ -116,8 +108,6 @@ def get_output(root, out_file, case_out_
 
     # Format output.
     output = output.replace('blob data = \'test\'', 'blob data = \'{{.*}}\'')
-    output = re.sub(YAML_USR_REGEX, YAML_USR, output)
-    output = re.sub(BITCODE_USR_REGEX, BITCODE_USR, output)
     output = CHECK.format(checkname) + output.rstrip()
     output = run_cmd + output.replace('\n',
                                       '\n' + CHECK_NEXT.format(checkname))

Modified: clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpp?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpp (original)
+++ clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpp Thu Aug  2 11:01:37 2018
@@ -121,24 +121,9 @@ bool DumpResultToFile(const Twine &DirNa
   return false;
 }
 
-// A function to extract the appropriate path name for a given info's
-// documentation. The path returned is a composite of the parent namespaces as
-// directories plus the decl name as the filename.
-//
-// Example: Given the below, the <ext> path for class C will be <
-// root>/A/B/C.<ext>
-//
-// namespace A {
-// namesapce B {
-//
-// class C {};
-//
-// }
-// }
 llvm::Expected<llvm::SmallString<128>>
-getInfoOutputFile(StringRef Root,
-                  llvm::SmallVectorImpl<doc::Reference> &Namespaces,
-                  StringRef Name, StringRef Ext) {
+getPath(StringRef Root, StringRef Ext, StringRef Name,
+        llvm::SmallVectorImpl<doc::Reference> &Namespaces) {
   std::error_code OK;
   llvm::SmallString<128> Path;
   llvm::sys::path::native(Root, Path);
@@ -149,8 +134,6 @@ getInfoOutputFile(StringRef Root,
     return llvm::make_error<llvm::StringError>("Unable to create directory.\n",
                                                llvm::inconvertibleErrorCode());
 
-  if (Name.empty())
-    Name = "GlobalNamespace";
   llvm::sys::path::append(Path, Name + Ext);
   return Path;
 }
@@ -163,30 +146,6 @@ std::string getFormatString(OutputFormat
   llvm_unreachable("Unknown OutputFormatTy");
 }
 
-// Iterate through tool results and build string map of info vectors from the
-// encoded bitstreams.
-bool bitcodeResultsToInfos(
-    tooling::ToolResults &Results,
-    llvm::StringMap<std::vector<std::unique_ptr<doc::Info>>> &Output) {
-  bool Err = false;
-  Results.forEachResult([&](StringRef Key, StringRef Value) {
-    llvm::BitstreamCursor Stream(Value);
-    doc::ClangDocBitcodeReader Reader(Stream);
-    auto Infos = Reader.readBitcode();
-    if (!Infos) {
-      llvm::errs() << toString(Infos.takeError()) << "\n";
-      Err = true;
-      return;
-    }
-    for (auto &I : Infos.get()) {
-      auto R =
-          Output.try_emplace(Key, std::vector<std::unique_ptr<doc::Info>>());
-      R.first->second.emplace_back(std::move(I));
-    }
-  });
-  return Err;
-}
-
 int main(int argc, const char **argv) {
   llvm::sys::PrintStackTraceOnErrorSignal(argv[0]);
   std::error_code OK;
@@ -237,21 +196,30 @@ int main(int argc, const char **argv) {
   }
 
   // Collect values into output by key.
+  llvm::outs() << "Collecting infos...\n";
+  llvm::StringMap<std::vector<std::unique_ptr<doc::Info>>> MapOutput;
+
   // In ToolResults, the Key is the hashed USR and the value is the
   // bitcode-encoded representation of the Info object.
-  llvm::outs() << "Collecting infos...\n";
-  llvm::StringMap<std::vector<std::unique_ptr<doc::Info>>> USRToInfos;
-  if (bitcodeResultsToInfos(*Exec->get()->getToolResults(), USRToInfos))
-    return 1;
+  Exec->get()->getToolResults()->forEachResult([&](StringRef Key,
+                                                   StringRef Value) {
+    llvm::BitstreamCursor Stream(Value);
+    doc::ClangDocBitcodeReader Reader(Stream);
+    auto Infos = Reader.readBitcode();
+    for (auto &I : Infos) {
+      auto R =
+          MapOutput.try_emplace(Key, std::vector<std::unique_ptr<doc::Info>>());
+      R.first->second.emplace_back(std::move(I));
+    }
+  });
 
-  // First reducing phase (reduce all decls into one info per decl).
-  llvm::outs() << "Reducing " << USRToInfos.size() << " infos...\n";
-  for (auto &Group : USRToInfos) {
+  // Reducing and generation phases
+  llvm::outs() << "Reducing " << MapOutput.size() << " infos...\n";
+  llvm::StringMap<std::unique_ptr<doc::Info>> ReduceOutput;
+  for (auto &Group : MapOutput) {
     auto Reduced = doc::mergeInfos(Group.getValue());
-    if (!Reduced) {
+    if (!Reduced)
       llvm::errs() << llvm::toString(Reduced.takeError());
-      continue;
-    }
 
     if (DumpIntermediateResult) {
       SmallString<4096> Buffer;
@@ -262,10 +230,10 @@ int main(int argc, const char **argv) {
         llvm::errs() << "Error dumping to bitcode.\n";
       continue;
     }
-    doc::Info *I = Reduced.get().get();
 
-    auto InfoPath =
-        getInfoOutputFile(OutDirectory, I->Namespace, I->Name, "." + Format);
+    // Create the relevant ostream and emit the documentation for this decl.
+    doc::Info *I = Reduced.get().get();
+    auto InfoPath = getPath(OutDirectory, "." + Format, I->Name, I->Namespace);
     if (!InfoPath) {
       llvm::errs() << toString(InfoPath.takeError()) << "\n";
       continue;
@@ -273,7 +241,7 @@ int main(int argc, const char **argv) {
     std::error_code FileErr;
     llvm::raw_fd_ostream InfoOS(InfoPath.get(), FileErr, llvm::sys::fs::F_None);
     if (FileErr != OK) {
-      llvm::errs() << "Error opening info file: " << FileErr.message() << "\n";
+      llvm::errs() << "Error opening index file: " << FileErr.message() << "\n";
       continue;
     }
 

Modified: clang-tools-extra/trunk/test/clang-doc/bc-comment.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/bc-comment.cpp?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/bc-comment.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/bc-comment.cpp Thu Aug  2 11:01:37 2018
@@ -27,178 +27,176 @@ void F(int I, int J);
 /// Bonus comment on definition
 void F(int I, int J) {}
 
-// RUN: clang-doc --dump-intermediate --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
+// RUN: clang-doc --dump-intermediate --doxygen -p %t %t/test.cpp -output=%t/docs
 
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-0
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/7574630614A535710E5A6ABCFFF98BCA2D06A4CA.bc | FileCheck %s --check-prefix CHECK-0
 // CHECK-0: <BLOCKINFO_BLOCK/>
 // CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-0-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-0-NEXT: </VersionBlock>
-// CHECK-0-NEXT: <NamespaceBlock NumWords=432 BlockCodeSize=4>
-// CHECK-0-NEXT:   <FunctionBlock NumWords=429 BlockCodeSize=4>
-// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'F'
-// CHECK-0-NEXT:     <CommentBlock NumWords=354 BlockCodeSize=4>
-// CHECK-0-NEXT:       <Kind abbrevid=4 op0=11/> blob data = 'FullComment'
-// CHECK-0-NEXT:       <CommentBlock NumWords=13 BlockCodeSize=4>
+// CHECK-0-NEXT: <FunctionBlock NumWords=429 BlockCodeSize=4>
+// CHECK-0-NEXT:   <USR abbrevid=4 op0=20 op1=117 op2=116 op3=99 op4=6 op5=20 op6=165 op7=53 op8=113 op9=14 op10=90 op11=106 op12=188 op13=255 op14=249 op15=139 op16=202 op17=45 op18=6 op19=164 op20=202/>
+// CHECK-0-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'F'
+// CHECK-0-NEXT:   <CommentBlock NumWords=354 BlockCodeSize=4>
+// CHECK-0-NEXT:     <Kind abbrevid=4 op0=11/> blob data = 'FullComment'
+// CHECK-0-NEXT:     <CommentBlock NumWords=13 BlockCodeSize=4>
+// CHECK-0-NEXT:       <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
+// CHECK-0-NEXT:       <CommentBlock NumWords=5 BlockCodeSize=4>
+// CHECK-0-NEXT:         <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
+// CHECK-0-NEXT:       </CommentBlock>
+// CHECK-0-NEXT:     </CommentBlock>
+// CHECK-0-NEXT:     <CommentBlock NumWords=31 BlockCodeSize=4>
+// CHECK-0-NEXT:       <Kind abbrevid=4 op0=19/> blob data = 'BlockCommandComment'
+// CHECK-0-NEXT:       <Name abbrevid=6 op0=5/> blob data = 'brief'
+// CHECK-0-NEXT:       <CommentBlock NumWords=19 BlockCodeSize=4>
 // CHECK-0-NEXT:         <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
-// CHECK-0-NEXT:         <CommentBlock NumWords=5 BlockCodeSize=4>
+// CHECK-0-NEXT:         <CommentBlock NumWords=11 BlockCodeSize=4>
 // CHECK-0-NEXT:           <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
+// CHECK-0-NEXT:           <Text abbrevid=5 op0=19/> blob data = ' Brief description.'
 // CHECK-0-NEXT:         </CommentBlock>
 // CHECK-0-NEXT:       </CommentBlock>
-// CHECK-0-NEXT:       <CommentBlock NumWords=31 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Kind abbrevid=4 op0=19/> blob data = 'BlockCommandComment'
-// CHECK-0-NEXT:         <Name abbrevid=6 op0=5/> blob data = 'brief'
-// CHECK-0-NEXT:         <CommentBlock NumWords=19 BlockCodeSize=4>
-// CHECK-0-NEXT:           <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
-// CHECK-0-NEXT:           <CommentBlock NumWords=11 BlockCodeSize=4>
-// CHECK-0-NEXT:             <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
-// CHECK-0-NEXT:             <Text abbrevid=5 op0=19/> blob data = ' Brief description.'
-// CHECK-0-NEXT:           </CommentBlock>
-// CHECK-0-NEXT:         </CommentBlock>
+// CHECK-0-NEXT:     </CommentBlock>
+// CHECK-0-NEXT:     <CommentBlock NumWords=37 BlockCodeSize=4>
+// CHECK-0-NEXT:       <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
+// CHECK-0-NEXT:       <CommentBlock NumWords=13 BlockCodeSize=4>
+// CHECK-0-NEXT:         <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
+// CHECK-0-NEXT:         <Text abbrevid=5 op0=26/> blob data = ' Extended description that'
 // CHECK-0-NEXT:       </CommentBlock>
-// CHECK-0-NEXT:       <CommentBlock NumWords=37 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
-// CHECK-0-NEXT:         <CommentBlock NumWords=13 BlockCodeSize=4>
-// CHECK-0-NEXT:           <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
-// CHECK-0-NEXT:           <Text abbrevid=5 op0=26/> blob data = ' Extended description that'
-// CHECK-0-NEXT:         </CommentBlock>
-// CHECK-0-NEXT:         <CommentBlock NumWords=14 BlockCodeSize=4>
-// CHECK-0-NEXT:           <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
-// CHECK-0-NEXT:           <Text abbrevid=5 op0=30/> blob data = ' continues onto the next line.'
-// CHECK-0-NEXT:         </CommentBlock>
+// CHECK-0-NEXT:       <CommentBlock NumWords=14 BlockCodeSize=4>
+// CHECK-0-NEXT:         <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
+// CHECK-0-NEXT:         <Text abbrevid=5 op0=30/> blob data = ' continues onto the next line.'
 // CHECK-0-NEXT:       </CommentBlock>
-// CHECK-0-NEXT:       <CommentBlock NumWords=76 BlockCodeSize=4>
+// CHECK-0-NEXT:     </CommentBlock>
+// CHECK-0-NEXT:     <CommentBlock NumWords=76 BlockCodeSize=4>
+// CHECK-0-NEXT:       <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
+// CHECK-0-NEXT:       <CommentBlock NumWords=5 BlockCodeSize=4>
+// CHECK-0-NEXT:         <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
+// CHECK-0-NEXT:       </CommentBlock>
+// CHECK-0-NEXT:       <CommentBlock NumWords=14 BlockCodeSize=4>
+// CHECK-0-NEXT:         <Kind abbrevid=4 op0=19/> blob data = 'HTMLStartTagComment'
+// CHECK-0-NEXT:         <Name abbrevid=6 op0=2/> blob data = 'ul'
+// CHECK-0-NEXT:         <AttrKey abbrevid=12 op0=5/> blob data = 'class'
+// CHECK-0-NEXT:         <AttrVal abbrevid=13 op0=4/> blob data = '{{.*}}'
+// CHECK-0-NEXT:       </CommentBlock>
+// CHECK-0-NEXT:       <CommentBlock NumWords=5 BlockCodeSize=4>
+// CHECK-0-NEXT:         <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
+// CHECK-0-NEXT:       </CommentBlock>
+// CHECK-0-NEXT:       <CommentBlock NumWords=9 BlockCodeSize=4>
+// CHECK-0-NEXT:         <Kind abbrevid=4 op0=19/> blob data = 'HTMLStartTagComment'
+// CHECK-0-NEXT:         <Name abbrevid=6 op0=2/> blob data = 'li'
+// CHECK-0-NEXT:       </CommentBlock>
+// CHECK-0-NEXT:       <CommentBlock NumWords=9 BlockCodeSize=4>
+// CHECK-0-NEXT:         <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
+// CHECK-0-NEXT:         <Text abbrevid=5 op0=9/> blob data = ' Testing.'
+// CHECK-0-NEXT:       </CommentBlock>
+// CHECK-0-NEXT:       <CommentBlock NumWords=5 BlockCodeSize=4>
+// CHECK-0-NEXT:         <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
+// CHECK-0-NEXT:       </CommentBlock>
+// CHECK-0-NEXT:       <CommentBlock NumWords=9 BlockCodeSize=4>
+// CHECK-0-NEXT:         <Kind abbrevid=4 op0=17/> blob data = 'HTMLEndTagComment'
+// CHECK-0-NEXT:         <Name abbrevid=6 op0=2/> blob data = 'ul'
+// CHECK-0-NEXT:         <SelfClosing abbrevid=10 op0=1/>
+// CHECK-0-NEXT:       </CommentBlock>
+// CHECK-0-NEXT:     </CommentBlock>
+// CHECK-0-NEXT:     <CommentBlock NumWords=13 BlockCodeSize=4>
+// CHECK-0-NEXT:       <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
+// CHECK-0-NEXT:       <CommentBlock NumWords=5 BlockCodeSize=4>
+// CHECK-0-NEXT:         <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
+// CHECK-0-NEXT:       </CommentBlock>
+// CHECK-0-NEXT:     </CommentBlock>
+// CHECK-0-NEXT:     <CommentBlock NumWords=32 BlockCodeSize=4>
+// CHECK-0-NEXT:       <Kind abbrevid=4 op0=20/> blob data = 'VerbatimBlockComment'
+// CHECK-0-NEXT:       <Name abbrevid=6 op0=8/> blob data = 'verbatim'
+// CHECK-0-NEXT:       <CloseName abbrevid=9 op0=11/> blob data = 'endverbatim'
+// CHECK-0-NEXT:       <CommentBlock NumWords=16 BlockCodeSize=4>
+// CHECK-0-NEXT:         <Kind abbrevid=4 op0=24/> blob data = 'VerbatimBlockLineComment'
+// CHECK-0-NEXT:         <Text abbrevid=5 op0=27/> blob data = ' The description continues.'
+// CHECK-0-NEXT:       </CommentBlock>
+// CHECK-0-NEXT:     </CommentBlock>
+// CHECK-0-NEXT:     <CommentBlock NumWords=22 BlockCodeSize=4>
+// CHECK-0-NEXT:       <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
+// CHECK-0-NEXT:       <CommentBlock NumWords=7 BlockCodeSize=4>
+// CHECK-0-NEXT:         <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
+// CHECK-0-NEXT:         <Text abbrevid=5 op0=3/> blob data = ' --'
+// CHECK-0-NEXT:       </CommentBlock>
+// CHECK-0-NEXT:       <CommentBlock NumWords=5 BlockCodeSize=4>
+// CHECK-0-NEXT:         <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
+// CHECK-0-NEXT:       </CommentBlock>
+// CHECK-0-NEXT:     </CommentBlock>
+// CHECK-0-NEXT:     <CommentBlock NumWords=39 BlockCodeSize=4>
+// CHECK-0-NEXT:       <Kind abbrevid=4 op0=19/> blob data = 'ParamCommandComment'
+// CHECK-0-NEXT:       <Direction abbrevid=7 op0=5/> blob data = '[out]'
+// CHECK-0-NEXT:       <ParamName abbrevid=8 op0=1/> blob data = 'I'
+// CHECK-0-NEXT:       <Explicit abbrevid=11 op0=1/>
+// CHECK-0-NEXT:       <CommentBlock NumWords=25 BlockCodeSize=4>
 // CHECK-0-NEXT:         <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
-// CHECK-0-NEXT:         <CommentBlock NumWords=5 BlockCodeSize=4>
+// CHECK-0-NEXT:         <CommentBlock NumWords=10 BlockCodeSize=4>
 // CHECK-0-NEXT:           <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
+// CHECK-0-NEXT:           <Text abbrevid=5 op0=16/> blob data = ' is a parameter.'
 // CHECK-0-NEXT:         </CommentBlock>
-// CHECK-0-NEXT:         <CommentBlock NumWords=14 BlockCodeSize=4>
-// CHECK-0-NEXT:           <Kind abbrevid=4 op0=19/> blob data = 'HTMLStartTagComment'
-// CHECK-0-NEXT:           <Name abbrevid=6 op0=2/> blob data = 'ul'
-// CHECK-0-NEXT:           <AttrKey abbrevid=12 op0=5/> blob data = 'class'
-// CHECK-0-NEXT:           <AttrVal abbrevid=13 op0=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:         </CommentBlock>
-// CHECK-0-NEXT:         <CommentBlock NumWords=5 BlockCodeSize=4>
-// CHECK-0-NEXT:           <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
-// CHECK-0-NEXT:         </CommentBlock>
-// CHECK-0-NEXT:         <CommentBlock NumWords=9 BlockCodeSize=4>
-// CHECK-0-NEXT:           <Kind abbrevid=4 op0=19/> blob data = 'HTMLStartTagComment'
-// CHECK-0-NEXT:           <Name abbrevid=6 op0=2/> blob data = 'li'
-// CHECK-0-NEXT:         </CommentBlock>
-// CHECK-0-NEXT:         <CommentBlock NumWords=9 BlockCodeSize=4>
-// CHECK-0-NEXT:           <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
-// CHECK-0-NEXT:           <Text abbrevid=5 op0=9/> blob data = ' Testing.'
-// CHECK-0-NEXT:         </CommentBlock>
-// CHECK-0-NEXT:         <CommentBlock NumWords=5 BlockCodeSize=4>
-// CHECK-0-NEXT:           <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
-// CHECK-0-NEXT:         </CommentBlock>
-// CHECK-0-NEXT:         <CommentBlock NumWords=9 BlockCodeSize=4>
-// CHECK-0-NEXT:           <Kind abbrevid=4 op0=17/> blob data = 'HTMLEndTagComment'
-// CHECK-0-NEXT:           <Name abbrevid=6 op0=2/> blob data = 'ul'
-// CHECK-0-NEXT:           <SelfClosing abbrevid=10 op0=1/>
-// CHECK-0-NEXT:         </CommentBlock>
-// CHECK-0-NEXT:       </CommentBlock>
-// CHECK-0-NEXT:       <CommentBlock NumWords=13 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
 // CHECK-0-NEXT:         <CommentBlock NumWords=5 BlockCodeSize=4>
 // CHECK-0-NEXT:           <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
 // CHECK-0-NEXT:         </CommentBlock>
 // CHECK-0-NEXT:       </CommentBlock>
-// CHECK-0-NEXT:       <CommentBlock NumWords=32 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Kind abbrevid=4 op0=20/> blob data = 'VerbatimBlockComment'
-// CHECK-0-NEXT:         <Name abbrevid=6 op0=8/> blob data = 'verbatim'
-// CHECK-0-NEXT:         <CloseName abbrevid=9 op0=11/> blob data = 'endverbatim'
-// CHECK-0-NEXT:         <CommentBlock NumWords=16 BlockCodeSize=4>
-// CHECK-0-NEXT:           <Kind abbrevid=4 op0=24/> blob data = 'VerbatimBlockLineComment'
-// CHECK-0-NEXT:           <Text abbrevid=5 op0=27/> blob data = ' The description continues.'
-// CHECK-0-NEXT:         </CommentBlock>
-// CHECK-0-NEXT:       </CommentBlock>
-// CHECK-0-NEXT:       <CommentBlock NumWords=22 BlockCodeSize=4>
+// CHECK-0-NEXT:     </CommentBlock>
+// CHECK-0-NEXT:     <CommentBlock NumWords=38 BlockCodeSize=4>
+// CHECK-0-NEXT:       <Kind abbrevid=4 op0=19/> blob data = 'ParamCommandComment'
+// CHECK-0-NEXT:       <Direction abbrevid=7 op0=4/> blob data = '[in]'
+// CHECK-0-NEXT:       <ParamName abbrevid=8 op0=1/> blob data = 'J'
+// CHECK-0-NEXT:       <CommentBlock NumWords=25 BlockCodeSize=4>
 // CHECK-0-NEXT:         <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
-// CHECK-0-NEXT:         <CommentBlock NumWords=7 BlockCodeSize=4>
+// CHECK-0-NEXT:         <CommentBlock NumWords=10 BlockCodeSize=4>
 // CHECK-0-NEXT:           <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
-// CHECK-0-NEXT:           <Text abbrevid=5 op0=3/> blob data = ' --'
+// CHECK-0-NEXT:           <Text abbrevid=5 op0=16/> blob data = ' is a parameter.'
 // CHECK-0-NEXT:         </CommentBlock>
 // CHECK-0-NEXT:         <CommentBlock NumWords=5 BlockCodeSize=4>
 // CHECK-0-NEXT:           <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
 // CHECK-0-NEXT:         </CommentBlock>
 // CHECK-0-NEXT:       </CommentBlock>
-// CHECK-0-NEXT:       <CommentBlock NumWords=39 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Kind abbrevid=4 op0=19/> blob data = 'ParamCommandComment'
-// CHECK-0-NEXT:         <Direction abbrevid=7 op0=5/> blob data = '[out]'
-// CHECK-0-NEXT:         <ParamName abbrevid=8 op0=1/> blob data = 'I'
-// CHECK-0-NEXT:         <Explicit abbrevid=11 op0=1/>
-// CHECK-0-NEXT:         <CommentBlock NumWords=25 BlockCodeSize=4>
-// CHECK-0-NEXT:           <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
-// CHECK-0-NEXT:           <CommentBlock NumWords=10 BlockCodeSize=4>
-// CHECK-0-NEXT:             <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
-// CHECK-0-NEXT:             <Text abbrevid=5 op0=16/> blob data = ' is a parameter.'
-// CHECK-0-NEXT:           </CommentBlock>
-// CHECK-0-NEXT:           <CommentBlock NumWords=5 BlockCodeSize=4>
-// CHECK-0-NEXT:             <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
-// CHECK-0-NEXT:           </CommentBlock>
-// CHECK-0-NEXT:         </CommentBlock>
-// CHECK-0-NEXT:       </CommentBlock>
-// CHECK-0-NEXT:       <CommentBlock NumWords=38 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Kind abbrevid=4 op0=19/> blob data = 'ParamCommandComment'
-// CHECK-0-NEXT:         <Direction abbrevid=7 op0=4/> blob data = '[in]'
-// CHECK-0-NEXT:         <ParamName abbrevid=8 op0=1/> blob data = 'J'
-// CHECK-0-NEXT:         <CommentBlock NumWords=25 BlockCodeSize=4>
-// CHECK-0-NEXT:           <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
-// CHECK-0-NEXT:           <CommentBlock NumWords=10 BlockCodeSize=4>
-// CHECK-0-NEXT:             <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
-// CHECK-0-NEXT:             <Text abbrevid=5 op0=16/> blob data = ' is a parameter.'
-// CHECK-0-NEXT:           </CommentBlock>
-// CHECK-0-NEXT:           <CommentBlock NumWords=5 BlockCodeSize=4>
-// CHECK-0-NEXT:             <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
-// CHECK-0-NEXT:           </CommentBlock>
-// CHECK-0-NEXT:         </CommentBlock>
-// CHECK-0-NEXT:       </CommentBlock>
-// CHECK-0-NEXT:       <CommentBlock NumWords=28 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Kind abbrevid=4 op0=19/> blob data = 'BlockCommandComment'
-// CHECK-0-NEXT:         <Name abbrevid=6 op0=6/> blob data = 'return'
-// CHECK-0-NEXT:         <CommentBlock NumWords=16 BlockCodeSize=4>
-// CHECK-0-NEXT:           <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
-// CHECK-0-NEXT:           <CommentBlock NumWords=8 BlockCodeSize=4>
-// CHECK-0-NEXT:             <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
-// CHECK-0-NEXT:             <Text abbrevid=5 op0=5/> blob data = ' void'
-// CHECK-0-NEXT:           </CommentBlock>
-// CHECK-0-NEXT:         </CommentBlock>
-// CHECK-0-NEXT:       </CommentBlock>
 // CHECK-0-NEXT:     </CommentBlock>
 // CHECK-0-NEXT:     <CommentBlock NumWords=28 BlockCodeSize=4>
-// CHECK-0-NEXT:       <Kind abbrevid=4 op0=11/> blob data = 'FullComment'
-// CHECK-0-NEXT:       <CommentBlock NumWords=21 BlockCodeSize=4>
+// CHECK-0-NEXT:       <Kind abbrevid=4 op0=19/> blob data = 'BlockCommandComment'
+// CHECK-0-NEXT:       <Name abbrevid=6 op0=6/> blob data = 'return'
+// CHECK-0-NEXT:       <CommentBlock NumWords=16 BlockCodeSize=4>
 // CHECK-0-NEXT:         <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
-// CHECK-0-NEXT:         <CommentBlock NumWords=13 BlockCodeSize=4>
+// CHECK-0-NEXT:         <CommentBlock NumWords=8 BlockCodeSize=4>
 // CHECK-0-NEXT:           <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
-// CHECK-0-NEXT:           <Text abbrevid=5 op0=28/> blob data = ' Bonus comment on definition'
+// CHECK-0-NEXT:           <Text abbrevid=5 op0=5/> blob data = ' void'
 // CHECK-0-NEXT:         </CommentBlock>
 // CHECK-0-NEXT:       </CommentBlock>
 // CHECK-0-NEXT:     </CommentBlock>
-// CHECK-0-NEXT:     <DefLocation abbrevid=6 op0=28 op1=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:     <Location abbrevid=7 op0=25 op1=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:     </TypeBlock>
-// CHECK-0-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'I'
-// CHECK-0-NEXT:     </FieldTypeBlock>
-// CHECK-0-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'J'
-// CHECK-0-NEXT:     </FieldTypeBlock>
-// CHECK-0-NEXT:   </FunctionBlock>
-// CHECK-0-NEXT: </NamespaceBlock>
+// CHECK-0-NEXT:   </CommentBlock>
+// CHECK-0-NEXT:   <CommentBlock NumWords=28 BlockCodeSize=4>
+// CHECK-0-NEXT:     <Kind abbrevid=4 op0=11/> blob data = 'FullComment'
+// CHECK-0-NEXT:     <CommentBlock NumWords=21 BlockCodeSize=4>
+// CHECK-0-NEXT:       <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
+// CHECK-0-NEXT:       <CommentBlock NumWords=13 BlockCodeSize=4>
+// CHECK-0-NEXT:         <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
+// CHECK-0-NEXT:         <Text abbrevid=5 op0=28/> blob data = ' Bonus comment on definition'
+// CHECK-0-NEXT:       </CommentBlock>
+// CHECK-0-NEXT:     </CommentBlock>
+// CHECK-0-NEXT:   </CommentBlock>
+// CHECK-0-NEXT:   <DefLocation abbrevid=6 op0=28 op1=4/> blob data = '{{.*}}'
+// CHECK-0-NEXT:   <Location abbrevid=7 op0=25 op1=4/> blob data = '{{.*}}'
+// CHECK-0-NEXT:   <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-0-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-0-NEXT:       <Name abbrevid=5 op0=4/> blob data = 'void'
+// CHECK-0-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-0-NEXT:     </ReferenceBlock>
+// CHECK-0-NEXT:   </TypeBlock>
+// CHECK-0-NEXT:   <FieldTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-0-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-0-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-0-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-0-NEXT:     </ReferenceBlock>
+// CHECK-0-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'I'
+// CHECK-0-NEXT:   </FieldTypeBlock>
+// CHECK-0-NEXT:   <FieldTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-0-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-0-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-0-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-0-NEXT:     </ReferenceBlock>
+// CHECK-0-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'J'
+// CHECK-0-NEXT:   </FieldTypeBlock>
+// CHECK-0-NEXT: </FunctionBlock>

Removed: clang-tools-extra/trunk/test/clang-doc/bc-linkage.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/bc-linkage.cpp?rev=338747&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/bc-linkage.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/bc-linkage.cpp (removed)
@@ -1,844 +0,0 @@
-// THIS IS A GENERATED TEST. DO NOT EDIT.
-// To regenerate, see clang-doc/gen_test.py docstring.
-//
-// REQUIRES: system-linux
-// RUN: rm -rf %t
-// RUN: mkdir %t
-// RUN: echo "" > %t/compile_flags.txt
-// RUN: cp "%s" "%t/test.cpp"
-
-void function(int x);
-
-inline int inlinedFunction(int x);
-
-int functionWithInnerClass(int x) {
-  class InnerClass { //NoLinkage
-  public:
-    int innerPublicMethod() { return 2; };
-  }; //end class
-  InnerClass temp;
-  return temp.innerPublicMethod();
-};
-
-inline int inlinedFunctionWithInnerClass(int x) {
-  class InnerClass { //VisibleNoLinkage
-  public:
-    int innerPublicMethod() { return 2; };
-  }; //end class
-  InnerClass temp;
-  return temp.innerPublicMethod();
-};
-
-class Class {
-public:
-  void publicMethod();
-  int publicField;
-
-protected:
-  void protectedMethod();
-  int protectedField;
-
-private:
-  void privateMethod();
-  int privateField;
-};
-
-namespace named {
-class NamedClass {
-public:
-  void namedPublicMethod();
-  int namedPublicField;
-
-protected:
-  void namedProtectedMethod();
-  int namedProtectedField;
-
-private:
-  void namedPrivateMethod();
-  int namedPrivateField;
-};
-
-void namedFunction();
-static void namedStaticFunction();
-inline void namedInlineFunction();
-} // namespace named
-
-static void staticFunction(int x); //Internal Linkage
-
-static int staticFunctionWithInnerClass(int x) {
-  class InnerClass { //NoLinkage
-  public:
-    int innerPublicMethod() { return 2; };
-  }; //end class
-  InnerClass temp;
-  return temp.innerPublicMethod();
-};
-
-namespace {
-class AnonClass {
-public:
-  void anonPublicMethod();
-  int anonPublicField;
-
-protected:
-  void anonProtectedMethod();
-  int anonProtectedField;
-
-private:
-  void anonPrivateMethod();
-  int anonPrivateField;
-};
-
-void anonFunction();
-static void anonStaticFunction();
-inline void anonInlineFunction();
-} // namespace
-
-// RUN: clang-doc --dump-intermediate --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
-
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/C9B3B71ACDD84C5BB320D34E97677715CDB3EA32.bc | FileCheck %s --check-prefix CHECK-0
-// CHECK-0: <BLOCKINFO_BLOCK/>
-// CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-0-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-0-NEXT: </VersionBlock>
-// CHECK-0-NEXT: <RecordBlock NumWords=107 BlockCodeSize=4>
-// CHECK-0-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:   <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-0-NEXT:   <ReferenceBlock NumWords=17 BlockCodeSize=4>
-// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:     <Name abbrevid=5 op0=29/> blob data = 'inlinedFunctionWithInnerClass'
-// CHECK-0-NEXT:     <RefType abbrevid=6 op0=3/>
-// CHECK-0-NEXT:     <Field abbrevid=7 op0=1/>
-// CHECK-0-NEXT:   </ReferenceBlock>
-// CHECK-0-NEXT:   <DefLocation abbrevid=6 op0=24 op1=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-0-NEXT:   <FunctionBlock NumWords=71 BlockCodeSize=4>
-// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'innerPublicMethod'
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-0-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-0-NEXT:     </ReferenceBlock>
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=17 BlockCodeSize=4>
-// CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=29/> blob data = 'inlinedFunctionWithInnerClass'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=3/>
-// CHECK-0-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-0-NEXT:     </ReferenceBlock>
-// CHECK-0-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-0-NEXT:     <DefLocation abbrevid=6 op0=26 op1=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-0-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-0-NEXT:     </ReferenceBlock>
-// CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:     </TypeBlock>
-// CHECK-0-NEXT:   </FunctionBlock>
-// CHECK-0-NEXT: </RecordBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/8960B5C9247D6F5C532756E53A1AD1240FA2146F.bc | FileCheck %s --check-prefix CHECK-1
-// CHECK-1: <BLOCKINFO_BLOCK/>
-// CHECK-1-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-1-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-1-NEXT: </VersionBlock>
-// CHECK-1-NEXT: <NamespaceBlock NumWords=126 BlockCodeSize=4>
-// CHECK-1-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:   <Name abbrevid=5 op0=5/> blob data = 'named'
-// CHECK-1-NEXT:   <FunctionBlock NumWords=36 BlockCodeSize=4>
-// CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:     <Name abbrevid=5 op0=13/> blob data = 'namedFunction'
-// CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
-// CHECK-1-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-1-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-1-NEXT:     </ReferenceBlock>
-// CHECK-1-NEXT:     <Location abbrevid=7 op0=61 op1=4/> blob data = '{{.*}}'
-// CHECK-1-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-1-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-1-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-1-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-1-NEXT:       </ReferenceBlock>
-// CHECK-1-NEXT:     </TypeBlock>
-// CHECK-1-NEXT:   </FunctionBlock>
-// CHECK-1-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4>
-// CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:     <Name abbrevid=5 op0=19/> blob data = 'namedStaticFunction'
-// CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
-// CHECK-1-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-1-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-1-NEXT:     </ReferenceBlock>
-// CHECK-1-NEXT:     <Location abbrevid=7 op0=62 op1=4/> blob data = '{{.*}}'
-// CHECK-1-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-1-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-1-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-1-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-1-NEXT:       </ReferenceBlock>
-// CHECK-1-NEXT:     </TypeBlock>
-// CHECK-1-NEXT:   </FunctionBlock>
-// CHECK-1-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4>
-// CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:     <Name abbrevid=5 op0=19/> blob data = 'namedInlineFunction'
-// CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
-// CHECK-1-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-1-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-1-NEXT:     </ReferenceBlock>
-// CHECK-1-NEXT:     <Location abbrevid=7 op0=63 op1=4/> blob data = '{{.*}}'
-// CHECK-1-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-1-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-1-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-1-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-1-NEXT:       </ReferenceBlock>
-// CHECK-1-NEXT:     </TypeBlock>
-// CHECK-1-NEXT:   </FunctionBlock>
-// CHECK-1-NEXT: </NamespaceBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/74A031CBE68C101F3E83F60ED17F20C11EC19D48.bc | FileCheck %s --check-prefix CHECK-2
-// CHECK-2: <BLOCKINFO_BLOCK/>
-// CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-2-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-2-NEXT: </VersionBlock>
-// CHECK-2-NEXT: <RecordBlock NumWords=105 BlockCodeSize=4>
-// CHECK-2-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:   <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-2-NEXT:   <ReferenceBlock NumWords=16 BlockCodeSize=4>
-// CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:     <Name abbrevid=5 op0=28/> blob data = 'staticFunctionWithInnerClass'
-// CHECK-2-NEXT:     <RefType abbrevid=6 op0=3/>
-// CHECK-2-NEXT:     <Field abbrevid=7 op0=1/>
-// CHECK-2-NEXT:   </ReferenceBlock>
-// CHECK-2-NEXT:   <DefLocation abbrevid=6 op0=69 op1=4/> blob data = '{{.*}}'
-// CHECK-2-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-2-NEXT:   <FunctionBlock NumWords=70 BlockCodeSize=4>
-// CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'innerPublicMethod'
-// CHECK-2-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-2-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-2-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-2-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-2-NEXT:     </ReferenceBlock>
-// CHECK-2-NEXT:     <ReferenceBlock NumWords=16 BlockCodeSize=4>
-// CHECK-2-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:       <Name abbrevid=5 op0=28/> blob data = 'staticFunctionWithInnerClass'
-// CHECK-2-NEXT:       <RefType abbrevid=6 op0=3/>
-// CHECK-2-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-2-NEXT:     </ReferenceBlock>
-// CHECK-2-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-2-NEXT:     <DefLocation abbrevid=6 op0=71 op1=4/> blob data = '{{.*}}'
-// CHECK-2-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-2-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-2-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-2-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-2-NEXT:     </ReferenceBlock>
-// CHECK-2-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-2-NEXT:       </ReferenceBlock>
-// CHECK-2-NEXT:     </TypeBlock>
-// CHECK-2-NEXT:   </FunctionBlock>
-// CHECK-2-NEXT: </RecordBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/7CDD73DCD6CD72F7E5CE25502810A182C66C4B45.bc | FileCheck %s --check-prefix CHECK-3
-// CHECK-3: <BLOCKINFO_BLOCK/>
-// CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-3-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-3-NEXT: </VersionBlock>
-// CHECK-3-NEXT: <RecordBlock NumWords=203 BlockCodeSize=4>
-// CHECK-3-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:   <Name abbrevid=5 op0=5/> blob data = 'Class'
-// CHECK-3-NEXT:   <DefLocation abbrevid=6 op0=32 op1=4/> blob data = '{{.*}}'
-// CHECK-3-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-3-NEXT:   <MemberTypeBlock NumWords=10 BlockCodeSize=4>
-// CHECK-3-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-3-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <Name abbrevid=4 op0=11/> blob data = 'publicField'
-// CHECK-3-NEXT:     <Access abbrevid=5 op0=3/>
-// CHECK-3-NEXT:   </MemberTypeBlock>
-// CHECK-3-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4>
-// CHECK-3-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-3-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <Name abbrevid=4 op0=14/> blob data = 'protectedField'
-// CHECK-3-NEXT:     <Access abbrevid=5 op0=1/>
-// CHECK-3-NEXT:   </MemberTypeBlock>
-// CHECK-3-NEXT:   <MemberTypeBlock NumWords=10 BlockCodeSize=4>
-// CHECK-3-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-3-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <Name abbrevid=4 op0=12/> blob data = 'privateField'
-// CHECK-3-NEXT:     <Access abbrevid=5 op0=2/>
-// CHECK-3-NEXT:   </MemberTypeBlock>
-// CHECK-3-NEXT:   <FunctionBlock NumWords=48 BlockCodeSize=4>
-// CHECK-3-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:     <Name abbrevid=5 op0=12/> blob data = 'publicMethod'
-// CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
-// CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-3-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-3-NEXT:     <Location abbrevid=7 op0=34 op1=4/> blob data = '{{.*}}'
-// CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
-// CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-3-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-3-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-3-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-3-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-3-NEXT:       </ReferenceBlock>
-// CHECK-3-NEXT:     </TypeBlock>
-// CHECK-3-NEXT:   </FunctionBlock>
-// CHECK-3-NEXT:   <FunctionBlock NumWords=49 BlockCodeSize=4>
-// CHECK-3-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:     <Name abbrevid=5 op0=15/> blob data = 'protectedMethod'
-// CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
-// CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-3-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-3-NEXT:     <Location abbrevid=7 op0=38 op1=4/> blob data = '{{.*}}'
-// CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
-// CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-3-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-3-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-3-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-3-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-3-NEXT:       </ReferenceBlock>
-// CHECK-3-NEXT:     </TypeBlock>
-// CHECK-3-NEXT:   </FunctionBlock>
-// CHECK-3-NEXT:   <FunctionBlock NumWords=49 BlockCodeSize=4>
-// CHECK-3-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:     <Name abbrevid=5 op0=13/> blob data = 'privateMethod'
-// CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
-// CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-3-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-3-NEXT:     <Location abbrevid=7 op0=42 op1=4/> blob data = '{{.*}}'
-// CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
-// CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-3-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-3-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-3-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-3-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-3-NEXT:       </ReferenceBlock>
-// CHECK-3-NEXT:     </TypeBlock>
-// CHECK-3-NEXT:   </FunctionBlock>
-// CHECK-3-NEXT: </RecordBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/85427901413EC77C961019EBB3ADEF7B0BAAFE78.bc | FileCheck %s --check-prefix CHECK-4
-// CHECK-4: <BLOCKINFO_BLOCK/>
-// CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-4-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-4-NEXT: </VersionBlock>
-// CHECK-4-NEXT: <RecordBlock NumWords=103 BlockCodeSize=4>
-// CHECK-4-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:   <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-4-NEXT:   <ReferenceBlock NumWords=15 BlockCodeSize=4>
-// CHECK-4-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:     <Name abbrevid=5 op0=22/> blob data = 'functionWithInnerClass'
-// CHECK-4-NEXT:     <RefType abbrevid=6 op0=3/>
-// CHECK-4-NEXT:     <Field abbrevid=7 op0=1/>
-// CHECK-4-NEXT:   </ReferenceBlock>
-// CHECK-4-NEXT:   <DefLocation abbrevid=6 op0=15 op1=4/> blob data = '{{.*}}'
-// CHECK-4-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-4-NEXT:   <FunctionBlock NumWords=69 BlockCodeSize=4>
-// CHECK-4-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'innerPublicMethod'
-// CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-4-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-4-NEXT:     </ReferenceBlock>
-// CHECK-4-NEXT:     <ReferenceBlock NumWords=15 BlockCodeSize=4>
-// CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:       <Name abbrevid=5 op0=22/> blob data = 'functionWithInnerClass'
-// CHECK-4-NEXT:       <RefType abbrevid=6 op0=3/>
-// CHECK-4-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-4-NEXT:     </ReferenceBlock>
-// CHECK-4-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-4-NEXT:     <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}'
-// CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-4-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-4-NEXT:     </ReferenceBlock>
-// CHECK-4-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-4-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-4-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-4-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-4-NEXT:       </ReferenceBlock>
-// CHECK-4-NEXT:     </TypeBlock>
-// CHECK-4-NEXT:   </FunctionBlock>
-// CHECK-4-NEXT: </RecordBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-5
-// CHECK-5: <BLOCKINFO_BLOCK/>
-// CHECK-5-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-5-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-5-NEXT: </VersionBlock>
-// CHECK-5-NEXT: <NamespaceBlock NumWords=218 BlockCodeSize=4>
-// CHECK-5-NEXT:   <FunctionBlock NumWords=31 BlockCodeSize=4>
-// CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=8/> blob data = 'function'
-// CHECK-5-NEXT:     <Location abbrevid=7 op0=10 op1=4/> blob data = '{{.*}}'
-// CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:     </TypeBlock>
-// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
-// CHECK-5-NEXT:     </FieldTypeBlock>
-// CHECK-5-NEXT:   </FunctionBlock>
-// CHECK-5-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4>
-// CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=15/> blob data = 'inlinedFunction'
-// CHECK-5-NEXT:     <Location abbrevid=7 op0=12 op1=4/> blob data = '{{.*}}'
-// CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:     </TypeBlock>
-// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
-// CHECK-5-NEXT:     </FieldTypeBlock>
-// CHECK-5-NEXT:   </FunctionBlock>
-// CHECK-5-NEXT:   <FunctionBlock NumWords=35 BlockCodeSize=4>
-// CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=22/> blob data = 'functionWithInnerClass'
-// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=14 op1=4/> blob data = '{{.*}}'
-// CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:     </TypeBlock>
-// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
-// CHECK-5-NEXT:     </FieldTypeBlock>
-// CHECK-5-NEXT:   </FunctionBlock>
-// CHECK-5-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4>
-// CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=29/> blob data = 'inlinedFunctionWithInnerClass'
-// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}'
-// CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:     </TypeBlock>
-// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
-// CHECK-5-NEXT:     </FieldTypeBlock>
-// CHECK-5-NEXT:   </FunctionBlock>
-// CHECK-5-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4>
-// CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=14/> blob data = 'staticFunction'
-// CHECK-5-NEXT:     <Location abbrevid=7 op0=66 op1=4/> blob data = '{{.*}}'
-// CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:     </TypeBlock>
-// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
-// CHECK-5-NEXT:     </FieldTypeBlock>
-// CHECK-5-NEXT:   </FunctionBlock>
-// CHECK-5-NEXT:   <FunctionBlock NumWords=36 BlockCodeSize=4>
-// CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=28/> blob data = 'staticFunctionWithInnerClass'
-// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=68 op1=4/> blob data = '{{.*}}'
-// CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:     </TypeBlock>
-// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
-// CHECK-5-NEXT:     </FieldTypeBlock>
-// CHECK-5-NEXT:   </FunctionBlock>
-// CHECK-5-NEXT: </NamespaceBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/4712C5FA37B298A25501D1033C619B65B0ECC449.bc | FileCheck %s --check-prefix CHECK-6
-// CHECK-6: <BLOCKINFO_BLOCK/>
-// CHECK-6-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-6-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-6-NEXT: </VersionBlock>
-// CHECK-6-NEXT: <RecordBlock NumWords=270 BlockCodeSize=4>
-// CHECK-6-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:   <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
-// CHECK-6-NEXT:   <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-6-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:     <Name abbrevid=5 op0=5/> blob data = 'named'
-// CHECK-6-NEXT:     <RefType abbrevid=6 op0=1/>
-// CHECK-6-NEXT:     <Field abbrevid=7 op0=1/>
-// CHECK-6-NEXT:   </ReferenceBlock>
-// CHECK-6-NEXT:   <DefLocation abbrevid=6 op0=47 op1=4/> blob data = '{{.*}}'
-// CHECK-6-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-6-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4>
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <Name abbrevid=4 op0=16/> blob data = 'namedPublicField'
-// CHECK-6-NEXT:     <Access abbrevid=5 op0=3/>
-// CHECK-6-NEXT:   </MemberTypeBlock>
-// CHECK-6-NEXT:   <MemberTypeBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <Name abbrevid=4 op0=19/> blob data = 'namedProtectedField'
-// CHECK-6-NEXT:     <Access abbrevid=5 op0=1/>
-// CHECK-6-NEXT:   </MemberTypeBlock>
-// CHECK-6-NEXT:   <MemberTypeBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <Name abbrevid=4 op0=17/> blob data = 'namedPrivateField'
-// CHECK-6-NEXT:     <Access abbrevid=5 op0=2/>
-// CHECK-6-NEXT:   </MemberTypeBlock>
-// CHECK-6-NEXT:   <FunctionBlock NumWords=65 BlockCodeSize=4>
-// CHECK-6-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'namedPublicMethod'
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-6-NEXT:     <Location abbrevid=7 op0=49 op1=4/> blob data = '{{.*}}'
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-6-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-6-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-6-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-6-NEXT:       </ReferenceBlock>
-// CHECK-6-NEXT:     </TypeBlock>
-// CHECK-6-NEXT:   </FunctionBlock>
-// CHECK-6-NEXT:   <FunctionBlock NumWords=65 BlockCodeSize=4>
-// CHECK-6-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:     <Name abbrevid=5 op0=20/> blob data = 'namedProtectedMethod'
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-6-NEXT:     <Location abbrevid=7 op0=53 op1=4/> blob data = '{{.*}}'
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-6-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-6-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-6-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-6-NEXT:       </ReferenceBlock>
-// CHECK-6-NEXT:     </TypeBlock>
-// CHECK-6-NEXT:   </FunctionBlock>
-// CHECK-6-NEXT:   <FunctionBlock NumWords=65 BlockCodeSize=4>
-// CHECK-6-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:     <Name abbrevid=5 op0=18/> blob data = 'namedPrivateMethod'
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-6-NEXT:     <Location abbrevid=7 op0=57 op1=4/> blob data = '{{.*}}'
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-6-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-6-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-6-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-6-NEXT:       </ReferenceBlock>
-// CHECK-6-NEXT:     </TypeBlock>
-// CHECK-6-NEXT:   </FunctionBlock>
-// CHECK-6-NEXT: </RecordBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/6E8FB72A89761E77020BFCEE9A9A6E64B15CC2A9.bc | FileCheck %s --check-prefix CHECK-7
-// CHECK-7: <BLOCKINFO_BLOCK/>
-// CHECK-7-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-7-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-7-NEXT: </VersionBlock>
-// CHECK-7-NEXT: <RecordBlock NumWords=252 BlockCodeSize=4>
-// CHECK-7-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:   <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
-// CHECK-7-NEXT:   <ReferenceBlock NumWords=7 BlockCodeSize=4>
-// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:     <RefType abbrevid=6 op0=1/>
-// CHECK-7-NEXT:     <Field abbrevid=7 op0=1/>
-// CHECK-7-NEXT:   </ReferenceBlock>
-// CHECK-7-NEXT:   <DefLocation abbrevid=6 op0=78 op1=4/> blob data = '{{.*}}'
-// CHECK-7-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-7-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4>
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <Name abbrevid=4 op0=15/> blob data = 'anonPublicField'
-// CHECK-7-NEXT:     <Access abbrevid=5 op0=3/>
-// CHECK-7-NEXT:   </MemberTypeBlock>
-// CHECK-7-NEXT:   <MemberTypeBlock NumWords=12 BlockCodeSize=4>
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <Name abbrevid=4 op0=18/> blob data = 'anonProtectedField'
-// CHECK-7-NEXT:     <Access abbrevid=5 op0=1/>
-// CHECK-7-NEXT:   </MemberTypeBlock>
-// CHECK-7-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4>
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <Name abbrevid=4 op0=16/> blob data = 'anonPrivateField'
-// CHECK-7-NEXT:     <Access abbrevid=5 op0=2/>
-// CHECK-7-NEXT:   </MemberTypeBlock>
-// CHECK-7-NEXT:   <FunctionBlock NumWords=60 BlockCodeSize=4>
-// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:     <Name abbrevid=5 op0=16/> blob data = 'anonPublicMethod'
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-7-NEXT:     <Location abbrevid=7 op0=80 op1=4/> blob data = '{{.*}}'
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-7-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-7-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-7-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-7-NEXT:       </ReferenceBlock>
-// CHECK-7-NEXT:     </TypeBlock>
-// CHECK-7-NEXT:   </FunctionBlock>
-// CHECK-7-NEXT:   <FunctionBlock NumWords=61 BlockCodeSize=4>
-// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:     <Name abbrevid=5 op0=19/> blob data = 'anonProtectedMethod'
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-7-NEXT:     <Location abbrevid=7 op0=84 op1=4/> blob data = '{{.*}}'
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-7-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-7-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-7-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-7-NEXT:       </ReferenceBlock>
-// CHECK-7-NEXT:     </TypeBlock>
-// CHECK-7-NEXT:   </FunctionBlock>
-// CHECK-7-NEXT:   <FunctionBlock NumWords=61 BlockCodeSize=4>
-// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'anonPrivateMethod'
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-7-NEXT:     <Location abbrevid=7 op0=88 op1=4/> blob data = '{{.*}}'
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-7-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-7-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-7-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-7-NEXT:       </ReferenceBlock>
-// CHECK-7-NEXT:     </TypeBlock>
-// CHECK-7-NEXT:   </FunctionBlock>
-// CHECK-7-NEXT: </RecordBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/83CC52D32583E0771710A7742DE81C839E953AC8.bc | FileCheck %s --check-prefix CHECK-8
-// CHECK-8: <BLOCKINFO_BLOCK/>
-// CHECK-8-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-8-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-8-NEXT: </VersionBlock>
-// CHECK-8-NEXT: <NamespaceBlock NumWords=109 BlockCodeSize=4>
-// CHECK-8-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:   <FunctionBlock NumWords=31 BlockCodeSize=4>
-// CHECK-8-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:     <Name abbrevid=5 op0=12/> blob data = 'anonFunction'
-// CHECK-8-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
-// CHECK-8-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-8-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-8-NEXT:     </ReferenceBlock>
-// CHECK-8-NEXT:     <Location abbrevid=7 op0=92 op1=4/> blob data = '{{.*}}'
-// CHECK-8-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-8-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-8-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-8-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-8-NEXT:       </ReferenceBlock>
-// CHECK-8-NEXT:     </TypeBlock>
-// CHECK-8-NEXT:   </FunctionBlock>
-// CHECK-8-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4>
-// CHECK-8-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:     <Name abbrevid=5 op0=18/> blob data = 'anonStaticFunction'
-// CHECK-8-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
-// CHECK-8-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-8-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-8-NEXT:     </ReferenceBlock>
-// CHECK-8-NEXT:     <Location abbrevid=7 op0=93 op1=4/> blob data = '{{.*}}'
-// CHECK-8-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-8-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-8-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-8-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-8-NEXT:       </ReferenceBlock>
-// CHECK-8-NEXT:     </TypeBlock>
-// CHECK-8-NEXT:   </FunctionBlock>
-// CHECK-8-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4>
-// CHECK-8-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:     <Name abbrevid=5 op0=18/> blob data = 'anonInlineFunction'
-// CHECK-8-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
-// CHECK-8-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-8-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-8-NEXT:     </ReferenceBlock>
-// CHECK-8-NEXT:     <Location abbrevid=7 op0=94 op1=4/> blob data = '{{.*}}'
-// CHECK-8-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-8-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-8-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-8-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-8-NEXT:       </ReferenceBlock>
-// CHECK-8-NEXT:     </TypeBlock>
-// CHECK-8-NEXT:   </FunctionBlock>
-// CHECK-8-NEXT: </NamespaceBlock>

Removed: clang-tools-extra/trunk/test/clang-doc/bc-module.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/bc-module.cpp?rev=338747&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/bc-module.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/bc-module.cpp (removed)
@@ -1,87 +0,0 @@
-// THIS IS A GENERATED TEST. DO NOT EDIT.
-// To regenerate, see clang-doc/gen_test.py docstring.
-//
-// RUN: rm -rf %t
-// RUN: mkdir %t
-// RUN: echo "" > %t/compile_flags.txt
-// RUN: cp "%s" "%t/test.cpp"
-
-export module M;
-
-int moduleFunction(int x); // ModuleLinkage
-
-static int staticModuleFunction(int x); // ModuleInternalLinkage
-
-export double exportedModuleFunction(double y, int z); // ExternalLinkage
-
-// RUN: clang-doc --dump-intermediate --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
-
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-0
-// CHECK-0: <BLOCKINFO_BLOCK/>
-// CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-0-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-0-NEXT: </VersionBlock>
-// CHECK-0-NEXT: <NamespaceBlock NumWords=121 BlockCodeSize=4>
-// CHECK-0-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4>
-// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:     <Name abbrevid=5 op0=14/> blob data = 'moduleFunction'
-// CHECK-0-NEXT:     <Location abbrevid=7 op0=11 op1=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:     </TypeBlock>
-// CHECK-0-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
-// CHECK-0-NEXT:     </FieldTypeBlock>
-// CHECK-0-NEXT:   </FunctionBlock>
-// CHECK-0-NEXT:   <FunctionBlock NumWords=34 BlockCodeSize=4>
-// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:     <Name abbrevid=5 op0=20/> blob data = 'staticModuleFunction'
-// CHECK-0-NEXT:     <Location abbrevid=7 op0=13 op1=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:     </TypeBlock>
-// CHECK-0-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
-// CHECK-0-NEXT:     </FieldTypeBlock>
-// CHECK-0-NEXT:   </FunctionBlock>
-// CHECK-0-NEXT:   <FunctionBlock NumWords=47 BlockCodeSize=4>
-// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:     <Name abbrevid=5 op0=22/> blob data = 'exportedModuleFunction'
-// CHECK-0-NEXT:     <Location abbrevid=7 op0=15 op1=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:     <TypeBlock NumWords=7 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=4 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=6/> blob data = 'double'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:     </TypeBlock>
-// CHECK-0-NEXT:     <FieldTypeBlock NumWords=9 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=4 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=6/> blob data = 'double'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'y'
-// CHECK-0-NEXT:     </FieldTypeBlock>
-// CHECK-0-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'z'
-// CHECK-0-NEXT:     </FieldTypeBlock>
-// CHECK-0-NEXT:   </FunctionBlock>
-// CHECK-0-NEXT: </NamespaceBlock>

Modified: clang-tools-extra/trunk/test/clang-doc/bc-namespace.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/bc-namespace.cpp?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/bc-namespace.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/bc-namespace.cpp Thu Aug  2 11:01:37 2018
@@ -25,97 +25,115 @@ E func(int i) { return X; }
 }  // namespace B
 }  // namespace A
 
-// RUN: clang-doc --dump-intermediate --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
+// RUN: clang-doc --dump-intermediate --doxygen -p %t %t/test.cpp -output=%t/docs
 
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/8D042EFFC98B373450BC6B5B90A330C25A150E9C.bc | FileCheck %s --check-prefix CHECK-0
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/E9ABF7E7E2425B626723D41E76E4BC7E7A5BD775.bc | FileCheck %s --check-prefix CHECK-0
 // CHECK-0: <BLOCKINFO_BLOCK/>
 // CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-0-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-0-NEXT: </VersionBlock>
-// CHECK-0-NEXT: <NamespaceBlock NumWords=46 BlockCodeSize=4>
-// CHECK-0-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'A'
-// CHECK-0-NEXT:   <FunctionBlock NumWords=35 BlockCodeSize=4>
-// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'f'
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=1/> blob data = 'A'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-0-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-0-NEXT:     </ReferenceBlock>
-// CHECK-0-NEXT:     <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:     <Location abbrevid=7 op0=11 op1=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:     </TypeBlock>
-// CHECK-0-NEXT:   </FunctionBlock>
-// CHECK-0-NEXT: </NamespaceBlock>
+// CHECK-0-NEXT: <EnumBlock NumWords=38 BlockCodeSize=4>
+// CHECK-0-NEXT:   <USR abbrevid=4 op0=20 op1=233 op2=171 op3=247 op4=231 op5=226 op6=66 op7=91 op8=98 op9=103 op10=35 op11=212 op12=30 op13=118 op14=228 op15=188 op16=126 op17=122 op18=91 op19=215 op20=117/>
+// CHECK-0-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'E'
+// CHECK-0-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1=226 op2=26 op3=247 op4=158 op5=42 op6=157 op7=2 op8=85 op9=75 op10=160 op11=144 op12=209 op13=13 op14=243 op15=159 op16=226 op17=115 op18=245 op19=205 op20=181/>
+// CHECK-0-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'B'
+// CHECK-0-NEXT:     <RefType abbrevid=6 op0=1/>
+// CHECK-0-NEXT:     <Field abbrevid=7 op0=1/>
+// CHECK-0-NEXT:   </ReferenceBlock>
+// CHECK-0-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1=141 op2=4 op3=46 op4=255 op5=201 op6=139 op7=55 op8=52 op9=80 op10=188 op11=107 op12=91 op13=144 op14=163 op15=48 op16=194 op17=90 op18=21 op19=14 op20=156/>
+// CHECK-0-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'A'
+// CHECK-0-NEXT:     <RefType abbrevid=6 op0=1/>
+// CHECK-0-NEXT:     <Field abbrevid=7 op0=1/>
+// CHECK-0-NEXT:   </ReferenceBlock>
+// CHECK-0-NEXT:   <DefLocation abbrevid=6 op0=21 op1=4/> blob data = '{{.*}}'
+// CHECK-0-NEXT:   <Member abbrevid=8 op0=1/> blob data = 'X'
+// CHECK-0-NEXT: </EnumBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/E21AF79E2A9D02554BA090D10DF39FE273F5CDB5.bc | FileCheck %s --check-prefix CHECK-1
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/39D3C95A5F7CE2BA4937BD7B01BAE09EBC2AD8AC.bc | FileCheck %s --check-prefix CHECK-1
 // CHECK-1: <BLOCKINFO_BLOCK/>
 // CHECK-1-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-1-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-1-NEXT: </VersionBlock>
-// CHECK-1-NEXT: <NamespaceBlock NumWords=119 BlockCodeSize=4>
-// CHECK-1-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'B'
+// CHECK-1-NEXT: <FunctionBlock NumWords=35 BlockCodeSize=4>
+// CHECK-1-NEXT:   <USR abbrevid=4 op0=20 op1=57 op2=211 op3=201 op4=90 op5=95 op6=124 op7=226 op8=186 op9=73 op10=55 op11=189 op12=123 op13=1 op14=186 op15=224 op16=158 op17=188 op18=42 op19=216 op20=172/>
+// CHECK-1-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'f'
 // CHECK-1-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1=141 op2=4 op3=46 op4=255 op5=201 op6=139 op7=55 op8=52 op9=80 op10=188 op11=107 op12=91 op13=144 op14=163 op15=48 op16=194 op17=90 op18=21 op19=14 op20=156/>
 // CHECK-1-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'A'
 // CHECK-1-NEXT:     <RefType abbrevid=6 op0=1/>
 // CHECK-1-NEXT:     <Field abbrevid=7 op0=1/>
 // CHECK-1-NEXT:   </ReferenceBlock>
-// CHECK-1-NEXT:   <FunctionBlock NumWords=56 BlockCodeSize=4>
-// CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:     <Name abbrevid=5 op0=4/> blob data = 'func'
-// CHECK-1-NEXT:     <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:       <Name abbrevid=5 op0=1/> blob data = 'B'
-// CHECK-1-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-1-NEXT:       <Field abbrevid=7 op0=1/>
+// CHECK-1-NEXT:   <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}'
+// CHECK-1-NEXT:   <Location abbrevid=7 op0=11 op1=4/> blob data = '{{.*}}'
+// CHECK-1-NEXT:   <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-1-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-1-NEXT:       <Name abbrevid=5 op0=4/> blob data = 'void'
+// CHECK-1-NEXT:       <Field abbrevid=7 op0=4/>
 // CHECK-1-NEXT:     </ReferenceBlock>
-// CHECK-1-NEXT:     <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:       <Name abbrevid=5 op0=1/> blob data = 'A'
-// CHECK-1-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-1-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-1-NEXT:     </ReferenceBlock>
-// CHECK-1-NEXT:     <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}'
-// CHECK-1-NEXT:     <TypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-1-NEXT:       <ReferenceBlock NumWords=5 BlockCodeSize=4>
-// CHECK-1-NEXT:         <Name abbrevid=5 op0=12/> blob data = 'enum A::B::E'
-// CHECK-1-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-1-NEXT:       </ReferenceBlock>
-// CHECK-1-NEXT:     </TypeBlock>
-// CHECK-1-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-1-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-1-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-1-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-1-NEXT:       </ReferenceBlock>
-// CHECK-1-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'i'
-// CHECK-1-NEXT:     </FieldTypeBlock>
-// CHECK-1-NEXT:   </FunctionBlock>
-// CHECK-1-NEXT:   <EnumBlock NumWords=38 BlockCodeSize=4>
-// CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'E'
-// CHECK-1-NEXT:     <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:       <Name abbrevid=5 op0=1/> blob data = 'B'
-// CHECK-1-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-1-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-1-NEXT:     </ReferenceBlock>
-// CHECK-1-NEXT:     <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:       <Name abbrevid=5 op0=1/> blob data = 'A'
-// CHECK-1-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-1-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-1-NEXT:     </ReferenceBlock>
-// CHECK-1-NEXT:     <DefLocation abbrevid=6 op0=21 op1=4/> blob data = '{{.*}}'
-// CHECK-1-NEXT:     <Member abbrevid=8 op0=1/> blob data = 'X'
-// CHECK-1-NEXT:   </EnumBlock>
-// CHECK-1-NEXT: </NamespaceBlock>
+// CHECK-1-NEXT:   </TypeBlock>
+// CHECK-1-NEXT: </FunctionBlock>
+
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/9A82CB33ED0FDF81EE383D31CD0957D153C5E840.bc | FileCheck %s --check-prefix CHECK-2
+// CHECK-2: <BLOCKINFO_BLOCK/>
+// CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
+// CHECK-2-NEXT:   <Version abbrevid=4 op0=2/>
+// CHECK-2-NEXT: </VersionBlock>
+// CHECK-2-NEXT: <FunctionBlock NumWords=56 BlockCodeSize=4>
+// CHECK-2-NEXT:   <USR abbrevid=4 op0=20 op1=154 op2=130 op3=203 op4=51 op5=237 op6=15 op7=223 op8=129 op9=238 op10=56 op11=61 op12=49 op13=205 op14=9 op15=87 op16=209 op17=83 op18=197 op19=232 op20=64/>
+// CHECK-2-NEXT:   <Name abbrevid=5 op0=4/> blob data = 'func'
+// CHECK-2-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1=226 op2=26 op3=247 op4=158 op5=42 op6=157 op7=2 op8=85 op9=75 op10=160 op11=144 op12=209 op13=13 op14=243 op15=159 op16=226 op17=115 op18=245 op19=205 op20=181/>
+// CHECK-2-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'B'
+// CHECK-2-NEXT:     <RefType abbrevid=6 op0=1/>
+// CHECK-2-NEXT:     <Field abbrevid=7 op0=1/>
+// CHECK-2-NEXT:   </ReferenceBlock>
+// CHECK-2-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1=141 op2=4 op3=46 op4=255 op5=201 op6=139 op7=55 op8=52 op9=80 op10=188 op11=107 op12=91 op13=144 op14=163 op15=48 op16=194 op17=90 op18=21 op19=14 op20=156/>
+// CHECK-2-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'A'
+// CHECK-2-NEXT:     <RefType abbrevid=6 op0=1/>
+// CHECK-2-NEXT:     <Field abbrevid=7 op0=1/>
+// CHECK-2-NEXT:   </ReferenceBlock>
+// CHECK-2-NEXT:   <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}'
+// CHECK-2-NEXT:   <TypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-2-NEXT:     <ReferenceBlock NumWords=5 BlockCodeSize=4>
+// CHECK-2-NEXT:       <Name abbrevid=5 op0=12/> blob data = 'enum A::B::E'
+// CHECK-2-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-2-NEXT:     </ReferenceBlock>
+// CHECK-2-NEXT:   </TypeBlock>
+// CHECK-2-NEXT:   <FieldTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-2-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-2-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-2-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-2-NEXT:     </ReferenceBlock>
+// CHECK-2-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'i'
+// CHECK-2-NEXT:   </FieldTypeBlock>
+// CHECK-2-NEXT: </FunctionBlock>
+
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/8D042EFFC98B373450BC6B5B90A330C25A150E9C.bc | FileCheck %s --check-prefix CHECK-3
+// CHECK-3: <BLOCKINFO_BLOCK/>
+// CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
+// CHECK-3-NEXT:   <Version abbrevid=4 op0=2/>
+// CHECK-3-NEXT: </VersionBlock>
+// CHECK-3-NEXT: <NamespaceBlock NumWords=9 BlockCodeSize=4>
+// CHECK-3-NEXT:   <USR abbrevid=4 op0=20 op1=141 op2=4 op3=46 op4=255 op5=201 op6=139 op7=55 op8=52 op9=80 op10=188 op11=107 op12=91 op13=144 op14=163 op15=48 op16=194 op17=90 op18=21 op19=14 op20=156/>
+// CHECK-3-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'A'
+// CHECK-3-NEXT: </NamespaceBlock>
+
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/E21AF79E2A9D02554BA090D10DF39FE273F5CDB5.bc | FileCheck %s --check-prefix CHECK-4
+// CHECK-4: <BLOCKINFO_BLOCK/>
+// CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
+// CHECK-4-NEXT:   <Version abbrevid=4 op0=2/>
+// CHECK-4-NEXT: </VersionBlock>
+// CHECK-4-NEXT: <NamespaceBlock NumWords=21 BlockCodeSize=4>
+// CHECK-4-NEXT:   <USR abbrevid=4 op0=20 op1=226 op2=26 op3=247 op4=158 op5=42 op6=157 op7=2 op8=85 op9=75 op10=160 op11=144 op12=209 op13=13 op14=243 op15=159 op16=226 op17=115 op18=245 op19=205 op20=181/>
+// CHECK-4-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'B'
+// CHECK-4-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-4-NEXT:     <USR abbrevid=4 op0=20 op1=141 op2=4 op3=46 op4=255 op5=201 op6=139 op7=55 op8=52 op9=80 op10=188 op11=107 op12=91 op13=144 op14=163 op15=48 op16=194 op17=90 op18=21 op19=14 op20=156/>
+// CHECK-4-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'A'
+// CHECK-4-NEXT:     <RefType abbrevid=6 op0=1/>
+// CHECK-4-NEXT:     <Field abbrevid=7 op0=1/>
+// CHECK-4-NEXT:   </ReferenceBlock>
+// CHECK-4-NEXT: </NamespaceBlock>

Modified: clang-tools-extra/trunk/test/clang-doc/bc-record.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/bc-record.cpp?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/bc-record.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/bc-record.cpp Thu Aug  2 11:01:37 2018
@@ -39,7 +39,7 @@ class X {
   class Y {};
 };
 
-// RUN: clang-doc --dump-intermediate --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
+// RUN: clang-doc --dump-intermediate --doxygen -p %t %t/test.cpp -output=%t/docs
 
 
 // RUN: llvm-bcanalyzer --dump %t/docs/bc/289584A8E0FF4178A794622A547AA622503967A1.bc | FileCheck %s --check-prefix CHECK-0
@@ -47,84 +47,11 @@ class X {
 // CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-0-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-0-NEXT: </VersionBlock>
-// CHECK-0-NEXT: <RecordBlock NumWords=157 BlockCodeSize=4>
-// CHECK-0-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-0-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
+// CHECK-0-NEXT:   <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/>
 // CHECK-0-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'E'
 // CHECK-0-NEXT:   <DefLocation abbrevid=6 op0=25 op1=4/> blob data = '{{.*}}'
 // CHECK-0-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-0-NEXT:   <FunctionBlock NumWords=44 BlockCodeSize=4>
-// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'E'
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=1/> blob data = 'E'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-0-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-0-NEXT:     </ReferenceBlock>
-// CHECK-0-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-0-NEXT:     <DefLocation abbrevid=6 op0=27 op1=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=1/> blob data = 'E'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-0-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-0-NEXT:     </ReferenceBlock>
-// CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:     </TypeBlock>
-// CHECK-0-NEXT:   </FunctionBlock>
-// CHECK-0-NEXT:   <FunctionBlock NumWords=44 BlockCodeSize=4>
-// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:     <Name abbrevid=5 op0=2/> blob data = '~E'
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=1/> blob data = 'E'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-0-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-0-NEXT:     </ReferenceBlock>
-// CHECK-0-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-0-NEXT:     <DefLocation abbrevid=6 op0=28 op1=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=1/> blob data = 'E'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-0-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-0-NEXT:     </ReferenceBlock>
-// CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:     </TypeBlock>
-// CHECK-0-NEXT:   </FunctionBlock>
-// CHECK-0-NEXT:   <FunctionBlock NumWords=50 BlockCodeSize=4>
-// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:     <Name abbrevid=5 op0=15/> blob data = 'ProtectedMethod'
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=1/> blob data = 'E'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-0-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-0-NEXT:     </ReferenceBlock>
-// CHECK-0-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-0-NEXT:     <DefLocation abbrevid=6 op0=34 op1=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:     <Location abbrevid=7 op0=31 op1=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=1/> blob data = 'E'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-0-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-0-NEXT:     </ReferenceBlock>
-// CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:     </TypeBlock>
-// CHECK-0-NEXT:   </FunctionBlock>
 // CHECK-0-NEXT: </RecordBlock>
 
 // RUN: llvm-bcanalyzer --dump %t/docs/bc/3FB542274573CAEAD54CEBFFCAEE3D77FB9713D8.bc | FileCheck %s --check-prefix CHECK-1
@@ -133,10 +60,10 @@ class X {
 // CHECK-1-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-1-NEXT: </VersionBlock>
 // CHECK-1-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4>
-// CHECK-1-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-1-NEXT:   <USR abbrevid=4 op0=20 op1=63 op2=181 op3=66 op4=39 op5=69 op6=115 op7=202 op8=234 op9=213 op10=76 op11=235 op12=255 op13=202 op14=238 op15=61 op16=119 op17=251 op18=151 op19=19 op20=216/>
 // CHECK-1-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'I'
 // CHECK-1-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1=182 op2=172 op3=76 op4=92 op5=159 op6=46 op7=163 op8=242 op9=179 op10=236 op11=225 op12=163 op13=61 op14=52 op15=159 op16=78 op17=229 op18=2 op19=178 op20=78/>
 // CHECK-1-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'H'
 // CHECK-1-NEXT:     <RefType abbrevid=6 op0=3/>
 // CHECK-1-NEXT:     <Field abbrevid=7 op0=1/>
@@ -145,149 +72,250 @@ class X {
 // CHECK-1-NEXT:   <TagType abbrevid=8 op0=3/>
 // CHECK-1-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/CA7C7935730B5EACD25F080E9C83FA087CCDC75E.bc | FileCheck %s --check-prefix CHECK-2
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/5093D428CDC62096A67547BA52566E4FB9404EEE.bc | FileCheck %s --check-prefix CHECK-2
 // CHECK-2: <BLOCKINFO_BLOCK/>
 // CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-2-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-2-NEXT: </VersionBlock>
-// CHECK-2-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
-// CHECK-2-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'X'
-// CHECK-2-NEXT:   <DefLocation abbrevid=6 op0=38 op1=4/> blob data = '{{.*}}'
-// CHECK-2-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-2-NEXT: </RecordBlock>
+// CHECK-2-NEXT: <FunctionBlock NumWords=50 BlockCodeSize=4>
+// CHECK-2-NEXT:   <USR abbrevid=4 op0=20 op1=80 op2=147 op3=212 op4=40 op5=205 op6=198 op7=32 op8=150 op9=166 op10=117 op11=71 op12=186 op13=82 op14=86 op15=110 op16=79 op17=185 op18=64 op19=78 op20=238/>
+// CHECK-2-NEXT:   <Name abbrevid=5 op0=15/> blob data = 'ProtectedMethod'
+// CHECK-2-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/>
+// CHECK-2-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'E'
+// CHECK-2-NEXT:     <RefType abbrevid=6 op0=2/>
+// CHECK-2-NEXT:     <Field abbrevid=7 op0=1/>
+// CHECK-2-NEXT:   </ReferenceBlock>
+// CHECK-2-NEXT:   <IsMethod abbrevid=9 op0=1/>
+// CHECK-2-NEXT:   <DefLocation abbrevid=6 op0=34 op1=4/> blob data = '{{.*}}'
+// CHECK-2-NEXT:   <Location abbrevid=7 op0=31 op1=4/> blob data = '{{.*}}'
+// CHECK-2-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/>
+// CHECK-2-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'E'
+// CHECK-2-NEXT:     <RefType abbrevid=6 op0=2/>
+// CHECK-2-NEXT:     <Field abbrevid=7 op0=2/>
+// CHECK-2-NEXT:   </ReferenceBlock>
+// CHECK-2-NEXT:   <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-2-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-2-NEXT:       <Name abbrevid=5 op0=4/> blob data = 'void'
+// CHECK-2-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-2-NEXT:     </ReferenceBlock>
+// CHECK-2-NEXT:   </TypeBlock>
+// CHECK-2-NEXT: </FunctionBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/06B5F6A19BA9F6A832E127C9968282B94619B210.bc | FileCheck %s --check-prefix CHECK-3
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/CA7C7935730B5EACD25F080E9C83FA087CCDC75E.bc | FileCheck %s --check-prefix CHECK-3
 // CHECK-3: <BLOCKINFO_BLOCK/>
 // CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-3-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-3-NEXT: </VersionBlock>
-// CHECK-3-NEXT: <RecordBlock NumWords=22 BlockCodeSize=4>
-// CHECK-3-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'C'
-// CHECK-3-NEXT:   <DefLocation abbrevid=6 op0=21 op1=4/> blob data = '{{.*}}'
-// CHECK-3-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-3-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-3-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'i'
-// CHECK-3-NEXT:     <Access abbrevid=5 op0=3/>
-// CHECK-3-NEXT:   </MemberTypeBlock>
+// CHECK-3-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
+// CHECK-3-NEXT:   <USR abbrevid=4 op0=20 op1=202 op2=124 op3=121 op4=53 op5=115 op6=11 op7=94 op8=172 op9=210 op10=95 op11=8 op12=14 op13=156 op14=131 op15=250 op16=8 op17=124 op18=205 op19=199 op20=94/>
+// CHECK-3-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'X'
+// CHECK-3-NEXT:   <DefLocation abbrevid=6 op0=38 op1=4/> blob data = '{{.*}}'
+// CHECK-3-NEXT:   <TagType abbrevid=8 op0=3/>
 // CHECK-3-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/641AB4A3D36399954ACDE29C7A8833032BF40472.bc | FileCheck %s --check-prefix CHECK-4
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/B6AC4C5C9F2EA3F2B3ECE1A33D349F4EE502B24E.bc | FileCheck %s --check-prefix CHECK-4
 // CHECK-4: <BLOCKINFO_BLOCK/>
 // CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-4-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-4-NEXT: </VersionBlock>
-// CHECK-4-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4>
-// CHECK-4-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'Y'
-// CHECK-4-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-4-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'X'
-// CHECK-4-NEXT:     <RefType abbrevid=6 op0=2/>
-// CHECK-4-NEXT:     <Field abbrevid=7 op0=1/>
-// CHECK-4-NEXT:   </ReferenceBlock>
-// CHECK-4-NEXT:   <DefLocation abbrevid=6 op0=39 op1=4/> blob data = '{{.*}}'
-// CHECK-4-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-4-NEXT: </RecordBlock>
+// CHECK-4-NEXT: <FunctionBlock NumWords=20 BlockCodeSize=4>
+// CHECK-4-NEXT:   <USR abbrevid=4 op0=20 op1=182 op2=172 op3=76 op4=92 op5=159 op6=46 op7=163 op8=242 op9=179 op10=236 op11=225 op12=163 op13=61 op14=52 op15=159 op16=78 op17=229 op18=2 op19=178 op20=78/>
+// CHECK-4-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'H'
+// CHECK-4-NEXT:   <DefLocation abbrevid=6 op0=11 op1=4/> blob data = '{{.*}}'
+// CHECK-4-NEXT:   <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-4-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-4-NEXT:       <Name abbrevid=5 op0=4/> blob data = 'void'
+// CHECK-4-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-4-NEXT:     </ReferenceBlock>
+// CHECK-4-NEXT:   </TypeBlock>
+// CHECK-4-NEXT: </FunctionBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-5
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/06B5F6A19BA9F6A832E127C9968282B94619B210.bc | FileCheck %s --check-prefix CHECK-5
 // CHECK-5: <BLOCKINFO_BLOCK/>
 // CHECK-5-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-5-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-5-NEXT: </VersionBlock>
-// CHECK-5-NEXT: <NamespaceBlock NumWords=59 BlockCodeSize=4>
-// CHECK-5-NEXT:   <FunctionBlock NumWords=20 BlockCodeSize=4>
-// CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'H'
-// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=11 op1=4/> blob data = '{{.*}}'
-// CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:     </TypeBlock>
-// CHECK-5-NEXT:   </FunctionBlock>
-// CHECK-5-NEXT:   <EnumBlock NumWords=16 BlockCodeSize=4>
-// CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'B'
-// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}'
-// CHECK-5-NEXT:     <Member abbrevid=8 op0=1/> blob data = 'X'
-// CHECK-5-NEXT:     <Member abbrevid=8 op0=1/> blob data = 'Y'
-// CHECK-5-NEXT:   </EnumBlock>
-// CHECK-5-NEXT:   <EnumBlock NumWords=16 BlockCodeSize=4>
-// CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=2/> blob data = 'Bc'
-// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=19 op1=4/> blob data = '{{.*}}'
-// CHECK-5-NEXT:     <Scoped abbrevid=9 op0=1/>
-// CHECK-5-NEXT:     <Member abbrevid=8 op0=1/> blob data = 'A'
-// CHECK-5-NEXT:     <Member abbrevid=8 op0=1/> blob data = 'B'
-// CHECK-5-NEXT:   </EnumBlock>
-// CHECK-5-NEXT: </NamespaceBlock>
+// CHECK-5-NEXT: <RecordBlock NumWords=22 BlockCodeSize=4>
+// CHECK-5-NEXT:   <USR abbrevid=4 op0=20 op1=6 op2=181 op3=246 op4=161 op5=155 op6=169 op7=246 op8=168 op9=50 op10=225 op11=39 op12=201 op13=150 op14=130 op15=130 op16=185 op17=70 op18=25 op19=178 op20=16/>
+// CHECK-5-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'C'
+// CHECK-5-NEXT:   <DefLocation abbrevid=6 op0=21 op1=4/> blob data = '{{.*}}'
+// CHECK-5-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-5-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-5-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-5-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-5-NEXT:     </ReferenceBlock>
+// CHECK-5-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'i'
+// CHECK-5-NEXT:     <Access abbrevid=5 op0=3/>
+// CHECK-5-NEXT:   </MemberTypeBlock>
+// CHECK-5-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/0921737541208B8FA9BB42B60F78AC1D779AA054.bc | FileCheck %s --check-prefix CHECK-6
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/BD2BDEBD423F80BACCEA75DE6D6622D355FC2D17.bc | FileCheck %s --check-prefix CHECK-6
 // CHECK-6: <BLOCKINFO_BLOCK/>
 // CHECK-6-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-6-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-6-NEXT: </VersionBlock>
-// CHECK-6-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'D'
-// CHECK-6-NEXT:   <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}'
-// CHECK-6-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-6-NEXT: </RecordBlock>
+// CHECK-6-NEXT: <FunctionBlock NumWords=44 BlockCodeSize=4>
+// CHECK-6-NEXT:   <USR abbrevid=4 op0=20 op1=189 op2=43 op3=222 op4=189 op5=66 op6=63 op7=128 op8=186 op9=204 op10=234 op11=117 op12=222 op13=109 op14=102 op15=34 op16=211 op17=85 op18=252 op19=45 op20=23/>
+// CHECK-6-NEXT:   <Name abbrevid=5 op0=2/> blob data = '~E'
+// CHECK-6-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-6-NEXT:     <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/>
+// CHECK-6-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'E'
+// CHECK-6-NEXT:     <RefType abbrevid=6 op0=2/>
+// CHECK-6-NEXT:     <Field abbrevid=7 op0=1/>
+// CHECK-6-NEXT:   </ReferenceBlock>
+// CHECK-6-NEXT:   <IsMethod abbrevid=9 op0=1/>
+// CHECK-6-NEXT:   <DefLocation abbrevid=6 op0=28 op1=4/> blob data = '{{.*}}'
+// CHECK-6-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-6-NEXT:     <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/>
+// CHECK-6-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'E'
+// CHECK-6-NEXT:     <RefType abbrevid=6 op0=2/>
+// CHECK-6-NEXT:     <Field abbrevid=7 op0=2/>
+// CHECK-6-NEXT:   </ReferenceBlock>
+// CHECK-6-NEXT:   <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-6-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-6-NEXT:       <Name abbrevid=5 op0=4/> blob data = 'void'
+// CHECK-6-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-6-NEXT:     </ReferenceBlock>
+// CHECK-6-NEXT:   </TypeBlock>
+// CHECK-6-NEXT: </FunctionBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/E3B54702FABFF4037025BA194FC27C47006330B5.bc | FileCheck %s --check-prefix CHECK-7
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/DEB4AC1CD9253CD9EF7FBE6BCAC506D77984ABD4.bc | FileCheck %s --check-prefix CHECK-7
 // CHECK-7: <BLOCKINFO_BLOCK/>
 // CHECK-7-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-7-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-7-NEXT: </VersionBlock>
-// CHECK-7-NEXT: <RecordBlock NumWords=37 BlockCodeSize=4>
-// CHECK-7-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'F'
-// CHECK-7-NEXT:   <DefLocation abbrevid=6 op0=36 op1=4/> blob data = '{{.*}}'
-// CHECK-7-NEXT:   <TagType abbrevid=8 op0=3/>
+// CHECK-7-NEXT: <FunctionBlock NumWords=44 BlockCodeSize=4>
+// CHECK-7-NEXT:   <USR abbrevid=4 op0=20 op1=222 op2=180 op3=172 op4=28 op5=217 op6=37 op7=60 op8=217 op9=239 op10=127 op11=190 op12=107 op13=202 op14=197 op15=6 op16=215 op17=121 op18=132 op19=171 op20=212/>
+// CHECK-7-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'E'
 // CHECK-7-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/>
 // CHECK-7-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'E'
 // CHECK-7-NEXT:     <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:     <Field abbrevid=7 op0=2/>
+// CHECK-7-NEXT:     <Field abbrevid=7 op0=1/>
 // CHECK-7-NEXT:   </ReferenceBlock>
+// CHECK-7-NEXT:   <IsMethod abbrevid=9 op0=1/>
+// CHECK-7-NEXT:   <DefLocation abbrevid=6 op0=27 op1=4/> blob data = '{{.*}}'
 // CHECK-7-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'D'
+// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/>
+// CHECK-7-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'E'
 // CHECK-7-NEXT:     <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:     <Field abbrevid=7 op0=3/>
+// CHECK-7-NEXT:     <Field abbrevid=7 op0=2/>
 // CHECK-7-NEXT:   </ReferenceBlock>
-// CHECK-7-NEXT: </RecordBlock>
+// CHECK-7-NEXT:   <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-7-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-7-NEXT:       <Name abbrevid=5 op0=4/> blob data = 'void'
+// CHECK-7-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-7-NEXT:     </ReferenceBlock>
+// CHECK-7-NEXT:   </TypeBlock>
+// CHECK-7-NEXT: </FunctionBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/ACE81AFA6627B4CEF2B456FB6E1252925674AF7E.bc | FileCheck %s --check-prefix CHECK-8
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/641AB4A3D36399954ACDE29C7A8833032BF40472.bc | FileCheck %s --check-prefix CHECK-8
 // CHECK-8: <BLOCKINFO_BLOCK/>
 // CHECK-8-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-8-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-8-NEXT: </VersionBlock>
-// CHECK-8-NEXT: <RecordBlock NumWords=33 BlockCodeSize=4>
-// CHECK-8-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'A'
-// CHECK-8-NEXT:   <DefLocation abbrevid=6 op0=15 op1=4/> blob data = '{{.*}}'
-// CHECK-8-NEXT:   <TagType abbrevid=8 op0=2/>
-// CHECK-8-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-8-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-8-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-8-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-8-NEXT:     </ReferenceBlock>
-// CHECK-8-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'X'
-// CHECK-8-NEXT:     <Access abbrevid=5 op0=3/>
-// CHECK-8-NEXT:   </MemberTypeBlock>
-// CHECK-8-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-8-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-8-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-8-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-8-NEXT:     </ReferenceBlock>
-// CHECK-8-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'Y'
-// CHECK-8-NEXT:     <Access abbrevid=5 op0=3/>
-// CHECK-8-NEXT:   </MemberTypeBlock>
+// CHECK-8-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4>
+// CHECK-8-NEXT:   <USR abbrevid=4 op0=20 op1=100 op2=26 op3=180 op4=163 op5=211 op6=99 op7=153 op8=149 op9=74 op10=205 op11=226 op12=156 op13=122 op14=136 op15=51 op16=3 op17=43 op18=244 op19=4 op20=114/>
+// CHECK-8-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'Y'
+// CHECK-8-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-8-NEXT:     <USR abbrevid=4 op0=20 op1=202 op2=124 op3=121 op4=53 op5=115 op6=11 op7=94 op8=172 op9=210 op10=95 op11=8 op12=14 op13=156 op14=131 op15=250 op16=8 op17=124 op18=205 op19=199 op20=94/>
+// CHECK-8-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'X'
+// CHECK-8-NEXT:     <RefType abbrevid=6 op0=2/>
+// CHECK-8-NEXT:     <Field abbrevid=7 op0=1/>
+// CHECK-8-NEXT:   </ReferenceBlock>
+// CHECK-8-NEXT:   <DefLocation abbrevid=6 op0=39 op1=4/> blob data = '{{.*}}'
+// CHECK-8-NEXT:   <TagType abbrevid=8 op0=3/>
 // CHECK-8-NEXT: </RecordBlock>
+
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/FC07BD34D5E77782C263FA944447929EA8753740.bc | FileCheck %s --check-prefix CHECK-9
+// CHECK-9: <BLOCKINFO_BLOCK/>
+// CHECK-9-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
+// CHECK-9-NEXT:   <Version abbrevid=4 op0=2/>
+// CHECK-9-NEXT: </VersionBlock>
+// CHECK-9-NEXT: <EnumBlock NumWords=16 BlockCodeSize=4>
+// CHECK-9-NEXT:   <USR abbrevid=4 op0=20 op1=252 op2=7 op3=189 op4=52 op5=213 op6=231 op7=119 op8=130 op9=194 op10=99 op11=250 op12=148 op13=68 op14=71 op15=146 op16=158 op17=168 op18=117 op19=55 op20=64/>
+// CHECK-9-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'B'
+// CHECK-9-NEXT:   <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}'
+// CHECK-9-NEXT:   <Member abbrevid=8 op0=1/> blob data = 'X'
+// CHECK-9-NEXT:   <Member abbrevid=8 op0=1/> blob data = 'Y'
+// CHECK-9-NEXT: </EnumBlock>
+
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/0921737541208B8FA9BB42B60F78AC1D779AA054.bc | FileCheck %s --check-prefix CHECK-10
+// CHECK-10: <BLOCKINFO_BLOCK/>
+// CHECK-10-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
+// CHECK-10-NEXT:   <Version abbrevid=4 op0=2/>
+// CHECK-10-NEXT: </VersionBlock>
+// CHECK-10-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
+// CHECK-10-NEXT:   <USR abbrevid=4 op0=20 op1=9 op2=33 op3=115 op4=117 op5=65 op6=32 op7=139 op8=143 op9=169 op10=187 op11=66 op12=182 op13=15 op14=120 op15=172 op16=29 op17=119 op18=154 op19=160 op20=84/>
+// CHECK-10-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'D'
+// CHECK-10-NEXT:   <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}'
+// CHECK-10-NEXT:   <TagType abbrevid=8 op0=3/>
+// CHECK-10-NEXT: </RecordBlock>
+
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/E3B54702FABFF4037025BA194FC27C47006330B5.bc | FileCheck %s --check-prefix CHECK-11
+// CHECK-11: <BLOCKINFO_BLOCK/>
+// CHECK-11-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
+// CHECK-11-NEXT:   <Version abbrevid=4 op0=2/>
+// CHECK-11-NEXT: </VersionBlock>
+// CHECK-11-NEXT: <RecordBlock NumWords=37 BlockCodeSize=4>
+// CHECK-11-NEXT:   <USR abbrevid=4 op0=20 op1=227 op2=181 op3=71 op4=2 op5=250 op6=191 op7=244 op8=3 op9=112 op10=37 op11=186 op12=25 op13=79 op14=194 op15=124 op16=71 op17=0 op18=99 op19=48 op20=181/>
+// CHECK-11-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'F'
+// CHECK-11-NEXT:   <DefLocation abbrevid=6 op0=36 op1=4/> blob data = '{{.*}}'
+// CHECK-11-NEXT:   <TagType abbrevid=8 op0=3/>
+// CHECK-11-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-11-NEXT:     <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/>
+// CHECK-11-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'E'
+// CHECK-11-NEXT:     <RefType abbrevid=6 op0=2/>
+// CHECK-11-NEXT:     <Field abbrevid=7 op0=2/>
+// CHECK-11-NEXT:   </ReferenceBlock>
+// CHECK-11-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-11-NEXT:     <USR abbrevid=4 op0=20 op1=9 op2=33 op3=115 op4=117 op5=65 op6=32 op7=139 op8=143 op9=169 op10=187 op11=66 op12=182 op13=15 op14=120 op15=172 op16=29 op17=119 op18=154 op19=160 op20=84/>
+// CHECK-11-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'D'
+// CHECK-11-NEXT:     <RefType abbrevid=6 op0=2/>
+// CHECK-11-NEXT:     <Field abbrevid=7 op0=3/>
+// CHECK-11-NEXT:   </ReferenceBlock>
+// CHECK-11-NEXT: </RecordBlock>
+
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/ACE81AFA6627B4CEF2B456FB6E1252925674AF7E.bc | FileCheck %s --check-prefix CHECK-12
+// CHECK-12: <BLOCKINFO_BLOCK/>
+// CHECK-12-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
+// CHECK-12-NEXT:   <Version abbrevid=4 op0=2/>
+// CHECK-12-NEXT: </VersionBlock>
+// CHECK-12-NEXT: <RecordBlock NumWords=33 BlockCodeSize=4>
+// CHECK-12-NEXT:   <USR abbrevid=4 op0=20 op1=172 op2=232 op3=26 op4=250 op5=102 op6=39 op7=180 op8=206 op9=242 op10=180 op11=86 op12=251 op13=110 op14=18 op15=82 op16=146 op17=86 op18=116 op19=175 op20=126/>
+// CHECK-12-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'A'
+// CHECK-12-NEXT:   <DefLocation abbrevid=6 op0=15 op1=4/> blob data = '{{.*}}'
+// CHECK-12-NEXT:   <TagType abbrevid=8 op0=2/>
+// CHECK-12-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-12-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-12-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-12-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-12-NEXT:     </ReferenceBlock>
+// CHECK-12-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'X'
+// CHECK-12-NEXT:     <Access abbrevid=5 op0=3/>
+// CHECK-12-NEXT:   </MemberTypeBlock>
+// CHECK-12-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-12-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-12-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-12-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-12-NEXT:     </ReferenceBlock>
+// CHECK-12-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'Y'
+// CHECK-12-NEXT:     <Access abbrevid=5 op0=3/>
+// CHECK-12-NEXT:   </MemberTypeBlock>
+// CHECK-12-NEXT: </RecordBlock>
+
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/1E3438A08BA22025C0B46289FF0686F92C8924C5.bc | FileCheck %s --check-prefix CHECK-13
+// CHECK-13: <BLOCKINFO_BLOCK/>
+// CHECK-13-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
+// CHECK-13-NEXT:   <Version abbrevid=4 op0=2/>
+// CHECK-13-NEXT: </VersionBlock>
+// CHECK-13-NEXT: <EnumBlock NumWords=16 BlockCodeSize=4>
+// CHECK-13-NEXT:   <USR abbrevid=4 op0=20 op1=30 op2=52 op3=56 op4=160 op5=139 op6=162 op7=32 op8=37 op9=192 op10=180 op11=98 op12=137 op13=255 op14=6 op15=134 op16=249 op17=44 op18=137 op19=36 op20=197/>
+// CHECK-13-NEXT:   <Name abbrevid=5 op0=2/> blob data = 'Bc'
+// CHECK-13-NEXT:   <DefLocation abbrevid=6 op0=19 op1=4/> blob data = '{{.*}}'
+// CHECK-13-NEXT:   <Scoped abbrevid=9 op0=1/>
+// CHECK-13-NEXT:   <Member abbrevid=8 op0=1/> blob data = 'A'
+// CHECK-13-NEXT:   <Member abbrevid=8 op0=1/> blob data = 'B'
+// CHECK-13-NEXT: </EnumBlock>

Modified: clang-tools-extra/trunk/test/clang-doc/mapper-comment.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/mapper-comment.cpp?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/mapper-comment.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/mapper-comment.cpp Thu Aug  2 11:01:37 2018
@@ -27,48 +27,46 @@ void F(int I, int J);
 /// Bonus comment on definition
 void F(int I, int J) {}
 
-// RUN: clang-doc --dump-mapper --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
+// RUN: clang-doc --dump-mapper --doxygen -p %t %t/test.cpp -output=%t/docs
 
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-0
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/7574630614A535710E5A6ABCFFF98BCA2D06A4CA.bc | FileCheck %s --check-prefix CHECK-0
 // CHECK-0: <BLOCKINFO_BLOCK/>
 // CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-0-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-0-NEXT: </VersionBlock>
-// CHECK-0-NEXT: <NamespaceBlock NumWords=73 BlockCodeSize=4>
-// CHECK-0-NEXT:   <FunctionBlock NumWords=70 BlockCodeSize=4>
-// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'F'
-// CHECK-0-NEXT:     <CommentBlock NumWords=28 BlockCodeSize=4>
-// CHECK-0-NEXT:       <Kind abbrevid=4 op0=11/> blob data = 'FullComment'
-// CHECK-0-NEXT:       <CommentBlock NumWords=21 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
-// CHECK-0-NEXT:         <CommentBlock NumWords=13 BlockCodeSize=4>
-// CHECK-0-NEXT:           <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
-// CHECK-0-NEXT:           <Text abbrevid=5 op0=28/> blob data = ' Bonus comment on definition'
-// CHECK-0-NEXT:         </CommentBlock>
+// CHECK-0-NEXT: <FunctionBlock NumWords=70 BlockCodeSize=4>
+// CHECK-0-NEXT:   <USR abbrevid=4 op0=20 op1=117 op2=116 op3=99 op4=6 op5=20 op6=165 op7=53 op8=113 op9=14 op10=90 op11=106 op12=188 op13=255 op14=249 op15=139 op16=202 op17=45 op18=6 op19=164 op20=202/>
+// CHECK-0-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'F'
+// CHECK-0-NEXT:   <CommentBlock NumWords=28 BlockCodeSize=4>
+// CHECK-0-NEXT:     <Kind abbrevid=4 op0=11/> blob data = 'FullComment'
+// CHECK-0-NEXT:     <CommentBlock NumWords=21 BlockCodeSize=4>
+// CHECK-0-NEXT:       <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
+// CHECK-0-NEXT:       <CommentBlock NumWords=13 BlockCodeSize=4>
+// CHECK-0-NEXT:         <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
+// CHECK-0-NEXT:         <Text abbrevid=5 op0=28/> blob data = ' Bonus comment on definition'
 // CHECK-0-NEXT:       </CommentBlock>
 // CHECK-0-NEXT:     </CommentBlock>
-// CHECK-0-NEXT:     <DefLocation abbrevid=6 op0=28 op1=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:     </TypeBlock>
-// CHECK-0-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'I'
-// CHECK-0-NEXT:     </FieldTypeBlock>
-// CHECK-0-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'J'
-// CHECK-0-NEXT:     </FieldTypeBlock>
-// CHECK-0-NEXT:   </FunctionBlock>
-// CHECK-0-NEXT: </NamespaceBlock>
+// CHECK-0-NEXT:   </CommentBlock>
+// CHECK-0-NEXT:   <DefLocation abbrevid=6 op0=28 op1=4/> blob data = '{{.*}}'
+// CHECK-0-NEXT:   <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-0-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-0-NEXT:       <Name abbrevid=5 op0=4/> blob data = 'void'
+// CHECK-0-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-0-NEXT:     </ReferenceBlock>
+// CHECK-0-NEXT:   </TypeBlock>
+// CHECK-0-NEXT:   <FieldTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-0-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-0-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-0-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-0-NEXT:     </ReferenceBlock>
+// CHECK-0-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'I'
+// CHECK-0-NEXT:   </FieldTypeBlock>
+// CHECK-0-NEXT:   <FieldTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-0-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-0-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-0-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-0-NEXT:     </ReferenceBlock>
+// CHECK-0-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'J'
+// CHECK-0-NEXT:   </FieldTypeBlock>
+// CHECK-0-NEXT: </FunctionBlock>

Removed: clang-tools-extra/trunk/test/clang-doc/mapper-linkage.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/mapper-linkage.cpp?rev=338747&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/mapper-linkage.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/mapper-linkage.cpp (removed)
@@ -1,402 +0,0 @@
-// THIS IS A GENERATED TEST. DO NOT EDIT.
-// To regenerate, see clang-doc/gen_test.py docstring.
-//
-// REQUIRES: system-linux
-// RUN: rm -rf %t
-// RUN: mkdir %t
-// RUN: echo "" > %t/compile_flags.txt
-// RUN: cp "%s" "%t/test.cpp"
-
-void function(int x);
-
-inline int inlinedFunction(int x);
-
-int functionWithInnerClass(int x) {
-  class InnerClass { //NoLinkage
-  public:
-    int innerPublicMethod() { return 2; };
-  }; //end class
-  InnerClass temp;
-  return temp.innerPublicMethod();
-};
-
-inline int inlinedFunctionWithInnerClass(int x) {
-  class InnerClass { //VisibleNoLinkage
-  public:
-    int innerPublicMethod() { return 2; };
-  }; //end class
-  InnerClass temp;
-  return temp.innerPublicMethod();
-};
-
-class Class {
-public:
-  void publicMethod();
-  int publicField;
-
-protected:
-  void protectedMethod();
-  int protectedField;
-
-private:
-  void privateMethod();
-  int privateField;
-};
-
-namespace named {
-class NamedClass {
-public:
-  void namedPublicMethod();
-  int namedPublicField;
-
-protected:
-  void namedProtectedMethod();
-  int namedProtectedField;
-
-private:
-  void namedPrivateMethod();
-  int namedPrivateField;
-};
-
-void namedFunction();
-static void namedStaticFunction();
-inline void namedInlineFunction();
-} // namespace named
-
-static void staticFunction(int x); //Internal Linkage
-
-static int staticFunctionWithInnerClass(int x) {
-  class InnerClass { //NoLinkage
-  public:
-    int innerPublicMethod() { return 2; };
-  }; //end class
-  InnerClass temp;
-  return temp.innerPublicMethod();
-};
-
-namespace {
-class AnonClass {
-public:
-  void anonPublicMethod();
-  int anonPublicField;
-
-protected:
-  void anonProtectedMethod();
-  int anonProtectedField;
-
-private:
-  void anonPrivateMethod();
-  int anonPrivateField;
-};
-
-void anonFunction();
-static void anonStaticFunction();
-inline void anonInlineFunction();
-} // namespace
-
-// RUN: clang-doc --dump-mapper --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
-
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/C9B3B71ACDD84C5BB320D34E97677715CDB3EA32.bc | FileCheck %s --check-prefix CHECK-0
-// CHECK-0: <BLOCKINFO_BLOCK/>
-// CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-0-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-0-NEXT: </VersionBlock>
-// CHECK-0-NEXT: <RecordBlock NumWords=79 BlockCodeSize=4>
-// CHECK-0-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:   <FunctionBlock NumWords=71 BlockCodeSize=4>
-// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'innerPublicMethod'
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-0-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-0-NEXT:     </ReferenceBlock>
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=17 BlockCodeSize=4>
-// CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=29/> blob data = 'inlinedFunctionWithInnerClass'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=3/>
-// CHECK-0-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-0-NEXT:     </ReferenceBlock>
-// CHECK-0-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-0-NEXT:     <DefLocation abbrevid=6 op0=26 op1=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-0-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-0-NEXT:     </ReferenceBlock>
-// CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:     </TypeBlock>
-// CHECK-0-NEXT:   </FunctionBlock>
-// CHECK-0-NEXT: </RecordBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/8960B5C9247D6F5C532756E53A1AD1240FA2146F.bc | FileCheck %s --check-prefix CHECK-1
-// CHECK-1: <BLOCKINFO_BLOCK/>
-// CHECK-1-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-1-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-1-NEXT: </VersionBlock>
-// CHECK-1-NEXT: <NamespaceBlock NumWords=45 BlockCodeSize=4>
-// CHECK-1-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4>
-// CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:     <Name abbrevid=5 op0=19/> blob data = 'namedInlineFunction'
-// CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
-// CHECK-1-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-1-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-1-NEXT:     </ReferenceBlock>
-// CHECK-1-NEXT:     <Location abbrevid=7 op0=63 op1=4/> blob data = '{{.*}}'
-// CHECK-1-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-1-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-1-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-1-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-1-NEXT:       </ReferenceBlock>
-// CHECK-1-NEXT:     </TypeBlock>
-// CHECK-1-NEXT:   </FunctionBlock>
-// CHECK-1-NEXT: </NamespaceBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/74A031CBE68C101F3E83F60ED17F20C11EC19D48.bc | FileCheck %s --check-prefix CHECK-2
-// CHECK-2: <BLOCKINFO_BLOCK/>
-// CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-2-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-2-NEXT: </VersionBlock>
-// CHECK-2-NEXT: <RecordBlock NumWords=78 BlockCodeSize=4>
-// CHECK-2-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:   <FunctionBlock NumWords=70 BlockCodeSize=4>
-// CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'innerPublicMethod'
-// CHECK-2-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-2-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-2-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-2-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-2-NEXT:     </ReferenceBlock>
-// CHECK-2-NEXT:     <ReferenceBlock NumWords=16 BlockCodeSize=4>
-// CHECK-2-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:       <Name abbrevid=5 op0=28/> blob data = 'staticFunctionWithInnerClass'
-// CHECK-2-NEXT:       <RefType abbrevid=6 op0=3/>
-// CHECK-2-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-2-NEXT:     </ReferenceBlock>
-// CHECK-2-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-2-NEXT:     <DefLocation abbrevid=6 op0=71 op1=4/> blob data = '{{.*}}'
-// CHECK-2-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-2-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-2-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-2-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-2-NEXT:     </ReferenceBlock>
-// CHECK-2-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-2-NEXT:       </ReferenceBlock>
-// CHECK-2-NEXT:     </TypeBlock>
-// CHECK-2-NEXT:   </FunctionBlock>
-// CHECK-2-NEXT: </RecordBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/7CDD73DCD6CD72F7E5CE25502810A182C66C4B45.bc | FileCheck %s --check-prefix CHECK-3
-// CHECK-3: <BLOCKINFO_BLOCK/>
-// CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-3-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-3-NEXT: </VersionBlock>
-// CHECK-3-NEXT: <RecordBlock NumWords=57 BlockCodeSize=4>
-// CHECK-3-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:   <FunctionBlock NumWords=49 BlockCodeSize=4>
-// CHECK-3-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:     <Name abbrevid=5 op0=13/> blob data = 'privateMethod'
-// CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
-// CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-3-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-3-NEXT:     <Location abbrevid=7 op0=42 op1=4/> blob data = '{{.*}}'
-// CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
-// CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-3-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-3-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-3-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-3-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-3-NEXT:       </ReferenceBlock>
-// CHECK-3-NEXT:     </TypeBlock>
-// CHECK-3-NEXT:   </FunctionBlock>
-// CHECK-3-NEXT: </RecordBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/85427901413EC77C961019EBB3ADEF7B0BAAFE78.bc | FileCheck %s --check-prefix CHECK-4
-// CHECK-4: <BLOCKINFO_BLOCK/>
-// CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-4-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-4-NEXT: </VersionBlock>
-// CHECK-4-NEXT: <RecordBlock NumWords=77 BlockCodeSize=4>
-// CHECK-4-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:   <FunctionBlock NumWords=69 BlockCodeSize=4>
-// CHECK-4-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'innerPublicMethod'
-// CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-4-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-4-NEXT:     </ReferenceBlock>
-// CHECK-4-NEXT:     <ReferenceBlock NumWords=15 BlockCodeSize=4>
-// CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:       <Name abbrevid=5 op0=22/> blob data = 'functionWithInnerClass'
-// CHECK-4-NEXT:       <RefType abbrevid=6 op0=3/>
-// CHECK-4-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-4-NEXT:     </ReferenceBlock>
-// CHECK-4-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-4-NEXT:     <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}'
-// CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-4-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-4-NEXT:     </ReferenceBlock>
-// CHECK-4-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-4-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-4-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-4-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-4-NEXT:       </ReferenceBlock>
-// CHECK-4-NEXT:     </TypeBlock>
-// CHECK-4-NEXT:   </FunctionBlock>
-// CHECK-4-NEXT: </RecordBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-5
-// CHECK-5: <BLOCKINFO_BLOCK/>
-// CHECK-5-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-5-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-5-NEXT: </VersionBlock>
-// CHECK-5-NEXT: <NamespaceBlock NumWords=39 BlockCodeSize=4>
-// CHECK-5-NEXT:   <FunctionBlock NumWords=36 BlockCodeSize=4>
-// CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=28/> blob data = 'staticFunctionWithInnerClass'
-// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=68 op1=4/> blob data = '{{.*}}'
-// CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:     </TypeBlock>
-// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
-// CHECK-5-NEXT:     </FieldTypeBlock>
-// CHECK-5-NEXT:   </FunctionBlock>
-// CHECK-5-NEXT: </NamespaceBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/4712C5FA37B298A25501D1033C619B65B0ECC449.bc | FileCheck %s --check-prefix CHECK-6
-// CHECK-6: <BLOCKINFO_BLOCK/>
-// CHECK-6-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-6-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-6-NEXT: </VersionBlock>
-// CHECK-6-NEXT: <RecordBlock NumWords=73 BlockCodeSize=4>
-// CHECK-6-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:   <FunctionBlock NumWords=65 BlockCodeSize=4>
-// CHECK-6-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:     <Name abbrevid=5 op0=18/> blob data = 'namedPrivateMethod'
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-6-NEXT:     <Location abbrevid=7 op0=57 op1=4/> blob data = '{{.*}}'
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-6-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-6-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-6-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-6-NEXT:       </ReferenceBlock>
-// CHECK-6-NEXT:     </TypeBlock>
-// CHECK-6-NEXT:   </FunctionBlock>
-// CHECK-6-NEXT: </RecordBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/6E8FB72A89761E77020BFCEE9A9A6E64B15CC2A9.bc | FileCheck %s --check-prefix CHECK-7
-// CHECK-7: <BLOCKINFO_BLOCK/>
-// CHECK-7-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-7-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-7-NEXT: </VersionBlock>
-// CHECK-7-NEXT: <RecordBlock NumWords=69 BlockCodeSize=4>
-// CHECK-7-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:   <FunctionBlock NumWords=61 BlockCodeSize=4>
-// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'anonPrivateMethod'
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-7-NEXT:     <Location abbrevid=7 op0=88 op1=4/> blob data = '{{.*}}'
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-7-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-7-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-7-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-7-NEXT:       </ReferenceBlock>
-// CHECK-7-NEXT:     </TypeBlock>
-// CHECK-7-NEXT:   </FunctionBlock>
-// CHECK-7-NEXT: </RecordBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/83CC52D32583E0771710A7742DE81C839E953AC8.bc | FileCheck %s --check-prefix CHECK-8
-// CHECK-8: <BLOCKINFO_BLOCK/>
-// CHECK-8-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-8-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-8-NEXT: </VersionBlock>
-// CHECK-8-NEXT: <NamespaceBlock NumWords=41 BlockCodeSize=4>
-// CHECK-8-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4>
-// CHECK-8-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:     <Name abbrevid=5 op0=18/> blob data = 'anonInlineFunction'
-// CHECK-8-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
-// CHECK-8-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-8-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-8-NEXT:     </ReferenceBlock>
-// CHECK-8-NEXT:     <Location abbrevid=7 op0=94 op1=4/> blob data = '{{.*}}'
-// CHECK-8-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-8-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-8-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-8-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-8-NEXT:       </ReferenceBlock>
-// CHECK-8-NEXT:     </TypeBlock>
-// CHECK-8-NEXT:   </FunctionBlock>
-// CHECK-8-NEXT: </NamespaceBlock>

Removed: clang-tools-extra/trunk/test/clang-doc/mapper-module.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/mapper-module.cpp?rev=338747&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/mapper-module.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/mapper-module.cpp (removed)
@@ -1,51 +0,0 @@
-// THIS IS A GENERATED TEST. DO NOT EDIT.
-// To regenerate, see clang-doc/gen_test.py docstring.
-//
-// RUN: rm -rf %t
-// RUN: mkdir %t
-// RUN: echo "" > %t/compile_flags.txt
-// RUN: cp "%s" "%t/test.cpp"
-
-export module M;
-
-int moduleFunction(int x); // ModuleLinkage
-
-static int staticModuleFunction(int x); // ModuleInternalLinkage
-
-export double exportedModuleFunction(double y, int z); // ExternalLinkage
-
-// RUN: clang-doc --dump-mapper --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
-
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-0
-// CHECK-0: <BLOCKINFO_BLOCK/>
-// CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-0-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-0-NEXT: </VersionBlock>
-// CHECK-0-NEXT: <NamespaceBlock NumWords=50 BlockCodeSize=4>
-// CHECK-0-NEXT:   <FunctionBlock NumWords=47 BlockCodeSize=4>
-// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:     <Name abbrevid=5 op0=22/> blob data = 'exportedModuleFunction'
-// CHECK-0-NEXT:     <Location abbrevid=7 op0=15 op1=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:     <TypeBlock NumWords=7 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=4 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=6/> blob data = 'double'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:     </TypeBlock>
-// CHECK-0-NEXT:     <FieldTypeBlock NumWords=9 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=4 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=6/> blob data = 'double'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'y'
-// CHECK-0-NEXT:     </FieldTypeBlock>
-// CHECK-0-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'z'
-// CHECK-0-NEXT:     </FieldTypeBlock>
-// CHECK-0-NEXT:   </FunctionBlock>
-// CHECK-0-NEXT: </NamespaceBlock>

Modified: clang-tools-extra/trunk/test/clang-doc/mapper-namespace.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/mapper-namespace.cpp?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/mapper-namespace.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/mapper-namespace.cpp Thu Aug  2 11:01:37 2018
@@ -25,70 +25,114 @@ E func(int i) { return X; }
 }  // namespace B
 }  // namespace A
 
-// RUN: clang-doc --dump-mapper --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
+// RUN: clang-doc --dump-mapper --doxygen -p %t %t/test.cpp -output=%t/docs
 
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/8D042EFFC98B373450BC6B5B90A330C25A150E9C.bc | FileCheck %s --check-prefix CHECK-0
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/E9ABF7E7E2425B626723D41E76E4BC7E7A5BD775.bc | FileCheck %s --check-prefix CHECK-0
 // CHECK-0: <BLOCKINFO_BLOCK/>
 // CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-0-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-0-NEXT: </VersionBlock>
-// CHECK-0-NEXT: <NamespaceBlock NumWords=40 BlockCodeSize=4>
-// CHECK-0-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:   <FunctionBlock NumWords=32 BlockCodeSize=4>
-// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'f'
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=1/> blob data = 'A'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-0-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-0-NEXT:     </ReferenceBlock>
-// CHECK-0-NEXT:     <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:     </TypeBlock>
-// CHECK-0-NEXT:   </FunctionBlock>
-// CHECK-0-NEXT: </NamespaceBlock>
+// CHECK-0-NEXT: <EnumBlock NumWords=38 BlockCodeSize=4>
+// CHECK-0-NEXT:   <USR abbrevid=4 op0=20 op1=233 op2=171 op3=247 op4=231 op5=226 op6=66 op7=91 op8=98 op9=103 op10=35 op11=212 op12=30 op13=118 op14=228 op15=188 op16=126 op17=122 op18=91 op19=215 op20=117/>
+// CHECK-0-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'E'
+// CHECK-0-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1=226 op2=26 op3=247 op4=158 op5=42 op6=157 op7=2 op8=85 op9=75 op10=160 op11=144 op12=209 op13=13 op14=243 op15=159 op16=226 op17=115 op18=245 op19=205 op20=181/>
+// CHECK-0-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'B'
+// CHECK-0-NEXT:     <RefType abbrevid=6 op0=1/>
+// CHECK-0-NEXT:     <Field abbrevid=7 op0=1/>
+// CHECK-0-NEXT:   </ReferenceBlock>
+// CHECK-0-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1=141 op2=4 op3=46 op4=255 op5=201 op6=139 op7=55 op8=52 op9=80 op10=188 op11=107 op12=91 op13=144 op14=163 op15=48 op16=194 op17=90 op18=21 op19=14 op20=156/>
+// CHECK-0-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'A'
+// CHECK-0-NEXT:     <RefType abbrevid=6 op0=1/>
+// CHECK-0-NEXT:     <Field abbrevid=7 op0=1/>
+// CHECK-0-NEXT:   </ReferenceBlock>
+// CHECK-0-NEXT:   <DefLocation abbrevid=6 op0=21 op1=4/> blob data = '{{.*}}'
+// CHECK-0-NEXT:   <Member abbrevid=8 op0=1/> blob data = 'X'
+// CHECK-0-NEXT: </EnumBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/E21AF79E2A9D02554BA090D10DF39FE273F5CDB5.bc | FileCheck %s --check-prefix CHECK-1
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/39D3C95A5F7CE2BA4937BD7B01BAE09EBC2AD8AC.bc | FileCheck %s --check-prefix CHECK-1
 // CHECK-1: <BLOCKINFO_BLOCK/>
 // CHECK-1-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-1-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-1-NEXT: </VersionBlock>
-// CHECK-1-NEXT: <NamespaceBlock NumWords=64 BlockCodeSize=4>
-// CHECK-1-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:   <FunctionBlock NumWords=56 BlockCodeSize=4>
-// CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:     <Name abbrevid=5 op0=4/> blob data = 'func'
-// CHECK-1-NEXT:     <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:       <Name abbrevid=5 op0=1/> blob data = 'B'
-// CHECK-1-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-1-NEXT:       <Field abbrevid=7 op0=1/>
+// CHECK-1-NEXT: <FunctionBlock NumWords=32 BlockCodeSize=4>
+// CHECK-1-NEXT:   <USR abbrevid=4 op0=20 op1=57 op2=211 op3=201 op4=90 op5=95 op6=124 op7=226 op8=186 op9=73 op10=55 op11=189 op12=123 op13=1 op14=186 op15=224 op16=158 op17=188 op18=42 op19=216 op20=172/>
+// CHECK-1-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'f'
+// CHECK-1-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1=141 op2=4 op3=46 op4=255 op5=201 op6=139 op7=55 op8=52 op9=80 op10=188 op11=107 op12=91 op13=144 op14=163 op15=48 op16=194 op17=90 op18=21 op19=14 op20=156/>
+// CHECK-1-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'A'
+// CHECK-1-NEXT:     <RefType abbrevid=6 op0=1/>
+// CHECK-1-NEXT:     <Field abbrevid=7 op0=1/>
+// CHECK-1-NEXT:   </ReferenceBlock>
+// CHECK-1-NEXT:   <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}'
+// CHECK-1-NEXT:   <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-1-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-1-NEXT:       <Name abbrevid=5 op0=4/> blob data = 'void'
+// CHECK-1-NEXT:       <Field abbrevid=7 op0=4/>
 // CHECK-1-NEXT:     </ReferenceBlock>
-// CHECK-1-NEXT:     <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:       <Name abbrevid=5 op0=1/> blob data = 'A'
-// CHECK-1-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-1-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-1-NEXT:     </ReferenceBlock>
-// CHECK-1-NEXT:     <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}'
-// CHECK-1-NEXT:     <TypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-1-NEXT:       <ReferenceBlock NumWords=5 BlockCodeSize=4>
-// CHECK-1-NEXT:         <Name abbrevid=5 op0=12/> blob data = 'enum A::B::E'
-// CHECK-1-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-1-NEXT:       </ReferenceBlock>
-// CHECK-1-NEXT:     </TypeBlock>
-// CHECK-1-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-1-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-1-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-1-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-1-NEXT:       </ReferenceBlock>
-// CHECK-1-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'i'
-// CHECK-1-NEXT:     </FieldTypeBlock>
-// CHECK-1-NEXT:   </FunctionBlock>
-// CHECK-1-NEXT: </NamespaceBlock>
+// CHECK-1-NEXT:   </TypeBlock>
+// CHECK-1-NEXT: </FunctionBlock>
+
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/9A82CB33ED0FDF81EE383D31CD0957D153C5E840.bc | FileCheck %s --check-prefix CHECK-2
+// CHECK-2: <BLOCKINFO_BLOCK/>
+// CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
+// CHECK-2-NEXT:   <Version abbrevid=4 op0=2/>
+// CHECK-2-NEXT: </VersionBlock>
+// CHECK-2-NEXT: <FunctionBlock NumWords=56 BlockCodeSize=4>
+// CHECK-2-NEXT:   <USR abbrevid=4 op0=20 op1=154 op2=130 op3=203 op4=51 op5=237 op6=15 op7=223 op8=129 op9=238 op10=56 op11=61 op12=49 op13=205 op14=9 op15=87 op16=209 op17=83 op18=197 op19=232 op20=64/>
+// CHECK-2-NEXT:   <Name abbrevid=5 op0=4/> blob data = 'func'
+// CHECK-2-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1=226 op2=26 op3=247 op4=158 op5=42 op6=157 op7=2 op8=85 op9=75 op10=160 op11=144 op12=209 op13=13 op14=243 op15=159 op16=226 op17=115 op18=245 op19=205 op20=181/>
+// CHECK-2-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'B'
+// CHECK-2-NEXT:     <RefType abbrevid=6 op0=1/>
+// CHECK-2-NEXT:     <Field abbrevid=7 op0=1/>
+// CHECK-2-NEXT:   </ReferenceBlock>
+// CHECK-2-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1=141 op2=4 op3=46 op4=255 op5=201 op6=139 op7=55 op8=52 op9=80 op10=188 op11=107 op12=91 op13=144 op14=163 op15=48 op16=194 op17=90 op18=21 op19=14 op20=156/>
+// CHECK-2-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'A'
+// CHECK-2-NEXT:     <RefType abbrevid=6 op0=1/>
+// CHECK-2-NEXT:     <Field abbrevid=7 op0=1/>
+// CHECK-2-NEXT:   </ReferenceBlock>
+// CHECK-2-NEXT:   <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}'
+// CHECK-2-NEXT:   <TypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-2-NEXT:     <ReferenceBlock NumWords=5 BlockCodeSize=4>
+// CHECK-2-NEXT:       <Name abbrevid=5 op0=12/> blob data = 'enum A::B::E'
+// CHECK-2-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-2-NEXT:     </ReferenceBlock>
+// CHECK-2-NEXT:   </TypeBlock>
+// CHECK-2-NEXT:   <FieldTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-2-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-2-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-2-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-2-NEXT:     </ReferenceBlock>
+// CHECK-2-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'i'
+// CHECK-2-NEXT:   </FieldTypeBlock>
+// CHECK-2-NEXT: </FunctionBlock>
+
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/8D042EFFC98B373450BC6B5B90A330C25A150E9C.bc | FileCheck %s --check-prefix CHECK-3
+// CHECK-3: <BLOCKINFO_BLOCK/>
+// CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
+// CHECK-3-NEXT:   <Version abbrevid=4 op0=2/>
+// CHECK-3-NEXT: </VersionBlock>
+// CHECK-3-NEXT: <NamespaceBlock NumWords=9 BlockCodeSize=4>
+// CHECK-3-NEXT:   <USR abbrevid=4 op0=20 op1=141 op2=4 op3=46 op4=255 op5=201 op6=139 op7=55 op8=52 op9=80 op10=188 op11=107 op12=91 op13=144 op14=163 op15=48 op16=194 op17=90 op18=21 op19=14 op20=156/>
+// CHECK-3-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'A'
+// CHECK-3-NEXT: </NamespaceBlock>
+
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/E21AF79E2A9D02554BA090D10DF39FE273F5CDB5.bc | FileCheck %s --check-prefix CHECK-4
+// CHECK-4: <BLOCKINFO_BLOCK/>
+// CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
+// CHECK-4-NEXT:   <Version abbrevid=4 op0=2/>
+// CHECK-4-NEXT: </VersionBlock>
+// CHECK-4-NEXT: <NamespaceBlock NumWords=21 BlockCodeSize=4>
+// CHECK-4-NEXT:   <USR abbrevid=4 op0=20 op1=226 op2=26 op3=247 op4=158 op5=42 op6=157 op7=2 op8=85 op9=75 op10=160 op11=144 op12=209 op13=13 op14=243 op15=159 op16=226 op17=115 op18=245 op19=205 op20=181/>
+// CHECK-4-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'B'
+// CHECK-4-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-4-NEXT:     <USR abbrevid=4 op0=20 op1=141 op2=4 op3=46 op4=255 op5=201 op6=139 op7=55 op8=52 op9=80 op10=188 op11=107 op12=91 op13=144 op14=163 op15=48 op16=194 op17=90 op18=21 op19=14 op20=156/>
+// CHECK-4-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'A'
+// CHECK-4-NEXT:     <RefType abbrevid=6 op0=1/>
+// CHECK-4-NEXT:     <Field abbrevid=7 op0=1/>
+// CHECK-4-NEXT:   </ReferenceBlock>
+// CHECK-4-NEXT: </NamespaceBlock>

Modified: clang-tools-extra/trunk/test/clang-doc/mapper-record.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/mapper-record.cpp?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/mapper-record.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/mapper-record.cpp Thu Aug  2 11:01:37 2018
@@ -39,7 +39,7 @@ class X {
   class Y {};
 };
 
-// RUN: clang-doc --dump-mapper --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
+// RUN: clang-doc --dump-mapper --doxygen -p %t %t/test.cpp -output=%t/docs
 
 
 // RUN: llvm-bcanalyzer --dump %t/docs/bc/289584A8E0FF4178A794622A547AA622503967A1.bc | FileCheck %s --check-prefix CHECK-0
@@ -47,32 +47,11 @@ class X {
 // CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-0-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-0-NEXT: </VersionBlock>
-// CHECK-0-NEXT: <RecordBlock NumWords=55 BlockCodeSize=4>
-// CHECK-0-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:   <FunctionBlock NumWords=47 BlockCodeSize=4>
-// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:     <Name abbrevid=5 op0=15/> blob data = 'ProtectedMethod'
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=1/> blob data = 'E'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-0-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-0-NEXT:     </ReferenceBlock>
-// CHECK-0-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-0-NEXT:     <DefLocation abbrevid=6 op0=34 op1=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=1/> blob data = 'E'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-0-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-0-NEXT:     </ReferenceBlock>
-// CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-0-NEXT:       </ReferenceBlock>
-// CHECK-0-NEXT:     </TypeBlock>
-// CHECK-0-NEXT:   </FunctionBlock>
+// CHECK-0-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
+// CHECK-0-NEXT:   <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/>
+// CHECK-0-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'E'
+// CHECK-0-NEXT:   <DefLocation abbrevid=6 op0=25 op1=4/> blob data = '{{.*}}'
+// CHECK-0-NEXT:   <TagType abbrevid=8 op0=3/>
 // CHECK-0-NEXT: </RecordBlock>
 
 // RUN: llvm-bcanalyzer --dump %t/docs/bc/3FB542274573CAEAD54CEBFFCAEE3D77FB9713D8.bc | FileCheck %s --check-prefix CHECK-1
@@ -81,10 +60,10 @@ class X {
 // CHECK-1-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-1-NEXT: </VersionBlock>
 // CHECK-1-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4>
-// CHECK-1-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-1-NEXT:   <USR abbrevid=4 op0=20 op1=63 op2=181 op3=66 op4=39 op5=69 op6=115 op7=202 op8=234 op9=213 op10=76 op11=235 op12=255 op13=202 op14=238 op15=61 op16=119 op17=251 op18=151 op19=19 op20=216/>
 // CHECK-1-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'I'
 // CHECK-1-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1=182 op2=172 op3=76 op4=92 op5=159 op6=46 op7=163 op8=242 op9=179 op10=236 op11=225 op12=163 op13=61 op14=52 op15=159 op16=78 op17=229 op18=2 op19=178 op20=78/>
 // CHECK-1-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'H'
 // CHECK-1-NEXT:     <RefType abbrevid=6 op0=3/>
 // CHECK-1-NEXT:     <Field abbrevid=7 op0=1/>
@@ -93,128 +72,246 @@ class X {
 // CHECK-1-NEXT:   <TagType abbrevid=8 op0=3/>
 // CHECK-1-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/CA7C7935730B5EACD25F080E9C83FA087CCDC75E.bc | FileCheck %s --check-prefix CHECK-2
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/5093D428CDC62096A67547BA52566E4FB9404EEE.bc | FileCheck %s --check-prefix CHECK-2
 // CHECK-2: <BLOCKINFO_BLOCK/>
 // CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-2-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-2-NEXT: </VersionBlock>
-// CHECK-2-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
-// CHECK-2-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'X'
-// CHECK-2-NEXT:   <DefLocation abbrevid=6 op0=38 op1=4/> blob data = '{{.*}}'
-// CHECK-2-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-2-NEXT: </RecordBlock>
+// CHECK-2-NEXT: <FunctionBlock NumWords=47 BlockCodeSize=4>
+// CHECK-2-NEXT:   <USR abbrevid=4 op0=20 op1=80 op2=147 op3=212 op4=40 op5=205 op6=198 op7=32 op8=150 op9=166 op10=117 op11=71 op12=186 op13=82 op14=86 op15=110 op16=79 op17=185 op18=64 op19=78 op20=238/>
+// CHECK-2-NEXT:   <Name abbrevid=5 op0=15/> blob data = 'ProtectedMethod'
+// CHECK-2-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/>
+// CHECK-2-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'E'
+// CHECK-2-NEXT:     <RefType abbrevid=6 op0=2/>
+// CHECK-2-NEXT:     <Field abbrevid=7 op0=1/>
+// CHECK-2-NEXT:   </ReferenceBlock>
+// CHECK-2-NEXT:   <IsMethod abbrevid=9 op0=1/>
+// CHECK-2-NEXT:   <DefLocation abbrevid=6 op0=34 op1=4/> blob data = '{{.*}}'
+// CHECK-2-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/>
+// CHECK-2-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'E'
+// CHECK-2-NEXT:     <RefType abbrevid=6 op0=2/>
+// CHECK-2-NEXT:     <Field abbrevid=7 op0=2/>
+// CHECK-2-NEXT:   </ReferenceBlock>
+// CHECK-2-NEXT:   <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-2-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-2-NEXT:       <Name abbrevid=5 op0=4/> blob data = 'void'
+// CHECK-2-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-2-NEXT:     </ReferenceBlock>
+// CHECK-2-NEXT:   </TypeBlock>
+// CHECK-2-NEXT: </FunctionBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/06B5F6A19BA9F6A832E127C9968282B94619B210.bc | FileCheck %s --check-prefix CHECK-3
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/CA7C7935730B5EACD25F080E9C83FA087CCDC75E.bc | FileCheck %s --check-prefix CHECK-3
 // CHECK-3: <BLOCKINFO_BLOCK/>
 // CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-3-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-3-NEXT: </VersionBlock>
-// CHECK-3-NEXT: <RecordBlock NumWords=22 BlockCodeSize=4>
-// CHECK-3-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'C'
-// CHECK-3-NEXT:   <DefLocation abbrevid=6 op0=21 op1=4/> blob data = '{{.*}}'
-// CHECK-3-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-3-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-3-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'i'
-// CHECK-3-NEXT:   </MemberTypeBlock>
+// CHECK-3-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
+// CHECK-3-NEXT:   <USR abbrevid=4 op0=20 op1=202 op2=124 op3=121 op4=53 op5=115 op6=11 op7=94 op8=172 op9=210 op10=95 op11=8 op12=14 op13=156 op14=131 op15=250 op16=8 op17=124 op18=205 op19=199 op20=94/>
+// CHECK-3-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'X'
+// CHECK-3-NEXT:   <DefLocation abbrevid=6 op0=38 op1=4/> blob data = '{{.*}}'
+// CHECK-3-NEXT:   <TagType abbrevid=8 op0=3/>
 // CHECK-3-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/641AB4A3D36399954ACDE29C7A8833032BF40472.bc | FileCheck %s --check-prefix CHECK-4
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/B6AC4C5C9F2EA3F2B3ECE1A33D349F4EE502B24E.bc | FileCheck %s --check-prefix CHECK-4
 // CHECK-4: <BLOCKINFO_BLOCK/>
 // CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-4-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-4-NEXT: </VersionBlock>
-// CHECK-4-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4>
-// CHECK-4-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'Y'
-// CHECK-4-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-4-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'X'
-// CHECK-4-NEXT:     <RefType abbrevid=6 op0=2/>
-// CHECK-4-NEXT:     <Field abbrevid=7 op0=1/>
-// CHECK-4-NEXT:   </ReferenceBlock>
-// CHECK-4-NEXT:   <DefLocation abbrevid=6 op0=39 op1=4/> blob data = '{{.*}}'
-// CHECK-4-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-4-NEXT: </RecordBlock>
+// CHECK-4-NEXT: <FunctionBlock NumWords=20 BlockCodeSize=4>
+// CHECK-4-NEXT:   <USR abbrevid=4 op0=20 op1=182 op2=172 op3=76 op4=92 op5=159 op6=46 op7=163 op8=242 op9=179 op10=236 op11=225 op12=163 op13=61 op14=52 op15=159 op16=78 op17=229 op18=2 op19=178 op20=78/>
+// CHECK-4-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'H'
+// CHECK-4-NEXT:   <DefLocation abbrevid=6 op0=11 op1=4/> blob data = '{{.*}}'
+// CHECK-4-NEXT:   <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-4-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-4-NEXT:       <Name abbrevid=5 op0=4/> blob data = 'void'
+// CHECK-4-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-4-NEXT:     </ReferenceBlock>
+// CHECK-4-NEXT:   </TypeBlock>
+// CHECK-4-NEXT: </FunctionBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-5
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/06B5F6A19BA9F6A832E127C9968282B94619B210.bc | FileCheck %s --check-prefix CHECK-5
 // CHECK-5: <BLOCKINFO_BLOCK/>
 // CHECK-5-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-5-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-5-NEXT: </VersionBlock>
-// CHECK-5-NEXT: <NamespaceBlock NumWords=19 BlockCodeSize=4>
-// CHECK-5-NEXT:   <EnumBlock NumWords=16 BlockCodeSize=4>
-// CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=2/> blob data = 'Bc'
-// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=19 op1=4/> blob data = '{{.*}}'
-// CHECK-5-NEXT:     <Scoped abbrevid=9 op0=1/>
-// CHECK-5-NEXT:     <Member abbrevid=8 op0=1/> blob data = 'A'
-// CHECK-5-NEXT:     <Member abbrevid=8 op0=1/> blob data = 'B'
-// CHECK-5-NEXT:   </EnumBlock>
-// CHECK-5-NEXT: </NamespaceBlock>
+// CHECK-5-NEXT: <RecordBlock NumWords=22 BlockCodeSize=4>
+// CHECK-5-NEXT:   <USR abbrevid=4 op0=20 op1=6 op2=181 op3=246 op4=161 op5=155 op6=169 op7=246 op8=168 op9=50 op10=225 op11=39 op12=201 op13=150 op14=130 op15=130 op16=185 op17=70 op18=25 op19=178 op20=16/>
+// CHECK-5-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'C'
+// CHECK-5-NEXT:   <DefLocation abbrevid=6 op0=21 op1=4/> blob data = '{{.*}}'
+// CHECK-5-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-5-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-5-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-5-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-5-NEXT:     </ReferenceBlock>
+// CHECK-5-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'i'
+// CHECK-5-NEXT:   </MemberTypeBlock>
+// CHECK-5-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/0921737541208B8FA9BB42B60F78AC1D779AA054.bc | FileCheck %s --check-prefix CHECK-6
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/BD2BDEBD423F80BACCEA75DE6D6622D355FC2D17.bc | FileCheck %s --check-prefix CHECK-6
 // CHECK-6: <BLOCKINFO_BLOCK/>
 // CHECK-6-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-6-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-6-NEXT: </VersionBlock>
-// CHECK-6-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'D'
-// CHECK-6-NEXT:   <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}'
-// CHECK-6-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-6-NEXT: </RecordBlock>
+// CHECK-6-NEXT: <FunctionBlock NumWords=44 BlockCodeSize=4>
+// CHECK-6-NEXT:   <USR abbrevid=4 op0=20 op1=189 op2=43 op3=222 op4=189 op5=66 op6=63 op7=128 op8=186 op9=204 op10=234 op11=117 op12=222 op13=109 op14=102 op15=34 op16=211 op17=85 op18=252 op19=45 op20=23/>
+// CHECK-6-NEXT:   <Name abbrevid=5 op0=2/> blob data = '~E'
+// CHECK-6-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-6-NEXT:     <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/>
+// CHECK-6-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'E'
+// CHECK-6-NEXT:     <RefType abbrevid=6 op0=2/>
+// CHECK-6-NEXT:     <Field abbrevid=7 op0=1/>
+// CHECK-6-NEXT:   </ReferenceBlock>
+// CHECK-6-NEXT:   <IsMethod abbrevid=9 op0=1/>
+// CHECK-6-NEXT:   <DefLocation abbrevid=6 op0=28 op1=4/> blob data = '{{.*}}'
+// CHECK-6-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-6-NEXT:     <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/>
+// CHECK-6-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'E'
+// CHECK-6-NEXT:     <RefType abbrevid=6 op0=2/>
+// CHECK-6-NEXT:     <Field abbrevid=7 op0=2/>
+// CHECK-6-NEXT:   </ReferenceBlock>
+// CHECK-6-NEXT:   <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-6-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-6-NEXT:       <Name abbrevid=5 op0=4/> blob data = 'void'
+// CHECK-6-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-6-NEXT:     </ReferenceBlock>
+// CHECK-6-NEXT:   </TypeBlock>
+// CHECK-6-NEXT: </FunctionBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/E3B54702FABFF4037025BA194FC27C47006330B5.bc | FileCheck %s --check-prefix CHECK-7
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/DEB4AC1CD9253CD9EF7FBE6BCAC506D77984ABD4.bc | FileCheck %s --check-prefix CHECK-7
 // CHECK-7: <BLOCKINFO_BLOCK/>
 // CHECK-7-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-7-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-7-NEXT: </VersionBlock>
-// CHECK-7-NEXT: <RecordBlock NumWords=37 BlockCodeSize=4>
-// CHECK-7-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'F'
-// CHECK-7-NEXT:   <DefLocation abbrevid=6 op0=36 op1=4/> blob data = '{{.*}}'
-// CHECK-7-NEXT:   <TagType abbrevid=8 op0=3/>
+// CHECK-7-NEXT: <FunctionBlock NumWords=44 BlockCodeSize=4>
+// CHECK-7-NEXT:   <USR abbrevid=4 op0=20 op1=222 op2=180 op3=172 op4=28 op5=217 op6=37 op7=60 op8=217 op9=239 op10=127 op11=190 op12=107 op13=202 op14=197 op15=6 op16=215 op17=121 op18=132 op19=171 op20=212/>
+// CHECK-7-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'E'
 // CHECK-7-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/>
 // CHECK-7-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'E'
 // CHECK-7-NEXT:     <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:     <Field abbrevid=7 op0=2/>
+// CHECK-7-NEXT:     <Field abbrevid=7 op0=1/>
 // CHECK-7-NEXT:   </ReferenceBlock>
+// CHECK-7-NEXT:   <IsMethod abbrevid=9 op0=1/>
+// CHECK-7-NEXT:   <DefLocation abbrevid=6 op0=27 op1=4/> blob data = '{{.*}}'
 // CHECK-7-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'D'
+// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/>
+// CHECK-7-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'E'
 // CHECK-7-NEXT:     <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:     <Field abbrevid=7 op0=3/>
+// CHECK-7-NEXT:     <Field abbrevid=7 op0=2/>
 // CHECK-7-NEXT:   </ReferenceBlock>
-// CHECK-7-NEXT: </RecordBlock>
+// CHECK-7-NEXT:   <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-7-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-7-NEXT:       <Name abbrevid=5 op0=4/> blob data = 'void'
+// CHECK-7-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-7-NEXT:     </ReferenceBlock>
+// CHECK-7-NEXT:   </TypeBlock>
+// CHECK-7-NEXT: </FunctionBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/ACE81AFA6627B4CEF2B456FB6E1252925674AF7E.bc | FileCheck %s --check-prefix CHECK-8
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/641AB4A3D36399954ACDE29C7A8833032BF40472.bc | FileCheck %s --check-prefix CHECK-8
 // CHECK-8: <BLOCKINFO_BLOCK/>
 // CHECK-8-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-8-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-8-NEXT: </VersionBlock>
-// CHECK-8-NEXT: <RecordBlock NumWords=33 BlockCodeSize=4>
-// CHECK-8-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'A'
-// CHECK-8-NEXT:   <DefLocation abbrevid=6 op0=15 op1=4/> blob data = '{{.*}}'
-// CHECK-8-NEXT:   <TagType abbrevid=8 op0=2/>
-// CHECK-8-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-8-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-8-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-8-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-8-NEXT:     </ReferenceBlock>
-// CHECK-8-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'X'
-// CHECK-8-NEXT:   </MemberTypeBlock>
-// CHECK-8-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-8-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-8-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-8-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-8-NEXT:     </ReferenceBlock>
-// CHECK-8-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'Y'
-// CHECK-8-NEXT:   </MemberTypeBlock>
+// CHECK-8-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4>
+// CHECK-8-NEXT:   <USR abbrevid=4 op0=20 op1=100 op2=26 op3=180 op4=163 op5=211 op6=99 op7=153 op8=149 op9=74 op10=205 op11=226 op12=156 op13=122 op14=136 op15=51 op16=3 op17=43 op18=244 op19=4 op20=114/>
+// CHECK-8-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'Y'
+// CHECK-8-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-8-NEXT:     <USR abbrevid=4 op0=20 op1=202 op2=124 op3=121 op4=53 op5=115 op6=11 op7=94 op8=172 op9=210 op10=95 op11=8 op12=14 op13=156 op14=131 op15=250 op16=8 op17=124 op18=205 op19=199 op20=94/>
+// CHECK-8-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'X'
+// CHECK-8-NEXT:     <RefType abbrevid=6 op0=2/>
+// CHECK-8-NEXT:     <Field abbrevid=7 op0=1/>
+// CHECK-8-NEXT:   </ReferenceBlock>
+// CHECK-8-NEXT:   <DefLocation abbrevid=6 op0=39 op1=4/> blob data = '{{.*}}'
+// CHECK-8-NEXT:   <TagType abbrevid=8 op0=3/>
 // CHECK-8-NEXT: </RecordBlock>
+
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/FC07BD34D5E77782C263FA944447929EA8753740.bc | FileCheck %s --check-prefix CHECK-9
+// CHECK-9: <BLOCKINFO_BLOCK/>
+// CHECK-9-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
+// CHECK-9-NEXT:   <Version abbrevid=4 op0=2/>
+// CHECK-9-NEXT: </VersionBlock>
+// CHECK-9-NEXT: <EnumBlock NumWords=16 BlockCodeSize=4>
+// CHECK-9-NEXT:   <USR abbrevid=4 op0=20 op1=252 op2=7 op3=189 op4=52 op5=213 op6=231 op7=119 op8=130 op9=194 op10=99 op11=250 op12=148 op13=68 op14=71 op15=146 op16=158 op17=168 op18=117 op19=55 op20=64/>
+// CHECK-9-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'B'
+// CHECK-9-NEXT:   <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}'
+// CHECK-9-NEXT:   <Member abbrevid=8 op0=1/> blob data = 'X'
+// CHECK-9-NEXT:   <Member abbrevid=8 op0=1/> blob data = 'Y'
+// CHECK-9-NEXT: </EnumBlock>
+
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/0921737541208B8FA9BB42B60F78AC1D779AA054.bc | FileCheck %s --check-prefix CHECK-10
+// CHECK-10: <BLOCKINFO_BLOCK/>
+// CHECK-10-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
+// CHECK-10-NEXT:   <Version abbrevid=4 op0=2/>
+// CHECK-10-NEXT: </VersionBlock>
+// CHECK-10-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
+// CHECK-10-NEXT:   <USR abbrevid=4 op0=20 op1=9 op2=33 op3=115 op4=117 op5=65 op6=32 op7=139 op8=143 op9=169 op10=187 op11=66 op12=182 op13=15 op14=120 op15=172 op16=29 op17=119 op18=154 op19=160 op20=84/>
+// CHECK-10-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'D'
+// CHECK-10-NEXT:   <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}'
+// CHECK-10-NEXT:   <TagType abbrevid=8 op0=3/>
+// CHECK-10-NEXT: </RecordBlock>
+
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/E3B54702FABFF4037025BA194FC27C47006330B5.bc | FileCheck %s --check-prefix CHECK-11
+// CHECK-11: <BLOCKINFO_BLOCK/>
+// CHECK-11-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
+// CHECK-11-NEXT:   <Version abbrevid=4 op0=2/>
+// CHECK-11-NEXT: </VersionBlock>
+// CHECK-11-NEXT: <RecordBlock NumWords=37 BlockCodeSize=4>
+// CHECK-11-NEXT:   <USR abbrevid=4 op0=20 op1=227 op2=181 op3=71 op4=2 op5=250 op6=191 op7=244 op8=3 op9=112 op10=37 op11=186 op12=25 op13=79 op14=194 op15=124 op16=71 op17=0 op18=99 op19=48 op20=181/>
+// CHECK-11-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'F'
+// CHECK-11-NEXT:   <DefLocation abbrevid=6 op0=36 op1=4/> blob data = '{{.*}}'
+// CHECK-11-NEXT:   <TagType abbrevid=8 op0=3/>
+// CHECK-11-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-11-NEXT:     <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/>
+// CHECK-11-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'E'
+// CHECK-11-NEXT:     <RefType abbrevid=6 op0=2/>
+// CHECK-11-NEXT:     <Field abbrevid=7 op0=2/>
+// CHECK-11-NEXT:   </ReferenceBlock>
+// CHECK-11-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-11-NEXT:     <USR abbrevid=4 op0=20 op1=9 op2=33 op3=115 op4=117 op5=65 op6=32 op7=139 op8=143 op9=169 op10=187 op11=66 op12=182 op13=15 op14=120 op15=172 op16=29 op17=119 op18=154 op19=160 op20=84/>
+// CHECK-11-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'D'
+// CHECK-11-NEXT:     <RefType abbrevid=6 op0=2/>
+// CHECK-11-NEXT:     <Field abbrevid=7 op0=3/>
+// CHECK-11-NEXT:   </ReferenceBlock>
+// CHECK-11-NEXT: </RecordBlock>
+
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/ACE81AFA6627B4CEF2B456FB6E1252925674AF7E.bc | FileCheck %s --check-prefix CHECK-12
+// CHECK-12: <BLOCKINFO_BLOCK/>
+// CHECK-12-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
+// CHECK-12-NEXT:   <Version abbrevid=4 op0=2/>
+// CHECK-12-NEXT: </VersionBlock>
+// CHECK-12-NEXT: <RecordBlock NumWords=33 BlockCodeSize=4>
+// CHECK-12-NEXT:   <USR abbrevid=4 op0=20 op1=172 op2=232 op3=26 op4=250 op5=102 op6=39 op7=180 op8=206 op9=242 op10=180 op11=86 op12=251 op13=110 op14=18 op15=82 op16=146 op17=86 op18=116 op19=175 op20=126/>
+// CHECK-12-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'A'
+// CHECK-12-NEXT:   <DefLocation abbrevid=6 op0=15 op1=4/> blob data = '{{.*}}'
+// CHECK-12-NEXT:   <TagType abbrevid=8 op0=2/>
+// CHECK-12-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-12-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-12-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-12-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-12-NEXT:     </ReferenceBlock>
+// CHECK-12-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'X'
+// CHECK-12-NEXT:   </MemberTypeBlock>
+// CHECK-12-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-12-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-12-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-12-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-12-NEXT:     </ReferenceBlock>
+// CHECK-12-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'Y'
+// CHECK-12-NEXT:   </MemberTypeBlock>
+// CHECK-12-NEXT: </RecordBlock>
+
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/1E3438A08BA22025C0B46289FF0686F92C8924C5.bc | FileCheck %s --check-prefix CHECK-13
+// CHECK-13: <BLOCKINFO_BLOCK/>
+// CHECK-13-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
+// CHECK-13-NEXT:   <Version abbrevid=4 op0=2/>
+// CHECK-13-NEXT: </VersionBlock>
+// CHECK-13-NEXT: <EnumBlock NumWords=16 BlockCodeSize=4>
+// CHECK-13-NEXT:   <USR abbrevid=4 op0=20 op1=30 op2=52 op3=56 op4=160 op5=139 op6=162 op7=32 op8=37 op9=192 op10=180 op11=98 op12=137 op13=255 op14=6 op15=134 op16=249 op17=44 op18=137 op19=36 op20=197/>
+// CHECK-13-NEXT:   <Name abbrevid=5 op0=2/> blob data = 'Bc'
+// CHECK-13-NEXT:   <DefLocation abbrevid=6 op0=19 op1=4/> blob data = '{{.*}}'
+// CHECK-13-NEXT:   <Scoped abbrevid=9 op0=1/>
+// CHECK-13-NEXT:   <Member abbrevid=8 op0=1/> blob data = 'A'
+// CHECK-13-NEXT:   <Member abbrevid=8 op0=1/> blob data = 'B'
+// CHECK-13-NEXT: </EnumBlock>

Added: clang-tools-extra/trunk/test/clang-doc/module.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/module.cpp?rev=338748&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/module.cpp (added)
+++ clang-tools-extra/trunk/test/clang-doc/module.cpp Thu Aug  2 11:01:37 2018
@@ -0,0 +1,61 @@
+// RUN: rm -rf %t
+// RUN: mkdir %t
+// RUN: echo "" > %t/compile_flags.txt
+// RUN: cp "%s" "%t/test.cpp"
+// RUN: clang-doc --extra-arg=-fmodules-ts --doxygen -p %t %t/test.cpp -output=%t/docs
+// RUN: cat %t/docs/moduleFunction.yaml | FileCheck %s --check-prefix=CHECK-A
+// RUN: cat %t/docs/staticModuleFunction.yaml | FileCheck %s --check-prefix=CHECK-B
+// RUN: cat %t/docs/exportedModuleFunction.yaml | FileCheck %s --check-prefix=CHECK-C
+
+export module M;
+
+int moduleFunction(int x); //ModuleLinkage
+// CHECK-A: ---
+// CHECK-A-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-A-NEXT: Name:            'moduleFunction'
+// CHECK-A-NEXT: Location:
+// CHECK-A-NEXT:   - LineNumber:      12
+// CHECK-A-NEXT:     Filename:        {{.*}}
+// CHECK-A-NEXT: Params:
+// CHECK-A-NEXT:   - Type:
+// CHECK-A-NEXT:       Name:            'int'
+// CHECK-A-NEXT:     Name:            'x'
+// CHECK-A-NEXT: ReturnType:
+// CHECK-A-NEXT:   Type:
+// CHECK-A-NEXT:     Name:            'int'
+// CHECK-A-NEXT: ...
+
+static int staticModuleFunction(int x); //ModuleInternalLinkage
+// CHECK-B: ---
+// CHECK-B-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-B-NEXT: Name:            'staticModuleFunction'
+// CHECK-B-NEXT: Location:
+// CHECK-B-NEXT:   - LineNumber:      28
+// CHECK-B-NEXT:     Filename:        {{.*}}
+// CHECK-B-NEXT: Params:
+// CHECK-B-NEXT:   - Type:
+// CHECK-B-NEXT:       Name:            'int'
+// CHECK-B-NEXT:     Name:            'x'
+// CHECK-B-NEXT: ReturnType:
+// CHECK-B-NEXT:   Type:
+// CHECK-B-NEXT:     Name:            'int'
+// CHECK-B-NEXT: ...
+
+export double exportedModuleFunction(double y, int z); //ExternalLinkage
+// CHECK-C: ---
+// CHECK-C-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-C-NEXT: Name:            'exportedModuleFunction'
+// CHECK-C-NEXT: Location:
+// CHECK-C-NEXT:   - LineNumber:      44
+// CHECK-C-NEXT:     Filename:        {{.*}}
+// CHECK-C-NEXT: Params:
+// CHECK-C-NEXT:   - Type:
+// CHECK-C-NEXT:       Name:            'double'
+// CHECK-C-NEXT:     Name:            'y'
+// CHECK-C-NEXT:   - Type:
+// CHECK-C-NEXT:       Name:            'int'
+// CHECK-C-NEXT:     Name:            'z'
+// CHECK-C-NEXT: ReturnType:
+// CHECK-C-NEXT:   Type:
+// CHECK-C-NEXT:     Name:            'double'
+// CHECK-C-NEXT: ...

Removed: clang-tools-extra/trunk/test/clang-doc/public-comment.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/public-comment.cpp?rev=338747&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/public-comment.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/public-comment.cpp (removed)
@@ -1,138 +0,0 @@
-// THIS IS A GENERATED TEST. DO NOT EDIT.
-// To regenerate, see clang-doc/gen_test.py docstring.
-//
-// RUN: rm -rf %t
-// RUN: mkdir %t
-// RUN: echo "" > %t/compile_flags.txt
-// RUN: cp "%s" "%t/test.cpp"
-
-/// \brief Brief description.
-///
-/// Extended description that
-/// continues onto the next line.
-/// 
-/// <ul class="test">
-///   <li> Testing.
-/// </ul>
-///
-/// \verbatim
-/// The description continues.
-/// \endverbatim
-/// --
-/// \param [out] I is a parameter.
-/// \param J is a parameter.
-/// \return void
-void F(int I, int J);
-
-/// Bonus comment on definition
-void F(int I, int J) {}
-
-// RUN: clang-doc --format=yaml --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
-
-
-// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-0
-// CHECK-0: ---
-// CHECK-0-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT: ChildFunctions:  
-// CHECK-0-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     Name:            'F'
-// CHECK-0-NEXT:     Description:     
-// CHECK-0-NEXT:       - Kind:            'FullComment'
-// CHECK-0-NEXT:         Children:        
-// CHECK-0-NEXT:           - Kind:            'ParagraphComment'
-// CHECK-0-NEXT:             Children:        
-// CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:           - Kind:            'BlockCommandComment'
-// CHECK-0-NEXT:             Name:            'brief'
-// CHECK-0-NEXT:             Children:        
-// CHECK-0-NEXT:               - Kind:            'ParagraphComment'
-// CHECK-0-NEXT:                 Children:        
-// CHECK-0-NEXT:                   - Kind:            'TextComment'
-// CHECK-0-NEXT:                     Text:            ' Brief description.'
-// CHECK-0-NEXT:           - Kind:            'ParagraphComment'
-// CHECK-0-NEXT:             Children:        
-// CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:                 Text:            ' Extended description that'
-// CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:                 Text:            ' continues onto the next line.'
-// CHECK-0-NEXT:           - Kind:            'ParagraphComment'
-// CHECK-0-NEXT:             Children:        
-// CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:               - Kind:            'HTMLStartTagComment'
-// CHECK-0-NEXT:                 Name:            'ul'
-// CHECK-0-NEXT:                 AttrKeys:        
-// CHECK-0-NEXT:                   - 'class'
-// CHECK-0-NEXT:                 AttrValues:      
-// CHECK-0-NEXT:                   - 'test'
-// CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:               - Kind:            'HTMLStartTagComment'
-// CHECK-0-NEXT:                 Name:            'li'
-// CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:                 Text:            ' Testing.'
-// CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:               - Kind:            'HTMLEndTagComment'
-// CHECK-0-NEXT:                 Name:            'ul'
-// CHECK-0-NEXT:                 SelfClosing:     true
-// CHECK-0-NEXT:           - Kind:            'ParagraphComment'
-// CHECK-0-NEXT:             Children:        
-// CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:           - Kind:            'VerbatimBlockComment'
-// CHECK-0-NEXT:             Name:            'verbatim'
-// CHECK-0-NEXT:             CloseName:       'endverbatim'
-// CHECK-0-NEXT:             Children:        
-// CHECK-0-NEXT:               - Kind:            'VerbatimBlockLineComment'
-// CHECK-0-NEXT:                 Text:            ' The description continues.'
-// CHECK-0-NEXT:           - Kind:            'ParagraphComment'
-// CHECK-0-NEXT:             Children:        
-// CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:                 Text:            ' --'
-// CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:           - Kind:            'ParamCommandComment'
-// CHECK-0-NEXT:             Direction:       '[out]'
-// CHECK-0-NEXT:             ParamName:       'I'
-// CHECK-0-NEXT:             Explicit:        true
-// CHECK-0-NEXT:             Children:        
-// CHECK-0-NEXT:               - Kind:            'ParagraphComment'
-// CHECK-0-NEXT:                 Children:        
-// CHECK-0-NEXT:                   - Kind:            'TextComment'
-// CHECK-0-NEXT:                     Text:            ' is a parameter.'
-// CHECK-0-NEXT:                   - Kind:            'TextComment'
-// CHECK-0-NEXT:           - Kind:            'ParamCommandComment'
-// CHECK-0-NEXT:             Direction:       '[in]'
-// CHECK-0-NEXT:             ParamName:       'J'
-// CHECK-0-NEXT:             Children:        
-// CHECK-0-NEXT:               - Kind:            'ParagraphComment'
-// CHECK-0-NEXT:                 Children:        
-// CHECK-0-NEXT:                   - Kind:            'TextComment'
-// CHECK-0-NEXT:                     Text:            ' is a parameter.'
-// CHECK-0-NEXT:                   - Kind:            'TextComment'
-// CHECK-0-NEXT:           - Kind:            'BlockCommandComment'
-// CHECK-0-NEXT:             Name:            'return'
-// CHECK-0-NEXT:             Children:        
-// CHECK-0-NEXT:               - Kind:            'ParagraphComment'
-// CHECK-0-NEXT:                 Children:        
-// CHECK-0-NEXT:                   - Kind:            'TextComment'
-// CHECK-0-NEXT:                     Text:            ' void'
-// CHECK-0-NEXT:       - Kind:            'FullComment'
-// CHECK-0-NEXT:         Children:        
-// CHECK-0-NEXT:           - Kind:            'ParagraphComment'
-// CHECK-0-NEXT:             Children:        
-// CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:                 Text:            ' Bonus comment on definition'
-// CHECK-0-NEXT:     DefLocation:     
-// CHECK-0-NEXT:       LineNumber:      28
-// CHECK-0-NEXT:       Filename:        'test'
-// CHECK-0-NEXT:     Location:        
-// CHECK-0-NEXT:       - LineNumber:      25
-// CHECK-0-NEXT:         Filename:        'test'
-// CHECK-0-NEXT:     Params:          
-// CHECK-0-NEXT:       - Type:            
-// CHECK-0-NEXT:           Name:            'int'
-// CHECK-0-NEXT:         Name:            'I'
-// CHECK-0-NEXT:       - Type:            
-// CHECK-0-NEXT:           Name:            'int'
-// CHECK-0-NEXT:         Name:            'J'
-// CHECK-0-NEXT:     ReturnType:      
-// CHECK-0-NEXT:       Type:            
-// CHECK-0-NEXT:         Name:            'void'
-// CHECK-0-NEXT: ...

Removed: clang-tools-extra/trunk/test/clang-doc/public-linkage.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/public-linkage.cpp?rev=338747&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/public-linkage.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/public-linkage.cpp (removed)
@@ -1,299 +0,0 @@
-// THIS IS A GENERATED TEST. DO NOT EDIT.
-// To regenerate, see clang-doc/gen_test.py docstring.
-//
-// REQUIRES: system-linux
-// RUN: rm -rf %t
-// RUN: mkdir %t
-// RUN: echo "" > %t/compile_flags.txt
-// RUN: cp "%s" "%t/test.cpp"
-
-void function(int x);
-
-inline int inlinedFunction(int x);
-
-int functionWithInnerClass(int x) {
-  class InnerClass { //NoLinkage
-  public:
-    int innerPublicMethod() { return 2; };
-  }; //end class
-  InnerClass temp;
-  return temp.innerPublicMethod();
-};
-
-inline int inlinedFunctionWithInnerClass(int x) {
-  class InnerClass { //VisibleNoLinkage
-  public:
-    int innerPublicMethod() { return 2; };
-  }; //end class
-  InnerClass temp;
-  return temp.innerPublicMethod();
-};
-
-class Class {
-public:
-  void publicMethod();
-  int publicField;
-
-protected:
-  void protectedMethod();
-  int protectedField;
-
-private:
-  void privateMethod();
-  int privateField;
-};
-
-namespace named {
-class NamedClass {
-public:
-  void namedPublicMethod();
-  int namedPublicField;
-
-protected:
-  void namedProtectedMethod();
-  int namedProtectedField;
-
-private:
-  void namedPrivateMethod();
-  int namedPrivateField;
-};
-
-void namedFunction();
-static void namedStaticFunction();
-inline void namedInlineFunction();
-} // namespace named
-
-static void staticFunction(int x); //Internal Linkage
-
-static int staticFunctionWithInnerClass(int x) {
-  class InnerClass { //NoLinkage
-  public:
-    int innerPublicMethod() { return 2; };
-  }; //end class
-  InnerClass temp;
-  return temp.innerPublicMethod();
-};
-
-namespace {
-class AnonClass {
-public:
-  void anonPublicMethod();
-  int anonPublicField;
-
-protected:
-  void anonProtectedMethod();
-  int anonProtectedField;
-
-private:
-  void anonPrivateMethod();
-  int anonPrivateField;
-};
-
-void anonFunction();
-static void anonStaticFunction();
-inline void anonInlineFunction();
-} // namespace
-
-// RUN: clang-doc --format=yaml --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
-
-
-// RUN: cat %t/docs/./Class.yaml | FileCheck %s --check-prefix CHECK-0
-// CHECK-0: ---
-// CHECK-0-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT: Name:            'Class'
-// CHECK-0-NEXT: DefLocation:     
-// CHECK-0-NEXT:   LineNumber:      32
-// CHECK-0-NEXT:   Filename:        'test'
-// CHECK-0-NEXT: TagType:         Class
-// CHECK-0-NEXT: Members:         
-// CHECK-0-NEXT:   - Type:            
-// CHECK-0-NEXT:       Name:            'int'
-// CHECK-0-NEXT:     Name:            'publicField'
-// CHECK-0-NEXT:   - Type:            
-// CHECK-0-NEXT:       Name:            'int'
-// CHECK-0-NEXT:     Name:            'protectedField'
-// CHECK-0-NEXT:     Access:          Protected
-// CHECK-0-NEXT: ChildFunctions:  
-// CHECK-0-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     Name:            'publicMethod'
-// CHECK-0-NEXT:     Namespace:       
-// CHECK-0-NEXT:       - Type:            Record
-// CHECK-0-NEXT:         Name:            'Class'
-// CHECK-0-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     Location:        
-// CHECK-0-NEXT:       - LineNumber:      34
-// CHECK-0-NEXT:         Filename:        'test'
-// CHECK-0-NEXT:     IsMethod:        true
-// CHECK-0-NEXT:     Parent:          
-// CHECK-0-NEXT:       Type:            Record
-// CHECK-0-NEXT:       Name:            'Class'
-// CHECK-0-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     ReturnType:      
-// CHECK-0-NEXT:       Type:            
-// CHECK-0-NEXT:         Name:            'void'
-// CHECK-0-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     Name:            'protectedMethod'
-// CHECK-0-NEXT:     Namespace:       
-// CHECK-0-NEXT:       - Type:            Record
-// CHECK-0-NEXT:         Name:            'Class'
-// CHECK-0-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     Location:        
-// CHECK-0-NEXT:       - LineNumber:      38
-// CHECK-0-NEXT:         Filename:        'test'
-// CHECK-0-NEXT:     IsMethod:        true
-// CHECK-0-NEXT:     Parent:          
-// CHECK-0-NEXT:       Type:            Record
-// CHECK-0-NEXT:       Name:            'Class'
-// CHECK-0-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     ReturnType:      
-// CHECK-0-NEXT:       Type:            
-// CHECK-0-NEXT:         Name:            'void'
-// CHECK-0-NEXT: ...
-
-// RUN: cat %t/docs/./named.yaml | FileCheck %s --check-prefix CHECK-1
-// CHECK-1: ---
-// CHECK-1-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT: Name:            'named'
-// CHECK-1-NEXT: ChildFunctions:  
-// CHECK-1-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:     Name:            'namedFunction'
-// CHECK-1-NEXT:     Namespace:       
-// CHECK-1-NEXT:       - Type:            Namespace
-// CHECK-1-NEXT:         Name:            'named'
-// CHECK-1-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:     Location:        
-// CHECK-1-NEXT:       - LineNumber:      61
-// CHECK-1-NEXT:         Filename:        'test'
-// CHECK-1-NEXT:     ReturnType:      
-// CHECK-1-NEXT:       Type:            
-// CHECK-1-NEXT:         Name:            'void'
-// CHECK-1-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:     Name:            'namedInlineFunction'
-// CHECK-1-NEXT:     Namespace:       
-// CHECK-1-NEXT:       - Type:            Namespace
-// CHECK-1-NEXT:         Name:            'named'
-// CHECK-1-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:     Location:        
-// CHECK-1-NEXT:       - LineNumber:      63
-// CHECK-1-NEXT:         Filename:        'test'
-// CHECK-1-NEXT:     ReturnType:      
-// CHECK-1-NEXT:       Type:            
-// CHECK-1-NEXT:         Name:            'void'
-// CHECK-1-NEXT: ...
-
-// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-2
-// CHECK-2: ---
-// CHECK-2-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT: ChildFunctions:  
-// CHECK-2-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT:     Name:            'function'
-// CHECK-2-NEXT:     Location:        
-// CHECK-2-NEXT:       - LineNumber:      10
-// CHECK-2-NEXT:         Filename:        'test'
-// CHECK-2-NEXT:     Params:          
-// CHECK-2-NEXT:       - Type:            
-// CHECK-2-NEXT:           Name:            'int'
-// CHECK-2-NEXT:         Name:            'x'
-// CHECK-2-NEXT:     ReturnType:      
-// CHECK-2-NEXT:       Type:            
-// CHECK-2-NEXT:         Name:            'void'
-// CHECK-2-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT:     Name:            'inlinedFunction'
-// CHECK-2-NEXT:     Location:        
-// CHECK-2-NEXT:       - LineNumber:      12
-// CHECK-2-NEXT:         Filename:        'test'
-// CHECK-2-NEXT:     Params:          
-// CHECK-2-NEXT:       - Type:            
-// CHECK-2-NEXT:           Name:            'int'
-// CHECK-2-NEXT:         Name:            'x'
-// CHECK-2-NEXT:     ReturnType:      
-// CHECK-2-NEXT:       Type:            
-// CHECK-2-NEXT:         Name:            'int'
-// CHECK-2-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT:     Name:            'functionWithInnerClass'
-// CHECK-2-NEXT:     DefLocation:     
-// CHECK-2-NEXT:       LineNumber:      14
-// CHECK-2-NEXT:       Filename:        'test'
-// CHECK-2-NEXT:     Params:          
-// CHECK-2-NEXT:       - Type:            
-// CHECK-2-NEXT:           Name:            'int'
-// CHECK-2-NEXT:         Name:            'x'
-// CHECK-2-NEXT:     ReturnType:      
-// CHECK-2-NEXT:       Type:            
-// CHECK-2-NEXT:         Name:            'int'
-// CHECK-2-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT:     Name:            'inlinedFunctionWithInnerClass'
-// CHECK-2-NEXT:     DefLocation:     
-// CHECK-2-NEXT:       LineNumber:      23
-// CHECK-2-NEXT:       Filename:        'test'
-// CHECK-2-NEXT:     Params:          
-// CHECK-2-NEXT:       - Type:            
-// CHECK-2-NEXT:           Name:            'int'
-// CHECK-2-NEXT:         Name:            'x'
-// CHECK-2-NEXT:     ReturnType:      
-// CHECK-2-NEXT:       Type:            
-// CHECK-2-NEXT:         Name:            'int'
-// CHECK-2-NEXT: ...
-
-// RUN: cat %t/docs/named/NamedClass.yaml | FileCheck %s --check-prefix CHECK-3
-// CHECK-3: ---
-// CHECK-3-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT: Name:            'NamedClass'
-// CHECK-3-NEXT: Namespace:       
-// CHECK-3-NEXT:   - Type:            Namespace
-// CHECK-3-NEXT:     Name:            'named'
-// CHECK-3-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT: DefLocation:     
-// CHECK-3-NEXT:   LineNumber:      47
-// CHECK-3-NEXT:   Filename:        'test'
-// CHECK-3-NEXT: TagType:         Class
-// CHECK-3-NEXT: Members:         
-// CHECK-3-NEXT:   - Type:            
-// CHECK-3-NEXT:       Name:            'int'
-// CHECK-3-NEXT:     Name:            'namedPublicField'
-// CHECK-3-NEXT:   - Type:            
-// CHECK-3-NEXT:       Name:            'int'
-// CHECK-3-NEXT:     Name:            'namedProtectedField'
-// CHECK-3-NEXT:     Access:          Protected
-// CHECK-3-NEXT: ChildFunctions:  
-// CHECK-3-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     Name:            'namedPublicMethod'
-// CHECK-3-NEXT:     Namespace:       
-// CHECK-3-NEXT:       - Type:            Record
-// CHECK-3-NEXT:         Name:            'NamedClass'
-// CHECK-3-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:       - Type:            Namespace
-// CHECK-3-NEXT:         Name:            'named'
-// CHECK-3-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     Location:        
-// CHECK-3-NEXT:       - LineNumber:      49
-// CHECK-3-NEXT:         Filename:        'test'
-// CHECK-3-NEXT:     IsMethod:        true
-// CHECK-3-NEXT:     Parent:          
-// CHECK-3-NEXT:       Type:            Record
-// CHECK-3-NEXT:       Name:            'NamedClass'
-// CHECK-3-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     ReturnType:      
-// CHECK-3-NEXT:       Type:            
-// CHECK-3-NEXT:         Name:            'void'
-// CHECK-3-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     Name:            'namedProtectedMethod'
-// CHECK-3-NEXT:     Namespace:       
-// CHECK-3-NEXT:       - Type:            Record
-// CHECK-3-NEXT:         Name:            'NamedClass'
-// CHECK-3-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:       - Type:            Namespace
-// CHECK-3-NEXT:         Name:            'named'
-// CHECK-3-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     Location:        
-// CHECK-3-NEXT:       - LineNumber:      53
-// CHECK-3-NEXT:         Filename:        'test'
-// CHECK-3-NEXT:     IsMethod:        true
-// CHECK-3-NEXT:     Parent:          
-// CHECK-3-NEXT:       Type:            Record
-// CHECK-3-NEXT:       Name:            'NamedClass'
-// CHECK-3-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     ReturnType:      
-// CHECK-3-NEXT:       Type:            
-// CHECK-3-NEXT:         Name:            'void'
-// CHECK-3-NEXT: ...

Modified: clang-tools-extra/trunk/test/clang-doc/public-module.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/public-module.cpp?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/public-module.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/public-module.cpp Thu Aug  2 11:01:37 2018
@@ -1,51 +1,53 @@
-// THIS IS A GENERATED TEST. DO NOT EDIT.
-// To regenerate, see clang-doc/gen_test.py docstring.
-//
+// This test requires linux because it uses `diff` and compares filepaths
+// REQUIRES: system-linux
 // RUN: rm -rf %t
 // RUN: mkdir %t
 // RUN: echo "" > %t/compile_flags.txt
 // RUN: cp "%s" "%t/test.cpp"
+// RUN: clang-doc --public --extra-arg=-fmodules-ts --doxygen -p %t %t/test.cpp -output=%t/docs-with-public-flag
+// RUN: clang-doc --extra-arg=-fmodules-ts --doxygen -p %t %t/test.cpp -output=%t/docs-without
+// RUN: cat %t/docs-with-public-flag/moduleFunction.yaml | FileCheck %s --check-prefix=CHECK-A
+// RUN: cat %t/docs-with-public-flag/exportedModuleFunction.yaml | FileCheck %s --check-prefix=CHECK-B
+// RUN: (diff -qry %t/docs-with-public-flag %t/docs-without | sed 's:.*/::' > %t/public.diff) || true
+// RUN: cat %t/public.diff | FileCheck %s --check-prefix=CHECK-C
 
 export module M;
 
-int moduleFunction(int x); // ModuleLinkage
+int moduleFunction(int x); //ModuleLinkage
+// CHECK-A: ---
+// CHECK-A-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-A-NEXT: Name:            'moduleFunction'
+// CHECK-A-NEXT: Location:
+// CHECK-A-NEXT:   - LineNumber:      16
+// CHECK-A-NEXT:     Filename:        {{.*}}
+// CHECK-A-NEXT: Params:
+// CHECK-A-NEXT:   - Type:
+// CHECK-A-NEXT:       Name:            'int'
+// CHECK-A-NEXT:     Name:            'x'
+// CHECK-A-NEXT: ReturnType:
+// CHECK-A-NEXT:   Type:
+// CHECK-A-NEXT:     Name:            'int'
+// CHECK-A-NEXT: ...
+
+static int staticModuleFunction(int x); //ModuleInternalLinkage
+
+export double exportedModuleFunction(double y, int z); //ExternalLinkage
+// CHECK-B: ---
+// CHECK-B-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-B-NEXT: Name:            'exportedModuleFunction'
+// CHECK-B-NEXT: Location:
+// CHECK-B-NEXT:   - LineNumber:      34
+// CHECK-B-NEXT:     Filename:        {{.*}}
+// CHECK-B-NEXT: Params:
+// CHECK-B-NEXT:   - Type:
+// CHECK-B-NEXT:       Name:            'double'
+// CHECK-B-NEXT:     Name:            'y'
+// CHECK-B-NEXT:   - Type:
+// CHECK-B-NEXT:       Name:            'int'
+// CHECK-B-NEXT:     Name:            'z'
+// CHECK-B-NEXT: ReturnType:
+// CHECK-B-NEXT:   Type:
+// CHECK-B-NEXT:     Name:            'double'
+// CHECK-B-NEXT: ...
 
-static int staticModuleFunction(int x); // ModuleInternalLinkage
-
-export double exportedModuleFunction(double y, int z); // ExternalLinkage
-
-// RUN: clang-doc --format=yaml --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
-
-
-// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-0
-// CHECK-0: ---
-// CHECK-0-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT: ChildFunctions:  
-// CHECK-0-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     Name:            'moduleFunction'
-// CHECK-0-NEXT:     Location:        
-// CHECK-0-NEXT:       - LineNumber:      11
-// CHECK-0-NEXT:         Filename:        'test'
-// CHECK-0-NEXT:     Params:          
-// CHECK-0-NEXT:       - Type:            
-// CHECK-0-NEXT:           Name:            'int'
-// CHECK-0-NEXT:         Name:            'x'
-// CHECK-0-NEXT:     ReturnType:      
-// CHECK-0-NEXT:       Type:            
-// CHECK-0-NEXT:         Name:            'int'
-// CHECK-0-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     Name:            'exportedModuleFunction'
-// CHECK-0-NEXT:     Location:        
-// CHECK-0-NEXT:       - LineNumber:      15
-// CHECK-0-NEXT:         Filename:        'test'
-// CHECK-0-NEXT:     Params:          
-// CHECK-0-NEXT:       - Type:            
-// CHECK-0-NEXT:           Name:            'double'
-// CHECK-0-NEXT:         Name:            'y'
-// CHECK-0-NEXT:       - Type:            
-// CHECK-0-NEXT:           Name:            'int'
-// CHECK-0-NEXT:         Name:            'z'
-// CHECK-0-NEXT:     ReturnType:      
-// CHECK-0-NEXT:       Type:            
-// CHECK-0-NEXT:         Name:            'double'
-// CHECK-0-NEXT: ...
+// CHECK-C: docs-without: staticModuleFunction.yaml

Removed: clang-tools-extra/trunk/test/clang-doc/public-namespace.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/public-namespace.cpp?rev=338747&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/public-namespace.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/public-namespace.cpp (removed)
@@ -1,96 +0,0 @@
-// THIS IS A GENERATED TEST. DO NOT EDIT.
-// To regenerate, see clang-doc/gen_test.py docstring.
-//
-// RUN: rm -rf %t
-// RUN: mkdir %t
-// RUN: echo "" > %t/compile_flags.txt
-// RUN: cp "%s" "%t/test.cpp"
-
-namespace A {
-  
-void f();
-
-}  // namespace A
-
-namespace A {
-
-void f(){};
-
-namespace B {
-
-enum E { X };
-
-E func(int i) { return X; }
-
-}  // namespace B
-}  // namespace A
-
-// RUN: clang-doc --format=yaml --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
-
-
-// RUN: cat %t/docs/./A.yaml | FileCheck %s --check-prefix CHECK-0
-// CHECK-0: ---
-// CHECK-0-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT: Name:            'A'
-// CHECK-0-NEXT: ChildFunctions:  
-// CHECK-0-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     Name:            'f'
-// CHECK-0-NEXT:     Namespace:       
-// CHECK-0-NEXT:       - Type:            Namespace
-// CHECK-0-NEXT:         Name:            'A'
-// CHECK-0-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     DefLocation:     
-// CHECK-0-NEXT:       LineNumber:      17
-// CHECK-0-NEXT:       Filename:        'test'
-// CHECK-0-NEXT:     Location:        
-// CHECK-0-NEXT:       - LineNumber:      11
-// CHECK-0-NEXT:         Filename:        'test'
-// CHECK-0-NEXT:     ReturnType:      
-// CHECK-0-NEXT:       Type:            
-// CHECK-0-NEXT:         Name:            'void'
-// CHECK-0-NEXT: ...
-
-// RUN: cat %t/docs/A/B.yaml | FileCheck %s --check-prefix CHECK-1
-// CHECK-1: ---
-// CHECK-1-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT: Name:            'B'
-// CHECK-1-NEXT: Namespace:       
-// CHECK-1-NEXT:   - Type:            Namespace
-// CHECK-1-NEXT:     Name:            'A'
-// CHECK-1-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT: ChildFunctions:  
-// CHECK-1-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:     Name:            'func'
-// CHECK-1-NEXT:     Namespace:       
-// CHECK-1-NEXT:       - Type:            Namespace
-// CHECK-1-NEXT:         Name:            'B'
-// CHECK-1-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:       - Type:            Namespace
-// CHECK-1-NEXT:         Name:            'A'
-// CHECK-1-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:     DefLocation:     
-// CHECK-1-NEXT:       LineNumber:      23
-// CHECK-1-NEXT:       Filename:        'test'
-// CHECK-1-NEXT:     Params:          
-// CHECK-1-NEXT:       - Type:            
-// CHECK-1-NEXT:           Name:            'int'
-// CHECK-1-NEXT:         Name:            'i'
-// CHECK-1-NEXT:     ReturnType:      
-// CHECK-1-NEXT:       Type:            
-// CHECK-1-NEXT:         Name:            'enum A::B::E'
-// CHECK-1-NEXT: ChildEnums:      
-// CHECK-1-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:     Name:            'E'
-// CHECK-1-NEXT:     Namespace:       
-// CHECK-1-NEXT:       - Type:            Namespace
-// CHECK-1-NEXT:         Name:            'B'
-// CHECK-1-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:       - Type:            Namespace
-// CHECK-1-NEXT:         Name:            'A'
-// CHECK-1-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:     DefLocation:     
-// CHECK-1-NEXT:       LineNumber:      21
-// CHECK-1-NEXT:       Filename:        'test'
-// CHECK-1-NEXT:     Members:         
-// CHECK-1-NEXT:       - 'X'
-// CHECK-1-NEXT: ...

Removed: clang-tools-extra/trunk/test/clang-doc/public-record.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/public-record.cpp?rev=338747&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/public-record.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/public-record.cpp (removed)
@@ -1,208 +0,0 @@
-// THIS IS A GENERATED TEST. DO NOT EDIT.
-// To regenerate, see clang-doc/gen_test.py docstring.
-//
-// This test requires Linux due to system-dependent USR for the inner class.
-// REQUIRES: system-linux
-// RUN: rm -rf %t
-// RUN: mkdir %t
-// RUN: echo "" > %t/compile_flags.txt
-// RUN: cp "%s" "%t/test.cpp"
-
-void H() {
-  class I {};
-}
-
-union A { int X; int Y; };
-
-enum B { X, Y };
-
-enum class Bc { A, B };
-
-struct C { int i; };
-
-class D {};
-
-class E {
-public:
-  E() {}
-  ~E() {}
-
-protected:
-  void ProtectedMethod();
-};
-
-void E::ProtectedMethod() {}
-
-class F : virtual private D, public E {};
-
-class X {
-  class Y {};
-};
-
-// RUN: clang-doc --format=yaml --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
-
-
-// RUN: cat %t/docs/./C.yaml | FileCheck %s --check-prefix CHECK-0
-// CHECK-0: ---
-// CHECK-0-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT: Name:            'C'
-// CHECK-0-NEXT: DefLocation:     
-// CHECK-0-NEXT:   LineNumber:      21
-// CHECK-0-NEXT:   Filename:        'test'
-// CHECK-0-NEXT: Members:         
-// CHECK-0-NEXT:   - Type:            
-// CHECK-0-NEXT:       Name:            'int'
-// CHECK-0-NEXT:     Name:            'i'
-// CHECK-0-NEXT: ...
-
-// RUN: cat %t/docs/./A.yaml | FileCheck %s --check-prefix CHECK-1
-// CHECK-1: ---
-// CHECK-1-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT: Name:            'A'
-// CHECK-1-NEXT: DefLocation:     
-// CHECK-1-NEXT:   LineNumber:      15
-// CHECK-1-NEXT:   Filename:        'test'
-// CHECK-1-NEXT: TagType:         Union
-// CHECK-1-NEXT: Members:         
-// CHECK-1-NEXT:   - Type:            
-// CHECK-1-NEXT:       Name:            'int'
-// CHECK-1-NEXT:     Name:            'X'
-// CHECK-1-NEXT:   - Type:            
-// CHECK-1-NEXT:       Name:            'int'
-// CHECK-1-NEXT:     Name:            'Y'
-// CHECK-1-NEXT: ...
-
-// RUN: cat %t/docs/./F.yaml | FileCheck %s --check-prefix CHECK-2
-// CHECK-2: ---
-// CHECK-2-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT: Name:            'F'
-// CHECK-2-NEXT: DefLocation:     
-// CHECK-2-NEXT:   LineNumber:      36
-// CHECK-2-NEXT:   Filename:        'test'
-// CHECK-2-NEXT: TagType:         Class
-// CHECK-2-NEXT: Parents:         
-// CHECK-2-NEXT:   - Type:            Record
-// CHECK-2-NEXT:     Name:            'E'
-// CHECK-2-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT: VirtualParents:  
-// CHECK-2-NEXT:   - Type:            Record
-// CHECK-2-NEXT:     Name:            'D'
-// CHECK-2-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT: ...
-
-// RUN: cat %t/docs/./E.yaml | FileCheck %s --check-prefix CHECK-3
-// CHECK-3: ---
-// CHECK-3-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT: Name:            'E'
-// CHECK-3-NEXT: DefLocation:     
-// CHECK-3-NEXT:   LineNumber:      25
-// CHECK-3-NEXT:   Filename:        'test'
-// CHECK-3-NEXT: TagType:         Class
-// CHECK-3-NEXT: ChildFunctions:  
-// CHECK-3-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     Name:            'E'
-// CHECK-3-NEXT:     Namespace:       
-// CHECK-3-NEXT:       - Type:            Record
-// CHECK-3-NEXT:         Name:            'E'
-// CHECK-3-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     DefLocation:     
-// CHECK-3-NEXT:       LineNumber:      27
-// CHECK-3-NEXT:       Filename:        'test'
-// CHECK-3-NEXT:     IsMethod:        true
-// CHECK-3-NEXT:     Parent:          
-// CHECK-3-NEXT:       Type:            Record
-// CHECK-3-NEXT:       Name:            'E'
-// CHECK-3-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     ReturnType:      
-// CHECK-3-NEXT:       Type:            
-// CHECK-3-NEXT:         Name:            'void'
-// CHECK-3-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     Name:            '~E'
-// CHECK-3-NEXT:     Namespace:       
-// CHECK-3-NEXT:       - Type:            Record
-// CHECK-3-NEXT:         Name:            'E'
-// CHECK-3-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     DefLocation:     
-// CHECK-3-NEXT:       LineNumber:      28
-// CHECK-3-NEXT:       Filename:        'test'
-// CHECK-3-NEXT:     IsMethod:        true
-// CHECK-3-NEXT:     Parent:          
-// CHECK-3-NEXT:       Type:            Record
-// CHECK-3-NEXT:       Name:            'E'
-// CHECK-3-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     ReturnType:      
-// CHECK-3-NEXT:       Type:            
-// CHECK-3-NEXT:         Name:            'void'
-// CHECK-3-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     Name:            'ProtectedMethod'
-// CHECK-3-NEXT:     Namespace:       
-// CHECK-3-NEXT:       - Type:            Record
-// CHECK-3-NEXT:         Name:            'E'
-// CHECK-3-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     DefLocation:     
-// CHECK-3-NEXT:       LineNumber:      34
-// CHECK-3-NEXT:       Filename:        'test'
-// CHECK-3-NEXT:     Location:        
-// CHECK-3-NEXT:       - LineNumber:      31
-// CHECK-3-NEXT:         Filename:        'test'
-// CHECK-3-NEXT:     IsMethod:        true
-// CHECK-3-NEXT:     Parent:          
-// CHECK-3-NEXT:       Type:            Record
-// CHECK-3-NEXT:       Name:            'E'
-// CHECK-3-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     ReturnType:      
-// CHECK-3-NEXT:       Type:            
-// CHECK-3-NEXT:         Name:            'void'
-// CHECK-3-NEXT: ...
-
-// RUN: cat %t/docs/./D.yaml | FileCheck %s --check-prefix CHECK-4
-// CHECK-4: ---
-// CHECK-4-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-4-NEXT: Name:            'D'
-// CHECK-4-NEXT: DefLocation:     
-// CHECK-4-NEXT:   LineNumber:      23
-// CHECK-4-NEXT:   Filename:        'test'
-// CHECK-4-NEXT: TagType:         Class
-// CHECK-4-NEXT: ...
-
-// RUN: cat %t/docs/./X.yaml | FileCheck %s --check-prefix CHECK-5
-// CHECK-5: ---
-// CHECK-5-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT: Name:            'X'
-// CHECK-5-NEXT: DefLocation:     
-// CHECK-5-NEXT:   LineNumber:      38
-// CHECK-5-NEXT:   Filename:        'test'
-// CHECK-5-NEXT: TagType:         Class
-// CHECK-5-NEXT: ...
-
-// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-6
-// CHECK-6: ---
-// CHECK-6-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-6-NEXT: ChildFunctions:  
-// CHECK-6-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-6-NEXT:     Name:            'H'
-// CHECK-6-NEXT:     DefLocation:     
-// CHECK-6-NEXT:       LineNumber:      11
-// CHECK-6-NEXT:       Filename:        'test'
-// CHECK-6-NEXT:     ReturnType:      
-// CHECK-6-NEXT:       Type:            
-// CHECK-6-NEXT:         Name:            'void'
-// CHECK-6-NEXT: ChildEnums:      
-// CHECK-6-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-6-NEXT:     Name:            'B'
-// CHECK-6-NEXT:     DefLocation:     
-// CHECK-6-NEXT:       LineNumber:      17
-// CHECK-6-NEXT:       Filename:        'test'
-// CHECK-6-NEXT:     Members:         
-// CHECK-6-NEXT:       - 'X'
-// CHECK-6-NEXT:       - 'Y'
-// CHECK-6-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-6-NEXT:     Name:            'Bc'
-// CHECK-6-NEXT:     DefLocation:     
-// CHECK-6-NEXT:       LineNumber:      19
-// CHECK-6-NEXT:       Filename:        'test'
-// CHECK-6-NEXT:     Scoped:          true
-// CHECK-6-NEXT:     Members:         
-// CHECK-6-NEXT:       - 'A'
-// CHECK-6-NEXT:       - 'B'
-// CHECK-6-NEXT: ...

Added: clang-tools-extra/trunk/test/clang-doc/public-records.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/public-records.cpp?rev=338748&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/public-records.cpp (added)
+++ clang-tools-extra/trunk/test/clang-doc/public-records.cpp Thu Aug  2 11:01:37 2018
@@ -0,0 +1,341 @@
+// This test requires linux because it uses `diff` and compares filepaths
+// REQUIRES: system-linux
+// RUN: rm -rf %t
+// RUN: mkdir %t
+// RUN: echo "" > %t/compile_flags.txt
+// RUN: cp "%s" "%t/test.cpp"
+// RUN: clang-doc --public --doxygen -p %t %t/test.cpp -output=%t/docs
+// RUN: clang-doc --doxygen -p %t %t/test.cpp -output=%t/docs-without-flag
+// RUN: cat %t/docs/function.yaml | FileCheck %s --check-prefix=CHECK-A
+// RUN: cat %t/docs/inlinedFunction.yaml | FileCheck %s --check-prefix=CHECK-B
+// RUN: cat %t/docs/functionWithInnerClass.yaml | FileCheck %s --check-prefix=CHECK-C
+// RUN: cat %t/docs/inlinedFunctionWithInnerClass.yaml | FileCheck %s --check-prefix=CHECK-D
+// RUN: cat %t/docs/Class/publicMethod.yaml| FileCheck %s --check-prefix=CHECK-E
+// RUN: cat %t/docs/Class.yaml| FileCheck %s --check-prefix=CHECK-F
+// RUN: cat %t/docs/Class/protectedMethod.yaml| FileCheck %s --check-prefix=CHECK-G
+// RUN: cat %t/docs/named.yaml| FileCheck %s --check-prefix=CHECK-H
+// RUN: cat %t/docs/named/NamedClass.yaml| FileCheck %s --check-prefix=CHECK-I
+// RUN: cat %t/docs/named/namedFunction.yaml| FileCheck %s --check-prefix=CHECK-J
+// RUN: cat %t/docs/named/namedInlineFunction.yaml| FileCheck %s --check-prefix=CHECK-K
+// RUN: cat %t/docs/named/NamedClass/namedPublicMethod.yaml| FileCheck %s --check-prefix=CHECK-L
+// RUN: cat %t/docs/named/NamedClass/namedProtectedMethod.yaml| FileCheck %s --check-prefix=CHECK-M
+// RUN: (diff -qry %t/docs-without-flag %t/docs | sed 's:.*/::' > %t/public.diff) || true
+// RUN: cat %t/public.diff | FileCheck %s --check-prefix=CHECK-N
+
+void function(int x);
+
+// CHECK-A: ---
+// CHECK-A-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-A-NEXT: Name:            'function'
+// CHECK-A-NEXT: Location:
+// CHECK-A-NEXT:   - LineNumber:      25
+// CHECK-A-NEXT:     Filename:        {{.*}}
+// CHECK-A-NEXT: Params:
+// CHECK-A-NEXT:   - Type:
+// CHECK-A-NEXT:       Name:            'int'
+// CHECK-A-NEXT:     Name:            'x'
+// CHECK-A-NEXT: ReturnType:
+// CHECK-A-NEXT:   Type:
+// CHECK-A-NEXT:     Name:            'void'
+// CHECK-A-NEXT: ...
+
+inline int inlinedFunction(int x);
+
+// CHECK-B: ---
+// CHECK-B-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-B-NEXT: Name:            'inlinedFunction'
+// CHECK-B-NEXT: Location:
+// CHECK-B-NEXT:   - LineNumber:      42
+// CHECK-B-NEXT:     Filename:        {{.*}}
+// CHECK-B-NEXT: Params:
+// CHECK-B-NEXT:   - Type:
+// CHECK-B-NEXT:       Name:            'int'
+// CHECK-B-NEXT:     Name:            'x'
+// CHECK-B-NEXT: ReturnType:
+// CHECK-B-NEXT:   Type:
+// CHECK-B-NEXT:     Name:            'int'
+// CHECK-B-NEXT: ...
+
+int functionWithInnerClass(int x){
+    class InnerClass { //NoLinkage
+      public:
+        int innerPublicMethod() { return 2; };
+    }; //end class
+    InnerClass temp;
+    return temp.innerPublicMethod();
+};
+
+// CHECK-C: ---
+// CHECK-C-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-C-NEXT: Name:            'functionWithInnerClass'
+// CHECK-C-NEXT: DefLocation:
+// CHECK-C-NEXT:   LineNumber:      59
+// CHECK-C-NEXT:   Filename:        {{.*}}
+// CHECK-C-NEXT: Params:
+// CHECK-C-NEXT:   - Type:
+// CHECK-C-NEXT:       Name:            'int'
+// CHECK-C-NEXT:     Name:            'x'
+// CHECK-C-NEXT: ReturnType:
+// CHECK-C-NEXT:   Type:
+// CHECK-C-NEXT:     Name:            'int'
+// CHECK-C-NEXT: ...
+
+inline int inlinedFunctionWithInnerClass(int x){
+    class InnerClass { //VisibleNoLinkage
+      public:
+        int innerPublicMethod() { return 2; };
+    }; //end class
+    InnerClass temp;
+    return temp.innerPublicMethod();
+};
+
+// CHECK-D: ---
+// CHECK-D-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-D-NEXT: Name:            'inlinedFunctionWithInnerClass'
+// CHECK-D-NEXT: DefLocation:
+// CHECK-D-NEXT:   LineNumber:      83
+// CHECK-D-NEXT:   Filename:        {{.*}}
+// CHECK-D-NEXT: Params:
+// CHECK-D-NEXT:   - Type:
+// CHECK-D-NEXT:       Name:            'int'
+// CHECK-D-NEXT:     Name:            'x'
+// CHECK-D-NEXT: ReturnType:
+// CHECK-D-NEXT:   Type:
+// CHECK-D-NEXT:     Name:            'int'
+// CHECK-D-NEXT: ...
+
+class Class {
+ public:
+  void publicMethod();
+  int  publicField;
+ protected:
+  void protectedMethod();
+  int  protectedField;
+ private:
+  void privateMethod();
+  int  privateField;
+};
+
+// CHECK-E: ---
+// CHECK-E-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-E-NEXT: Name:            'publicMethod'
+// CHECK-E-NEXT: Namespace:
+// CHECK-E-NEXT:   - Type:            Record
+// CHECK-E-NEXT:     Name:            'Class'
+// CHECK-E-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-E-NEXT: Location:
+// CHECK-E-NEXT:   - LineNumber:      109
+// CHECK-E-NEXT:     Filename:        {{.*}}
+// CHECK-E-NEXT: IsMethod:        true
+// CHECK-E-NEXT: Parent:
+// CHECK-E-NEXT:   Type:            Record
+// CHECK-E-NEXT:   Name:            'Class'
+// CHECK-E-NEXT:   USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-E-NEXT: ReturnType:
+// CHECK-E-NEXT:   Type:
+// CHECK-E-NEXT:     Name:            'void'
+// CHECK-E-NEXT: ...
+
+// CHECK-F: ---
+// CHECK-F-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-F-NEXT: Name:            'Class'
+// CHECK-F-NEXT: DefLocation:
+// CHECK-F-NEXT:   LineNumber:      107
+// CHECK-F-NEXT:   Filename:        {{.*}}
+// CHECK-F-NEXT: TagType:         Class
+// CHECK-F-NEXT: Members:
+// CHECK-F-NEXT:   - Type:
+// CHECK-F-NEXT:       Name:            'int'
+// CHECK-F-NEXT:     Name:            'publicField'
+// CHECK-F-NEXT:   - Type:
+// CHECK-F-NEXT:       Name:            'int'
+// CHECK-F-NEXT:     Name:            'protectedField'
+// CHECK-F-NEXT:     Access:          Protected
+// CHECK-F-NEXT: ...
+
+// CHECK-G: ---
+// CHECK-G-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-G-NEXT: Name:            'protectedMethod'
+// CHECK-G-NEXT: Namespace:
+// CHECK-G-NEXT:   - Type:            Record
+// CHECK-G-NEXT:     Name:            'Class'
+// CHECK-G-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-G-NEXT: Location:
+// CHECK-G-NEXT:   - LineNumber:      112
+// CHECK-G-NEXT:     Filename:        {{.*}}
+// CHECK-G-NEXT: IsMethod:        true
+// CHECK-G-NEXT: Parent:
+// CHECK-G-NEXT:   Type:            Record
+// CHECK-G-NEXT:   Name:            'Class'
+// CHECK-G-NEXT:   USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-G-NEXT: ReturnType:
+// CHECK-G-NEXT:   Type:
+// CHECK-G-NEXT:     Name:            'void'
+// CHECK-G-NEXT: ...
+
+namespace named{
+    class NamedClass {
+     public:
+      void namedPublicMethod();
+      int  namedPublicField;
+     protected:
+      void namedProtectedMethod();
+      int  namedProtectedField;
+     private:
+      void namedPrivateMethod();
+      int  namedPrivateField;
+    };
+
+    void namedFunction();
+    static void namedStaticFunction();
+    inline void namedInlineFunction();
+}
+
+// CHECK-H: ---
+// CHECK-H-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-H-NEXT: Name:            'named'
+// CHECK-H-NEXT: ...
+
+// CHECK-I: ---
+// CHECK-I-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-I-NEXT: Name:            'NamedClass'
+// CHECK-I-NEXT: Namespace:
+// CHECK-I-NEXT:   - Type:            Namespace
+// CHECK-I-NEXT:     Name:            'named'
+// CHECK-I-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-I-NEXT: DefLocation:
+// CHECK-I-NEXT:   LineNumber:      177
+// CHECK-I-NEXT:   Filename:        {{.*}}
+// CHECK-I-NEXT: TagType:         Class
+// CHECK-I-NEXT: Members:
+// CHECK-I-NEXT:   - Type:
+// CHECK-I-NEXT:       Name:            'int'
+// CHECK-I-NEXT:     Name:            'namedPublicField'
+// CHECK-I-NEXT:   - Type:
+// CHECK-I-NEXT:       Name:            'int'
+// CHECK-I-NEXT:     Name:            'namedProtectedField'
+// CHECK-I-NEXT:     Access:          Protected
+// CHECK-I-NEXT: ...
+
+// CHECK-J: ---
+// CHECK-J-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-J-NEXT: Name:            'namedFunction'
+// CHECK-J-NEXT: Namespace:
+// CHECK-J-NEXT:   - Type:            Namespace
+// CHECK-J-NEXT:     Name:            'named'
+// CHECK-J-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-J-NEXT: Location:
+// CHECK-J-NEXT:   - LineNumber:      189
+// CHECK-J-NEXT:     Filename:        {{.*}}
+// CHECK-J-NEXT: ReturnType:
+// CHECK-J-NEXT:   Type:
+// CHECK-J-NEXT:     Name:            'void'
+// CHECK-J-NEXT: ...
+
+// CHECK-K: ---
+// CHECK-K-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-K-NEXT: Name:            'namedInlineFunction'
+// CHECK-K-NEXT: Namespace:
+// CHECK-K-NEXT:   - Type:            Namespace
+// CHECK-K-NEXT:     Name:            'named'
+// CHECK-K-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-K-NEXT: Location:
+// CHECK-K-NEXT:   - LineNumber:      191
+// CHECK-K-NEXT:     Filename:        {{.*}}
+// CHECK-K-NEXT: ReturnType:
+// CHECK-K-NEXT:   Type:
+// CHECK-K-NEXT:     Name:            'void'
+// CHECK-K-NEXT: ...
+
+// CHECK-L: ---
+// CHECK-L-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-L-NEXT: Name:            'namedPublicMethod'
+// CHECK-L-NEXT: Namespace:
+// CHECK-L-NEXT:   - Type:            Record
+// CHECK-L-NEXT:     Name:            'NamedClass'
+// CHECK-L-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-L-NEXT:   - Type:            Namespace
+// CHECK-L-NEXT:     Name:            'named'
+// CHECK-L-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-L-NEXT: Location:
+// CHECK-L-NEXT:   - LineNumber:      179
+// CHECK-L-NEXT:     Filename:        {{.*}}
+// CHECK-L-NEXT: IsMethod:        true
+// CHECK-L-NEXT: Parent:
+// CHECK-L-NEXT:   Type:            Record
+// CHECK-L-NEXT:   Name:            'NamedClass'
+// CHECK-L-NEXT:   USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-L-NEXT: ReturnType:
+// CHECK-L-NEXT:   Type:
+// CHECK-L-NEXT:     Name:            'void'
+// CHECK-L-NEXT: ...
+
+// CHECK-M: ---
+// CHECK-M-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-M-NEXT: Name:            'namedProtectedMethod'
+// CHECK-M-NEXT: Namespace:
+// CHECK-M-NEXT:   - Type:            Record
+// CHECK-M-NEXT:     Name:            'NamedClass'
+// CHECK-M-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-M-NEXT:   - Type:            Namespace
+// CHECK-M-NEXT:     Name:            'named'
+// CHECK-M-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-M-NEXT: Location:
+// CHECK-M-NEXT:   - LineNumber:      182
+// CHECK-M-NEXT:     Filename:        {{.*}}
+// CHECK-M-NEXT: IsMethod:        true
+// CHECK-M-NEXT: Parent:
+// CHECK-M-NEXT:   Type:            Record
+// CHECK-M-NEXT:   Name:            'NamedClass'
+// CHECK-M-NEXT:   USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-M-NEXT: ReturnType:
+// CHECK-M-NEXT:   Type:
+// CHECK-M-NEXT:     Name:            'void'
+// CHECK-M-NEXT: ...
+
+
+static void staticFunction(int x); //Internal Linkage
+
+static int staticFunctionWithInnerClass(int x){
+    class InnerClass { //NoLinkage
+      public:
+        int innerPublicMethod() { return 2; };
+    }; //end class
+    InnerClass temp;
+    return temp.innerPublicMethod();
+};
+
+namespace{
+    class AnonClass {
+     public:
+      void anonPublicMethod();
+      int  anonPublicField;
+     protected:
+      void anonProtectedMethod();
+      int  anonProtectedField;
+     private:
+      void anonPrivateMethod();
+      int  anonPrivateField;
+    };
+
+    void anonFunction();
+    static void anonStaticFunction();
+    inline void anonInlineFunction();
+}
+
+// CHECK-N: docs-without-flag: .yaml
+// CHECK-N-NEXT: docs-without-flag: AnonClass
+// CHECK-N-NEXT: docs-without-flag: AnonClass.yaml
+// CHECK-N-NEXT: Class: privateMethod.yaml
+// CHECK-N-NEXT: Class.yaml differ
+// CHECK-N-NEXT: docs-without-flag: anonFunction.yaml
+// CHECK-N-NEXT: docs-without-flag: anonInlineFunction.yaml
+// CHECK-N-NEXT: docs-without-flag: anonStaticFunction.yaml
+// CHECK-N-NEXT: docs-without-flag: functionWithInnerClass
+// CHECK-N-NEXT: docs-without-flag: inlinedFunctionWithInnerClass
+// CHECK-N-NEXT: NamedClass: namedPrivateMethod.yaml
+// CHECK-N-NEXT: NamedClass.yaml differ
+// CHECK-N-NEXT: named: namedStaticFunction.yaml
+// CHECK-N-NEXT: docs-without-flag: staticFunction.yaml
+// CHECK-N-NEXT: docs-without-flag: staticFunctionWithInnerClass
+// CHECK-N-NEXT: docs-without-flag: staticFunctionWithInnerClass.yaml

Removed: clang-tools-extra/trunk/test/clang-doc/test_cases/linkage.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/test_cases/linkage.cpp?rev=338747&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/test_cases/linkage.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/test_cases/linkage.cpp (removed)
@@ -1,95 +0,0 @@
-// THIS IS A GENERATED TEST. DO NOT EDIT.
-// To regenerate, see clang-doc/gen_test.py docstring.
-//
-// REQUIRES: system-linux
-// RUN: rm -rf %t
-// RUN: mkdir %t
-// RUN: echo "" > %t/compile_flags.txt
-// RUN: cp "%s" "%t/test.cpp"
-
-void function(int x);
-
-inline int inlinedFunction(int x);
-
-int functionWithInnerClass(int x) {
-  class InnerClass { //NoLinkage
-  public:
-    int innerPublicMethod() { return 2; };
-  }; //end class
-  InnerClass temp;
-  return temp.innerPublicMethod();
-};
-
-inline int inlinedFunctionWithInnerClass(int x) {
-  class InnerClass { //VisibleNoLinkage
-  public:
-    int innerPublicMethod() { return 2; };
-  }; //end class
-  InnerClass temp;
-  return temp.innerPublicMethod();
-};
-
-class Class {
-public:
-  void publicMethod();
-  int publicField;
-
-protected:
-  void protectedMethod();
-  int protectedField;
-
-private:
-  void privateMethod();
-  int privateField;
-};
-
-namespace named {
-class NamedClass {
-public:
-  void namedPublicMethod();
-  int namedPublicField;
-
-protected:
-  void namedProtectedMethod();
-  int namedProtectedField;
-
-private:
-  void namedPrivateMethod();
-  int namedPrivateField;
-};
-
-void namedFunction();
-static void namedStaticFunction();
-inline void namedInlineFunction();
-} // namespace named
-
-static void staticFunction(int x); //Internal Linkage
-
-static int staticFunctionWithInnerClass(int x) {
-  class InnerClass { //NoLinkage
-  public:
-    int innerPublicMethod() { return 2; };
-  }; //end class
-  InnerClass temp;
-  return temp.innerPublicMethod();
-};
-
-namespace {
-class AnonClass {
-public:
-  void anonPublicMethod();
-  int anonPublicField;
-
-protected:
-  void anonProtectedMethod();
-  int anonProtectedField;
-
-private:
-  void anonPrivateMethod();
-  int anonPrivateField;
-};
-
-void anonFunction();
-static void anonStaticFunction();
-inline void anonInlineFunction();
-} // namespace

Removed: clang-tools-extra/trunk/test/clang-doc/test_cases/module.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/test_cases/module.cpp?rev=338747&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/test_cases/module.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/test_cases/module.cpp (removed)
@@ -1,15 +0,0 @@
-// THIS IS A GENERATED TEST. DO NOT EDIT.
-// To regenerate, see clang-doc/gen_test.py docstring.
-//
-// RUN: rm -rf %t
-// RUN: mkdir %t
-// RUN: echo "" > %t/compile_flags.txt
-// RUN: cp "%s" "%t/test.cpp"
-
-export module M;
-
-int moduleFunction(int x); // ModuleLinkage
-
-static int staticModuleFunction(int x); // ModuleInternalLinkage
-
-export double exportedModuleFunction(double y, int z); // ExternalLinkage

Modified: clang-tools-extra/trunk/test/clang-doc/yaml-comment.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/yaml-comment.cpp?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/yaml-comment.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/yaml-comment.cpp Thu Aug  2 11:01:37 2018
@@ -27,112 +27,110 @@ void F(int I, int J);
 /// Bonus comment on definition
 void F(int I, int J) {}
 
-// RUN: clang-doc --format=yaml --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
+// RUN: clang-doc --format=yaml --doxygen -p %t %t/test.cpp -output=%t/docs
 
 
-// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-0
+// RUN: cat %t/docs/./F.yaml | FileCheck %s --check-prefix CHECK-0
 // CHECK-0: ---
-// CHECK-0-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT: ChildFunctions:  
-// CHECK-0-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     Name:            'F'
-// CHECK-0-NEXT:     Description:     
-// CHECK-0-NEXT:       - Kind:            'FullComment'
+// CHECK-0-NEXT: USR:             '7574630614A535710E5A6ABCFFF98BCA2D06A4CA'
+// CHECK-0-NEXT: Name:            'F'
+// CHECK-0-NEXT: Description:     
+// CHECK-0-NEXT:   - Kind:            'FullComment'
+// CHECK-0-NEXT:     Children:        
+// CHECK-0-NEXT:       - Kind:            'ParagraphComment'
+// CHECK-0-NEXT:         Children:        
+// CHECK-0-NEXT:           - Kind:            'TextComment'
+// CHECK-0-NEXT:       - Kind:            'BlockCommandComment'
+// CHECK-0-NEXT:         Name:            'brief'
 // CHECK-0-NEXT:         Children:        
 // CHECK-0-NEXT:           - Kind:            'ParagraphComment'
 // CHECK-0-NEXT:             Children:        
 // CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:           - Kind:            'BlockCommandComment'
-// CHECK-0-NEXT:             Name:            'brief'
-// CHECK-0-NEXT:             Children:        
-// CHECK-0-NEXT:               - Kind:            'ParagraphComment'
-// CHECK-0-NEXT:                 Children:        
-// CHECK-0-NEXT:                   - Kind:            'TextComment'
-// CHECK-0-NEXT:                     Text:            ' Brief description.'
-// CHECK-0-NEXT:           - Kind:            'ParagraphComment'
-// CHECK-0-NEXT:             Children:        
-// CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:                 Text:            ' Extended description that'
-// CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:                 Text:            ' continues onto the next line.'
+// CHECK-0-NEXT:                 Text:            ' Brief description.'
+// CHECK-0-NEXT:       - Kind:            'ParagraphComment'
+// CHECK-0-NEXT:         Children:        
+// CHECK-0-NEXT:           - Kind:            'TextComment'
+// CHECK-0-NEXT:             Text:            ' Extended description that'
+// CHECK-0-NEXT:           - Kind:            'TextComment'
+// CHECK-0-NEXT:             Text:            ' continues onto the next line.'
+// CHECK-0-NEXT:       - Kind:            'ParagraphComment'
+// CHECK-0-NEXT:         Children:        
+// CHECK-0-NEXT:           - Kind:            'TextComment'
+// CHECK-0-NEXT:           - Kind:            'HTMLStartTagComment'
+// CHECK-0-NEXT:             Name:            'ul'
+// CHECK-0-NEXT:             AttrKeys:        
+// CHECK-0-NEXT:               - 'class'
+// CHECK-0-NEXT:             AttrValues:      
+// CHECK-0-NEXT:               - 'test'
+// CHECK-0-NEXT:           - Kind:            'TextComment'
+// CHECK-0-NEXT:           - Kind:            'HTMLStartTagComment'
+// CHECK-0-NEXT:             Name:            'li'
+// CHECK-0-NEXT:           - Kind:            'TextComment'
+// CHECK-0-NEXT:             Text:            ' Testing.'
+// CHECK-0-NEXT:           - Kind:            'TextComment'
+// CHECK-0-NEXT:           - Kind:            'HTMLEndTagComment'
+// CHECK-0-NEXT:             Name:            'ul'
+// CHECK-0-NEXT:             SelfClosing:     true
+// CHECK-0-NEXT:       - Kind:            'ParagraphComment'
+// CHECK-0-NEXT:         Children:        
+// CHECK-0-NEXT:           - Kind:            'TextComment'
+// CHECK-0-NEXT:       - Kind:            'VerbatimBlockComment'
+// CHECK-0-NEXT:         Name:            'verbatim'
+// CHECK-0-NEXT:         CloseName:       'endverbatim'
+// CHECK-0-NEXT:         Children:        
+// CHECK-0-NEXT:           - Kind:            'VerbatimBlockLineComment'
+// CHECK-0-NEXT:             Text:            ' The description continues.'
+// CHECK-0-NEXT:       - Kind:            'ParagraphComment'
+// CHECK-0-NEXT:         Children:        
+// CHECK-0-NEXT:           - Kind:            'TextComment'
+// CHECK-0-NEXT:             Text:            ' --'
+// CHECK-0-NEXT:           - Kind:            'TextComment'
+// CHECK-0-NEXT:       - Kind:            'ParamCommandComment'
+// CHECK-0-NEXT:         Direction:       '[out]'
+// CHECK-0-NEXT:         ParamName:       'I'
+// CHECK-0-NEXT:         Explicit:        true
+// CHECK-0-NEXT:         Children:        
 // CHECK-0-NEXT:           - Kind:            'ParagraphComment'
 // CHECK-0-NEXT:             Children:        
 // CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:               - Kind:            'HTMLStartTagComment'
-// CHECK-0-NEXT:                 Name:            'ul'
-// CHECK-0-NEXT:                 AttrKeys:        
-// CHECK-0-NEXT:                   - 'class'
-// CHECK-0-NEXT:                 AttrValues:      
-// CHECK-0-NEXT:                   - 'test'
-// CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:               - Kind:            'HTMLStartTagComment'
-// CHECK-0-NEXT:                 Name:            'li'
-// CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:                 Text:            ' Testing.'
-// CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:               - Kind:            'HTMLEndTagComment'
-// CHECK-0-NEXT:                 Name:            'ul'
-// CHECK-0-NEXT:                 SelfClosing:     true
-// CHECK-0-NEXT:           - Kind:            'ParagraphComment'
-// CHECK-0-NEXT:             Children:        
+// CHECK-0-NEXT:                 Text:            ' is a parameter.'
 // CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:           - Kind:            'VerbatimBlockComment'
-// CHECK-0-NEXT:             Name:            'verbatim'
-// CHECK-0-NEXT:             CloseName:       'endverbatim'
-// CHECK-0-NEXT:             Children:        
-// CHECK-0-NEXT:               - Kind:            'VerbatimBlockLineComment'
-// CHECK-0-NEXT:                 Text:            ' The description continues.'
+// CHECK-0-NEXT:       - Kind:            'ParamCommandComment'
+// CHECK-0-NEXT:         Direction:       '[in]'
+// CHECK-0-NEXT:         ParamName:       'J'
+// CHECK-0-NEXT:         Children:        
 // CHECK-0-NEXT:           - Kind:            'ParagraphComment'
 // CHECK-0-NEXT:             Children:        
 // CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:                 Text:            ' --'
+// CHECK-0-NEXT:                 Text:            ' is a parameter.'
 // CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:           - Kind:            'ParamCommandComment'
-// CHECK-0-NEXT:             Direction:       '[out]'
-// CHECK-0-NEXT:             ParamName:       'I'
-// CHECK-0-NEXT:             Explicit:        true
-// CHECK-0-NEXT:             Children:        
-// CHECK-0-NEXT:               - Kind:            'ParagraphComment'
-// CHECK-0-NEXT:                 Children:        
-// CHECK-0-NEXT:                   - Kind:            'TextComment'
-// CHECK-0-NEXT:                     Text:            ' is a parameter.'
-// CHECK-0-NEXT:                   - Kind:            'TextComment'
-// CHECK-0-NEXT:           - Kind:            'ParamCommandComment'
-// CHECK-0-NEXT:             Direction:       '[in]'
-// CHECK-0-NEXT:             ParamName:       'J'
-// CHECK-0-NEXT:             Children:        
-// CHECK-0-NEXT:               - Kind:            'ParagraphComment'
-// CHECK-0-NEXT:                 Children:        
-// CHECK-0-NEXT:                   - Kind:            'TextComment'
-// CHECK-0-NEXT:                     Text:            ' is a parameter.'
-// CHECK-0-NEXT:                   - Kind:            'TextComment'
-// CHECK-0-NEXT:           - Kind:            'BlockCommandComment'
-// CHECK-0-NEXT:             Name:            'return'
-// CHECK-0-NEXT:             Children:        
-// CHECK-0-NEXT:               - Kind:            'ParagraphComment'
-// CHECK-0-NEXT:                 Children:        
-// CHECK-0-NEXT:                   - Kind:            'TextComment'
-// CHECK-0-NEXT:                     Text:            ' void'
-// CHECK-0-NEXT:       - Kind:            'FullComment'
+// CHECK-0-NEXT:       - Kind:            'BlockCommandComment'
+// CHECK-0-NEXT:         Name:            'return'
 // CHECK-0-NEXT:         Children:        
 // CHECK-0-NEXT:           - Kind:            'ParagraphComment'
 // CHECK-0-NEXT:             Children:        
 // CHECK-0-NEXT:               - Kind:            'TextComment'
-// CHECK-0-NEXT:                 Text:            ' Bonus comment on definition'
-// CHECK-0-NEXT:     DefLocation:     
-// CHECK-0-NEXT:       LineNumber:      28
-// CHECK-0-NEXT:       Filename:        'test'
-// CHECK-0-NEXT:     Location:        
-// CHECK-0-NEXT:       - LineNumber:      25
-// CHECK-0-NEXT:         Filename:        'test'
-// CHECK-0-NEXT:     Params:          
-// CHECK-0-NEXT:       - Type:            
-// CHECK-0-NEXT:           Name:            'int'
-// CHECK-0-NEXT:         Name:            'I'
-// CHECK-0-NEXT:       - Type:            
-// CHECK-0-NEXT:           Name:            'int'
-// CHECK-0-NEXT:         Name:            'J'
-// CHECK-0-NEXT:     ReturnType:      
-// CHECK-0-NEXT:       Type:            
-// CHECK-0-NEXT:         Name:            'void'
+// CHECK-0-NEXT:                 Text:            ' void'
+// CHECK-0-NEXT:   - Kind:            'FullComment'
+// CHECK-0-NEXT:     Children:        
+// CHECK-0-NEXT:       - Kind:            'ParagraphComment'
+// CHECK-0-NEXT:         Children:        
+// CHECK-0-NEXT:           - Kind:            'TextComment'
+// CHECK-0-NEXT:             Text:            ' Bonus comment on definition'
+// CHECK-0-NEXT: DefLocation:     
+// CHECK-0-NEXT:   LineNumber:      28
+// CHECK-0-NEXT:   Filename:        'test'
+// CHECK-0-NEXT: Location:        
+// CHECK-0-NEXT:   - LineNumber:      25
+// CHECK-0-NEXT:     Filename:        'test'
+// CHECK-0-NEXT: Params:          
+// CHECK-0-NEXT:   - Type:            
+// CHECK-0-NEXT:       Name:            'int'
+// CHECK-0-NEXT:     Name:            'I'
+// CHECK-0-NEXT:   - Type:            
+// CHECK-0-NEXT:       Name:            'int'
+// CHECK-0-NEXT:     Name:            'J'
+// CHECK-0-NEXT: ReturnType:      
+// CHECK-0-NEXT:   Type:            
+// CHECK-0-NEXT:     Name:            'void'
 // CHECK-0-NEXT: ...

Removed: clang-tools-extra/trunk/test/clang-doc/yaml-linkage.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/yaml-linkage.cpp?rev=338747&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/yaml-linkage.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/yaml-linkage.cpp (removed)
@@ -1,529 +0,0 @@
-// THIS IS A GENERATED TEST. DO NOT EDIT.
-// To regenerate, see clang-doc/gen_test.py docstring.
-//
-// REQUIRES: system-linux
-// RUN: rm -rf %t
-// RUN: mkdir %t
-// RUN: echo "" > %t/compile_flags.txt
-// RUN: cp "%s" "%t/test.cpp"
-
-void function(int x);
-
-inline int inlinedFunction(int x);
-
-int functionWithInnerClass(int x) {
-  class InnerClass { //NoLinkage
-  public:
-    int innerPublicMethod() { return 2; };
-  }; //end class
-  InnerClass temp;
-  return temp.innerPublicMethod();
-};
-
-inline int inlinedFunctionWithInnerClass(int x) {
-  class InnerClass { //VisibleNoLinkage
-  public:
-    int innerPublicMethod() { return 2; };
-  }; //end class
-  InnerClass temp;
-  return temp.innerPublicMethod();
-};
-
-class Class {
-public:
-  void publicMethod();
-  int publicField;
-
-protected:
-  void protectedMethod();
-  int protectedField;
-
-private:
-  void privateMethod();
-  int privateField;
-};
-
-namespace named {
-class NamedClass {
-public:
-  void namedPublicMethod();
-  int namedPublicField;
-
-protected:
-  void namedProtectedMethod();
-  int namedProtectedField;
-
-private:
-  void namedPrivateMethod();
-  int namedPrivateField;
-};
-
-void namedFunction();
-static void namedStaticFunction();
-inline void namedInlineFunction();
-} // namespace named
-
-static void staticFunction(int x); //Internal Linkage
-
-static int staticFunctionWithInnerClass(int x) {
-  class InnerClass { //NoLinkage
-  public:
-    int innerPublicMethod() { return 2; };
-  }; //end class
-  InnerClass temp;
-  return temp.innerPublicMethod();
-};
-
-namespace {
-class AnonClass {
-public:
-  void anonPublicMethod();
-  int anonPublicField;
-
-protected:
-  void anonProtectedMethod();
-  int anonProtectedField;
-
-private:
-  void anonPrivateMethod();
-  int anonPrivateField;
-};
-
-void anonFunction();
-static void anonStaticFunction();
-inline void anonInlineFunction();
-} // namespace
-
-// RUN: clang-doc --format=yaml --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
-
-
-// RUN: cat %t/docs/./Class.yaml | FileCheck %s --check-prefix CHECK-0
-// CHECK-0: ---
-// CHECK-0-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT: Name:            'Class'
-// CHECK-0-NEXT: DefLocation:     
-// CHECK-0-NEXT:   LineNumber:      32
-// CHECK-0-NEXT:   Filename:        'test'
-// CHECK-0-NEXT: TagType:         Class
-// CHECK-0-NEXT: Members:         
-// CHECK-0-NEXT:   - Type:            
-// CHECK-0-NEXT:       Name:            'int'
-// CHECK-0-NEXT:     Name:            'publicField'
-// CHECK-0-NEXT:   - Type:            
-// CHECK-0-NEXT:       Name:            'int'
-// CHECK-0-NEXT:     Name:            'protectedField'
-// CHECK-0-NEXT:     Access:          Protected
-// CHECK-0-NEXT:   - Type:            
-// CHECK-0-NEXT:       Name:            'int'
-// CHECK-0-NEXT:     Name:            'privateField'
-// CHECK-0-NEXT:     Access:          Private
-// CHECK-0-NEXT: ChildFunctions:  
-// CHECK-0-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     Name:            'publicMethod'
-// CHECK-0-NEXT:     Namespace:       
-// CHECK-0-NEXT:       - Type:            Record
-// CHECK-0-NEXT:         Name:            'Class'
-// CHECK-0-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     Location:        
-// CHECK-0-NEXT:       - LineNumber:      34
-// CHECK-0-NEXT:         Filename:        'test'
-// CHECK-0-NEXT:     IsMethod:        true
-// CHECK-0-NEXT:     Parent:          
-// CHECK-0-NEXT:       Type:            Record
-// CHECK-0-NEXT:       Name:            'Class'
-// CHECK-0-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     ReturnType:      
-// CHECK-0-NEXT:       Type:            
-// CHECK-0-NEXT:         Name:            'void'
-// CHECK-0-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     Name:            'protectedMethod'
-// CHECK-0-NEXT:     Namespace:       
-// CHECK-0-NEXT:       - Type:            Record
-// CHECK-0-NEXT:         Name:            'Class'
-// CHECK-0-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     Location:        
-// CHECK-0-NEXT:       - LineNumber:      38
-// CHECK-0-NEXT:         Filename:        'test'
-// CHECK-0-NEXT:     IsMethod:        true
-// CHECK-0-NEXT:     Parent:          
-// CHECK-0-NEXT:       Type:            Record
-// CHECK-0-NEXT:       Name:            'Class'
-// CHECK-0-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     ReturnType:      
-// CHECK-0-NEXT:       Type:            
-// CHECK-0-NEXT:         Name:            'void'
-// CHECK-0-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     Name:            'privateMethod'
-// CHECK-0-NEXT:     Namespace:       
-// CHECK-0-NEXT:       - Type:            Record
-// CHECK-0-NEXT:         Name:            'Class'
-// CHECK-0-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     Location:        
-// CHECK-0-NEXT:       - LineNumber:      42
-// CHECK-0-NEXT:         Filename:        'test'
-// CHECK-0-NEXT:     IsMethod:        true
-// CHECK-0-NEXT:     Parent:          
-// CHECK-0-NEXT:       Type:            Record
-// CHECK-0-NEXT:       Name:            'Class'
-// CHECK-0-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     ReturnType:      
-// CHECK-0-NEXT:       Type:            
-// CHECK-0-NEXT:         Name:            'void'
-// CHECK-0-NEXT: ...
-
-// RUN: cat %t/docs/./named.yaml | FileCheck %s --check-prefix CHECK-1
-// CHECK-1: ---
-// CHECK-1-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT: Name:            'named'
-// CHECK-1-NEXT: ChildFunctions:  
-// CHECK-1-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:     Name:            'namedFunction'
-// CHECK-1-NEXT:     Namespace:       
-// CHECK-1-NEXT:       - Type:            Namespace
-// CHECK-1-NEXT:         Name:            'named'
-// CHECK-1-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:     Location:        
-// CHECK-1-NEXT:       - LineNumber:      61
-// CHECK-1-NEXT:         Filename:        'test'
-// CHECK-1-NEXT:     ReturnType:      
-// CHECK-1-NEXT:       Type:            
-// CHECK-1-NEXT:         Name:            'void'
-// CHECK-1-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:     Name:            'namedStaticFunction'
-// CHECK-1-NEXT:     Namespace:       
-// CHECK-1-NEXT:       - Type:            Namespace
-// CHECK-1-NEXT:         Name:            'named'
-// CHECK-1-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:     Location:        
-// CHECK-1-NEXT:       - LineNumber:      62
-// CHECK-1-NEXT:         Filename:        'test'
-// CHECK-1-NEXT:     ReturnType:      
-// CHECK-1-NEXT:       Type:            
-// CHECK-1-NEXT:         Name:            'void'
-// CHECK-1-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:     Name:            'namedInlineFunction'
-// CHECK-1-NEXT:     Namespace:       
-// CHECK-1-NEXT:       - Type:            Namespace
-// CHECK-1-NEXT:         Name:            'named'
-// CHECK-1-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:     Location:        
-// CHECK-1-NEXT:       - LineNumber:      63
-// CHECK-1-NEXT:         Filename:        'test'
-// CHECK-1-NEXT:     ReturnType:      
-// CHECK-1-NEXT:       Type:            
-// CHECK-1-NEXT:         Name:            'void'
-// CHECK-1-NEXT: ...
-
-// RUN: cat %t/docs/./AnonClass.yaml | FileCheck %s --check-prefix CHECK-2
-// CHECK-2: ---
-// CHECK-2-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT: Name:            'AnonClass'
-// CHECK-2-NEXT: Namespace:       
-// CHECK-2-NEXT:   - Type:            Namespace
-// CHECK-2-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT: DefLocation:     
-// CHECK-2-NEXT:   LineNumber:      78
-// CHECK-2-NEXT:   Filename:        'test'
-// CHECK-2-NEXT: TagType:         Class
-// CHECK-2-NEXT: Members:         
-// CHECK-2-NEXT:   - Type:            
-// CHECK-2-NEXT:       Name:            'int'
-// CHECK-2-NEXT:     Name:            'anonPublicField'
-// CHECK-2-NEXT:   - Type:            
-// CHECK-2-NEXT:       Name:            'int'
-// CHECK-2-NEXT:     Name:            'anonProtectedField'
-// CHECK-2-NEXT:     Access:          Protected
-// CHECK-2-NEXT:   - Type:            
-// CHECK-2-NEXT:       Name:            'int'
-// CHECK-2-NEXT:     Name:            'anonPrivateField'
-// CHECK-2-NEXT:     Access:          Private
-// CHECK-2-NEXT: ChildFunctions:  
-// CHECK-2-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT:     Name:            'anonPublicMethod'
-// CHECK-2-NEXT:     Namespace:       
-// CHECK-2-NEXT:       - Type:            Record
-// CHECK-2-NEXT:         Name:            'AnonClass'
-// CHECK-2-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT:       - Type:            Namespace
-// CHECK-2-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT:     Location:        
-// CHECK-2-NEXT:       - LineNumber:      80
-// CHECK-2-NEXT:         Filename:        'test'
-// CHECK-2-NEXT:     IsMethod:        true
-// CHECK-2-NEXT:     Parent:          
-// CHECK-2-NEXT:       Type:            Record
-// CHECK-2-NEXT:       Name:            'AnonClass'
-// CHECK-2-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT:     ReturnType:      
-// CHECK-2-NEXT:       Type:            
-// CHECK-2-NEXT:         Name:            'void'
-// CHECK-2-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT:     Name:            'anonProtectedMethod'
-// CHECK-2-NEXT:     Namespace:       
-// CHECK-2-NEXT:       - Type:            Record
-// CHECK-2-NEXT:         Name:            'AnonClass'
-// CHECK-2-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT:       - Type:            Namespace
-// CHECK-2-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT:     Location:        
-// CHECK-2-NEXT:       - LineNumber:      84
-// CHECK-2-NEXT:         Filename:        'test'
-// CHECK-2-NEXT:     IsMethod:        true
-// CHECK-2-NEXT:     Parent:          
-// CHECK-2-NEXT:       Type:            Record
-// CHECK-2-NEXT:       Name:            'AnonClass'
-// CHECK-2-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT:     ReturnType:      
-// CHECK-2-NEXT:       Type:            
-// CHECK-2-NEXT:         Name:            'void'
-// CHECK-2-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT:     Name:            'anonPrivateMethod'
-// CHECK-2-NEXT:     Namespace:       
-// CHECK-2-NEXT:       - Type:            Record
-// CHECK-2-NEXT:         Name:            'AnonClass'
-// CHECK-2-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT:       - Type:            Namespace
-// CHECK-2-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT:     Location:        
-// CHECK-2-NEXT:       - LineNumber:      88
-// CHECK-2-NEXT:         Filename:        'test'
-// CHECK-2-NEXT:     IsMethod:        true
-// CHECK-2-NEXT:     Parent:          
-// CHECK-2-NEXT:       Type:            Record
-// CHECK-2-NEXT:       Name:            'AnonClass'
-// CHECK-2-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-2-NEXT:     ReturnType:      
-// CHECK-2-NEXT:       Type:            
-// CHECK-2-NEXT:         Name:            'void'
-// CHECK-2-NEXT: ...
-
-// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-3
-// CHECK-3: ---
-// CHECK-3-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT: ChildFunctions:  
-// CHECK-3-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     Name:            'anonFunction'
-// CHECK-3-NEXT:     Namespace:       
-// CHECK-3-NEXT:       - Type:            Namespace
-// CHECK-3-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     Location:        
-// CHECK-3-NEXT:       - LineNumber:      92
-// CHECK-3-NEXT:         Filename:        'test'
-// CHECK-3-NEXT:     ReturnType:      
-// CHECK-3-NEXT:       Type:            
-// CHECK-3-NEXT:         Name:            'void'
-// CHECK-3-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     Name:            'anonStaticFunction'
-// CHECK-3-NEXT:     Namespace:       
-// CHECK-3-NEXT:       - Type:            Namespace
-// CHECK-3-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     Location:        
-// CHECK-3-NEXT:       - LineNumber:      93
-// CHECK-3-NEXT:         Filename:        'test'
-// CHECK-3-NEXT:     ReturnType:      
-// CHECK-3-NEXT:       Type:            
-// CHECK-3-NEXT:         Name:            'void'
-// CHECK-3-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     Name:            'anonInlineFunction'
-// CHECK-3-NEXT:     Namespace:       
-// CHECK-3-NEXT:       - Type:            Namespace
-// CHECK-3-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     Location:        
-// CHECK-3-NEXT:       - LineNumber:      94
-// CHECK-3-NEXT:         Filename:        'test'
-// CHECK-3-NEXT:     ReturnType:      
-// CHECK-3-NEXT:       Type:            
-// CHECK-3-NEXT:         Name:            'void'
-// CHECK-3-NEXT: ...
-
-// RUN: cat %t/docs/staticFunctionWithInnerClass/InnerClass.yaml | FileCheck %s --check-prefix CHECK-4
-// CHECK-4: ---
-// CHECK-4-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-4-NEXT: Name:            'InnerClass'
-// CHECK-4-NEXT: Namespace:       
-// CHECK-4-NEXT:   - Type:            Function
-// CHECK-4-NEXT:     Name:            'staticFunctionWithInnerClass'
-// CHECK-4-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-4-NEXT: DefLocation:     
-// CHECK-4-NEXT:   LineNumber:      69
-// CHECK-4-NEXT:   Filename:        'test'
-// CHECK-4-NEXT: TagType:         Class
-// CHECK-4-NEXT: ChildFunctions:  
-// CHECK-4-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-4-NEXT:     Name:            'innerPublicMethod'
-// CHECK-4-NEXT:     Namespace:       
-// CHECK-4-NEXT:       - Type:            Record
-// CHECK-4-NEXT:         Name:            'InnerClass'
-// CHECK-4-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-4-NEXT:       - Type:            Function
-// CHECK-4-NEXT:         Name:            'staticFunctionWithInnerClass'
-// CHECK-4-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-4-NEXT:     DefLocation:     
-// CHECK-4-NEXT:       LineNumber:      71
-// CHECK-4-NEXT:       Filename:        'test'
-// CHECK-4-NEXT:     IsMethod:        true
-// CHECK-4-NEXT:     Parent:          
-// CHECK-4-NEXT:       Type:            Record
-// CHECK-4-NEXT:       Name:            'InnerClass'
-// CHECK-4-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-4-NEXT:     ReturnType:      
-// CHECK-4-NEXT:       Type:            
-// CHECK-4-NEXT:         Name:            'int'
-// CHECK-4-NEXT: ...
-
-// RUN: cat %t/docs/named/NamedClass.yaml | FileCheck %s --check-prefix CHECK-5
-// CHECK-5: ---
-// CHECK-5-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT: Name:            'NamedClass'
-// CHECK-5-NEXT: Namespace:       
-// CHECK-5-NEXT:   - Type:            Namespace
-// CHECK-5-NEXT:     Name:            'named'
-// CHECK-5-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT: DefLocation:     
-// CHECK-5-NEXT:   LineNumber:      47
-// CHECK-5-NEXT:   Filename:        'test'
-// CHECK-5-NEXT: TagType:         Class
-// CHECK-5-NEXT: Members:         
-// CHECK-5-NEXT:   - Type:            
-// CHECK-5-NEXT:       Name:            'int'
-// CHECK-5-NEXT:     Name:            'namedPublicField'
-// CHECK-5-NEXT:   - Type:            
-// CHECK-5-NEXT:       Name:            'int'
-// CHECK-5-NEXT:     Name:            'namedProtectedField'
-// CHECK-5-NEXT:     Access:          Protected
-// CHECK-5-NEXT:   - Type:            
-// CHECK-5-NEXT:       Name:            'int'
-// CHECK-5-NEXT:     Name:            'namedPrivateField'
-// CHECK-5-NEXT:     Access:          Private
-// CHECK-5-NEXT: ChildFunctions:  
-// CHECK-5-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:     Name:            'namedPublicMethod'
-// CHECK-5-NEXT:     Namespace:       
-// CHECK-5-NEXT:       - Type:            Record
-// CHECK-5-NEXT:         Name:            'NamedClass'
-// CHECK-5-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:       - Type:            Namespace
-// CHECK-5-NEXT:         Name:            'named'
-// CHECK-5-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:     Location:        
-// CHECK-5-NEXT:       - LineNumber:      49
-// CHECK-5-NEXT:         Filename:        'test'
-// CHECK-5-NEXT:     IsMethod:        true
-// CHECK-5-NEXT:     Parent:          
-// CHECK-5-NEXT:       Type:            Record
-// CHECK-5-NEXT:       Name:            'NamedClass'
-// CHECK-5-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:     ReturnType:      
-// CHECK-5-NEXT:       Type:            
-// CHECK-5-NEXT:         Name:            'void'
-// CHECK-5-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:     Name:            'namedProtectedMethod'
-// CHECK-5-NEXT:     Namespace:       
-// CHECK-5-NEXT:       - Type:            Record
-// CHECK-5-NEXT:         Name:            'NamedClass'
-// CHECK-5-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:       - Type:            Namespace
-// CHECK-5-NEXT:         Name:            'named'
-// CHECK-5-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:     Location:        
-// CHECK-5-NEXT:       - LineNumber:      53
-// CHECK-5-NEXT:         Filename:        'test'
-// CHECK-5-NEXT:     IsMethod:        true
-// CHECK-5-NEXT:     Parent:          
-// CHECK-5-NEXT:       Type:            Record
-// CHECK-5-NEXT:       Name:            'NamedClass'
-// CHECK-5-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:     ReturnType:      
-// CHECK-5-NEXT:       Type:            
-// CHECK-5-NEXT:         Name:            'void'
-// CHECK-5-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:     Name:            'namedPrivateMethod'
-// CHECK-5-NEXT:     Namespace:       
-// CHECK-5-NEXT:       - Type:            Record
-// CHECK-5-NEXT:         Name:            'NamedClass'
-// CHECK-5-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:       - Type:            Namespace
-// CHECK-5-NEXT:         Name:            'named'
-// CHECK-5-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:     Location:        
-// CHECK-5-NEXT:       - LineNumber:      57
-// CHECK-5-NEXT:         Filename:        'test'
-// CHECK-5-NEXT:     IsMethod:        true
-// CHECK-5-NEXT:     Parent:          
-// CHECK-5-NEXT:       Type:            Record
-// CHECK-5-NEXT:       Name:            'NamedClass'
-// CHECK-5-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:     ReturnType:      
-// CHECK-5-NEXT:       Type:            
-// CHECK-5-NEXT:         Name:            'void'
-// CHECK-5-NEXT: ...
-
-// RUN: cat %t/docs/functionWithInnerClass/InnerClass.yaml | FileCheck %s --check-prefix CHECK-6
-// CHECK-6: ---
-// CHECK-6-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-6-NEXT: Name:            'InnerClass'
-// CHECK-6-NEXT: Namespace:       
-// CHECK-6-NEXT:   - Type:            Function
-// CHECK-6-NEXT:     Name:            'functionWithInnerClass'
-// CHECK-6-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-6-NEXT: DefLocation:     
-// CHECK-6-NEXT:   LineNumber:      15
-// CHECK-6-NEXT:   Filename:        'test'
-// CHECK-6-NEXT: TagType:         Class
-// CHECK-6-NEXT: ChildFunctions:  
-// CHECK-6-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-6-NEXT:     Name:            'innerPublicMethod'
-// CHECK-6-NEXT:     Namespace:       
-// CHECK-6-NEXT:       - Type:            Record
-// CHECK-6-NEXT:         Name:            'InnerClass'
-// CHECK-6-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-6-NEXT:       - Type:            Function
-// CHECK-6-NEXT:         Name:            'functionWithInnerClass'
-// CHECK-6-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-6-NEXT:     DefLocation:     
-// CHECK-6-NEXT:       LineNumber:      17
-// CHECK-6-NEXT:       Filename:        'test'
-// CHECK-6-NEXT:     IsMethod:        true
-// CHECK-6-NEXT:     Parent:          
-// CHECK-6-NEXT:       Type:            Record
-// CHECK-6-NEXT:       Name:            'InnerClass'
-// CHECK-6-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-6-NEXT:     ReturnType:      
-// CHECK-6-NEXT:       Type:            
-// CHECK-6-NEXT:         Name:            'int'
-// CHECK-6-NEXT: ...
-
-// RUN: cat %t/docs/inlinedFunctionWithInnerClass/InnerClass.yaml | FileCheck %s --check-prefix CHECK-7
-// CHECK-7: ---
-// CHECK-7-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-7-NEXT: Name:            'InnerClass'
-// CHECK-7-NEXT: Namespace:       
-// CHECK-7-NEXT:   - Type:            Function
-// CHECK-7-NEXT:     Name:            'inlinedFunctionWithInnerClass'
-// CHECK-7-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-7-NEXT: DefLocation:     
-// CHECK-7-NEXT:   LineNumber:      24
-// CHECK-7-NEXT:   Filename:        'test'
-// CHECK-7-NEXT: TagType:         Class
-// CHECK-7-NEXT: ChildFunctions:  
-// CHECK-7-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-7-NEXT:     Name:            'innerPublicMethod'
-// CHECK-7-NEXT:     Namespace:       
-// CHECK-7-NEXT:       - Type:            Record
-// CHECK-7-NEXT:         Name:            'InnerClass'
-// CHECK-7-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-7-NEXT:       - Type:            Function
-// CHECK-7-NEXT:         Name:            'inlinedFunctionWithInnerClass'
-// CHECK-7-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-7-NEXT:     DefLocation:     
-// CHECK-7-NEXT:       LineNumber:      26
-// CHECK-7-NEXT:       Filename:        'test'
-// CHECK-7-NEXT:     IsMethod:        true
-// CHECK-7-NEXT:     Parent:          
-// CHECK-7-NEXT:       Type:            Record
-// CHECK-7-NEXT:       Name:            'InnerClass'
-// CHECK-7-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-7-NEXT:     ReturnType:      
-// CHECK-7-NEXT:       Type:            
-// CHECK-7-NEXT:         Name:            'int'
-// CHECK-7-NEXT: ...

Removed: clang-tools-extra/trunk/test/clang-doc/yaml-module.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/yaml-module.cpp?rev=338747&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/yaml-module.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/yaml-module.cpp (removed)
@@ -1,63 +0,0 @@
-// THIS IS A GENERATED TEST. DO NOT EDIT.
-// To regenerate, see clang-doc/gen_test.py docstring.
-//
-// RUN: rm -rf %t
-// RUN: mkdir %t
-// RUN: echo "" > %t/compile_flags.txt
-// RUN: cp "%s" "%t/test.cpp"
-
-export module M;
-
-int moduleFunction(int x); // ModuleLinkage
-
-static int staticModuleFunction(int x); // ModuleInternalLinkage
-
-export double exportedModuleFunction(double y, int z); // ExternalLinkage
-
-// RUN: clang-doc --format=yaml --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
-
-
-// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-0
-// CHECK-0: ---
-// CHECK-0-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT: ChildFunctions:  
-// CHECK-0-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     Name:            'moduleFunction'
-// CHECK-0-NEXT:     Location:        
-// CHECK-0-NEXT:       - LineNumber:      11
-// CHECK-0-NEXT:         Filename:        'test'
-// CHECK-0-NEXT:     Params:          
-// CHECK-0-NEXT:       - Type:            
-// CHECK-0-NEXT:           Name:            'int'
-// CHECK-0-NEXT:         Name:            'x'
-// CHECK-0-NEXT:     ReturnType:      
-// CHECK-0-NEXT:       Type:            
-// CHECK-0-NEXT:         Name:            'int'
-// CHECK-0-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     Name:            'staticModuleFunction'
-// CHECK-0-NEXT:     Location:        
-// CHECK-0-NEXT:       - LineNumber:      13
-// CHECK-0-NEXT:         Filename:        'test'
-// CHECK-0-NEXT:     Params:          
-// CHECK-0-NEXT:       - Type:            
-// CHECK-0-NEXT:           Name:            'int'
-// CHECK-0-NEXT:         Name:            'x'
-// CHECK-0-NEXT:     ReturnType:      
-// CHECK-0-NEXT:       Type:            
-// CHECK-0-NEXT:         Name:            'int'
-// CHECK-0-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     Name:            'exportedModuleFunction'
-// CHECK-0-NEXT:     Location:        
-// CHECK-0-NEXT:       - LineNumber:      15
-// CHECK-0-NEXT:         Filename:        'test'
-// CHECK-0-NEXT:     Params:          
-// CHECK-0-NEXT:       - Type:            
-// CHECK-0-NEXT:           Name:            'double'
-// CHECK-0-NEXT:         Name:            'y'
-// CHECK-0-NEXT:       - Type:            
-// CHECK-0-NEXT:           Name:            'int'
-// CHECK-0-NEXT:         Name:            'z'
-// CHECK-0-NEXT:     ReturnType:      
-// CHECK-0-NEXT:       Type:            
-// CHECK-0-NEXT:         Name:            'double'
-// CHECK-0-NEXT: ...

Modified: clang-tools-extra/trunk/test/clang-doc/yaml-namespace.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/yaml-namespace.cpp?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/yaml-namespace.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/yaml-namespace.cpp Thu Aug  2 11:01:37 2018
@@ -25,72 +25,81 @@ E func(int i) { return X; }
 }  // namespace B
 }  // namespace A
 
-// RUN: clang-doc --format=yaml --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
+// RUN: clang-doc --format=yaml --doxygen -p %t %t/test.cpp -output=%t/docs
 
 
 // RUN: cat %t/docs/./A.yaml | FileCheck %s --check-prefix CHECK-0
 // CHECK-0: ---
-// CHECK-0-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-0-NEXT: USR:             '8D042EFFC98B373450BC6B5B90A330C25A150E9C'
 // CHECK-0-NEXT: Name:            'A'
-// CHECK-0-NEXT: ChildFunctions:  
-// CHECK-0-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     Name:            'f'
-// CHECK-0-NEXT:     Namespace:       
-// CHECK-0-NEXT:       - Type:            Namespace
-// CHECK-0-NEXT:         Name:            'A'
-// CHECK-0-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-0-NEXT:     DefLocation:     
-// CHECK-0-NEXT:       LineNumber:      17
-// CHECK-0-NEXT:       Filename:        'test'
-// CHECK-0-NEXT:     Location:        
-// CHECK-0-NEXT:       - LineNumber:      11
-// CHECK-0-NEXT:         Filename:        'test'
-// CHECK-0-NEXT:     ReturnType:      
-// CHECK-0-NEXT:       Type:            
-// CHECK-0-NEXT:         Name:            'void'
 // CHECK-0-NEXT: ...
 
-// RUN: cat %t/docs/A/B.yaml | FileCheck %s --check-prefix CHECK-1
+// RUN: cat %t/docs/A/f.yaml | FileCheck %s --check-prefix CHECK-1
 // CHECK-1: ---
-// CHECK-1-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT: Name:            'B'
+// CHECK-1-NEXT: USR:             '39D3C95A5F7CE2BA4937BD7B01BAE09EBC2AD8AC'
+// CHECK-1-NEXT: Name:            'f'
 // CHECK-1-NEXT: Namespace:       
 // CHECK-1-NEXT:   - Type:            Namespace
 // CHECK-1-NEXT:     Name:            'A'
-// CHECK-1-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT: ChildFunctions:  
-// CHECK-1-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:     Name:            'func'
-// CHECK-1-NEXT:     Namespace:       
-// CHECK-1-NEXT:       - Type:            Namespace
-// CHECK-1-NEXT:         Name:            'B'
-// CHECK-1-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:       - Type:            Namespace
-// CHECK-1-NEXT:         Name:            'A'
-// CHECK-1-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:     DefLocation:     
-// CHECK-1-NEXT:       LineNumber:      23
-// CHECK-1-NEXT:       Filename:        'test'
-// CHECK-1-NEXT:     Params:          
-// CHECK-1-NEXT:       - Type:            
-// CHECK-1-NEXT:           Name:            'int'
-// CHECK-1-NEXT:         Name:            'i'
-// CHECK-1-NEXT:     ReturnType:      
-// CHECK-1-NEXT:       Type:            
-// CHECK-1-NEXT:         Name:            'enum A::B::E'
-// CHECK-1-NEXT: ChildEnums:      
-// CHECK-1-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:     Name:            'E'
-// CHECK-1-NEXT:     Namespace:       
-// CHECK-1-NEXT:       - Type:            Namespace
-// CHECK-1-NEXT:         Name:            'B'
-// CHECK-1-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:       - Type:            Namespace
-// CHECK-1-NEXT:         Name:            'A'
-// CHECK-1-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-1-NEXT:     DefLocation:     
-// CHECK-1-NEXT:       LineNumber:      21
-// CHECK-1-NEXT:       Filename:        'test'
-// CHECK-1-NEXT:     Members:         
-// CHECK-1-NEXT:       - 'X'
+// CHECK-1-NEXT:     USR:             '8D042EFFC98B373450BC6B5B90A330C25A150E9C'
+// CHECK-1-NEXT: DefLocation:     
+// CHECK-1-NEXT:   LineNumber:      17
+// CHECK-1-NEXT:   Filename:        'test'
+// CHECK-1-NEXT: Location:        
+// CHECK-1-NEXT:   - LineNumber:      11
+// CHECK-1-NEXT:     Filename:        'test'
+// CHECK-1-NEXT: ReturnType:      
+// CHECK-1-NEXT:   Type:            
+// CHECK-1-NEXT:     Name:            'void'
 // CHECK-1-NEXT: ...
+
+// RUN: cat %t/docs/A/B.yaml | FileCheck %s --check-prefix CHECK-2
+// CHECK-2: ---
+// CHECK-2-NEXT: USR:             'E21AF79E2A9D02554BA090D10DF39FE273F5CDB5'
+// CHECK-2-NEXT: Name:            'B'
+// CHECK-2-NEXT: Namespace:       
+// CHECK-2-NEXT:   - Type:            Namespace
+// CHECK-2-NEXT:     Name:            'A'
+// CHECK-2-NEXT:     USR:             '8D042EFFC98B373450BC6B5B90A330C25A150E9C'
+// CHECK-2-NEXT: ...
+
+// RUN: cat %t/docs/A/B/E.yaml | FileCheck %s --check-prefix CHECK-3
+// CHECK-3: ---
+// CHECK-3-NEXT: USR:             'E9ABF7E7E2425B626723D41E76E4BC7E7A5BD775'
+// CHECK-3-NEXT: Name:            'E'
+// CHECK-3-NEXT: Namespace:       
+// CHECK-3-NEXT:   - Type:            Namespace
+// CHECK-3-NEXT:     Name:            'B'
+// CHECK-3-NEXT:     USR:             'E21AF79E2A9D02554BA090D10DF39FE273F5CDB5'
+// CHECK-3-NEXT:   - Type:            Namespace
+// CHECK-3-NEXT:     Name:            'A'
+// CHECK-3-NEXT:     USR:             '8D042EFFC98B373450BC6B5B90A330C25A150E9C'
+// CHECK-3-NEXT: DefLocation:     
+// CHECK-3-NEXT:   LineNumber:      21
+// CHECK-3-NEXT:   Filename:        'test'
+// CHECK-3-NEXT: Members:         
+// CHECK-3-NEXT:   - 'X'
+// CHECK-3-NEXT: ...
+
+// RUN: cat %t/docs/A/B/func.yaml | FileCheck %s --check-prefix CHECK-4
+// CHECK-4: ---
+// CHECK-4-NEXT: USR:             '9A82CB33ED0FDF81EE383D31CD0957D153C5E840'
+// CHECK-4-NEXT: Name:            'func'
+// CHECK-4-NEXT: Namespace:       
+// CHECK-4-NEXT:   - Type:            Namespace
+// CHECK-4-NEXT:     Name:            'B'
+// CHECK-4-NEXT:     USR:             'E21AF79E2A9D02554BA090D10DF39FE273F5CDB5'
+// CHECK-4-NEXT:   - Type:            Namespace
+// CHECK-4-NEXT:     Name:            'A'
+// CHECK-4-NEXT:     USR:             '8D042EFFC98B373450BC6B5B90A330C25A150E9C'
+// CHECK-4-NEXT: DefLocation:     
+// CHECK-4-NEXT:   LineNumber:      23
+// CHECK-4-NEXT:   Filename:        'test'
+// CHECK-4-NEXT: Params:          
+// CHECK-4-NEXT:   - Type:            
+// CHECK-4-NEXT:       Name:            'int'
+// CHECK-4-NEXT:     Name:            'i'
+// CHECK-4-NEXT: ReturnType:      
+// CHECK-4-NEXT:   Type:            
+// CHECK-4-NEXT:     Name:            'enum A::B::E'
+// CHECK-4-NEXT: ...

Modified: clang-tools-extra/trunk/test/clang-doc/yaml-record.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/yaml-record.cpp?rev=338748&r1=338747&r2=338748&view=diff
==============================================================================
--- clang-tools-extra/trunk/test/clang-doc/yaml-record.cpp (original)
+++ clang-tools-extra/trunk/test/clang-doc/yaml-record.cpp Thu Aug  2 11:01:37 2018
@@ -39,12 +39,12 @@ class X {
   class Y {};
 };
 
-// RUN: clang-doc --format=yaml --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
+// RUN: clang-doc --format=yaml --doxygen -p %t %t/test.cpp -output=%t/docs
 
 
 // RUN: cat %t/docs/./C.yaml | FileCheck %s --check-prefix CHECK-0
 // CHECK-0: ---
-// CHECK-0-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-0-NEXT: USR:             '06B5F6A19BA9F6A832E127C9968282B94619B210'
 // CHECK-0-NEXT: Name:            'C'
 // CHECK-0-NEXT: DefLocation:     
 // CHECK-0-NEXT:   LineNumber:      21
@@ -57,7 +57,7 @@ class X {
 
 // RUN: cat %t/docs/./A.yaml | FileCheck %s --check-prefix CHECK-1
 // CHECK-1: ---
-// CHECK-1-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-1-NEXT: USR:             'ACE81AFA6627B4CEF2B456FB6E1252925674AF7E'
 // CHECK-1-NEXT: Name:            'A'
 // CHECK-1-NEXT: DefLocation:     
 // CHECK-1-NEXT:   LineNumber:      15
@@ -74,7 +74,7 @@ class X {
 
 // RUN: cat %t/docs/./F.yaml | FileCheck %s --check-prefix CHECK-2
 // CHECK-2: ---
-// CHECK-2-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-2-NEXT: USR:             'E3B54702FABFF4037025BA194FC27C47006330B5'
 // CHECK-2-NEXT: Name:            'F'
 // CHECK-2-NEXT: DefLocation:     
 // CHECK-2-NEXT:   LineNumber:      36
@@ -83,81 +83,26 @@ class X {
 // CHECK-2-NEXT: Parents:         
 // CHECK-2-NEXT:   - Type:            Record
 // CHECK-2-NEXT:     Name:            'E'
-// CHECK-2-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-2-NEXT:     USR:             '289584A8E0FF4178A794622A547AA622503967A1'
 // CHECK-2-NEXT: VirtualParents:  
 // CHECK-2-NEXT:   - Type:            Record
 // CHECK-2-NEXT:     Name:            'D'
-// CHECK-2-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-2-NEXT:     USR:             '0921737541208B8FA9BB42B60F78AC1D779AA054'
 // CHECK-2-NEXT: ...
 
 // RUN: cat %t/docs/./E.yaml | FileCheck %s --check-prefix CHECK-3
 // CHECK-3: ---
-// CHECK-3-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-3-NEXT: USR:             '289584A8E0FF4178A794622A547AA622503967A1'
 // CHECK-3-NEXT: Name:            'E'
 // CHECK-3-NEXT: DefLocation:     
 // CHECK-3-NEXT:   LineNumber:      25
 // CHECK-3-NEXT:   Filename:        'test'
 // CHECK-3-NEXT: TagType:         Class
-// CHECK-3-NEXT: ChildFunctions:  
-// CHECK-3-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     Name:            'E'
-// CHECK-3-NEXT:     Namespace:       
-// CHECK-3-NEXT:       - Type:            Record
-// CHECK-3-NEXT:         Name:            'E'
-// CHECK-3-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     DefLocation:     
-// CHECK-3-NEXT:       LineNumber:      27
-// CHECK-3-NEXT:       Filename:        'test'
-// CHECK-3-NEXT:     IsMethod:        true
-// CHECK-3-NEXT:     Parent:          
-// CHECK-3-NEXT:       Type:            Record
-// CHECK-3-NEXT:       Name:            'E'
-// CHECK-3-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     ReturnType:      
-// CHECK-3-NEXT:       Type:            
-// CHECK-3-NEXT:         Name:            'void'
-// CHECK-3-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     Name:            '~E'
-// CHECK-3-NEXT:     Namespace:       
-// CHECK-3-NEXT:       - Type:            Record
-// CHECK-3-NEXT:         Name:            'E'
-// CHECK-3-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     DefLocation:     
-// CHECK-3-NEXT:       LineNumber:      28
-// CHECK-3-NEXT:       Filename:        'test'
-// CHECK-3-NEXT:     IsMethod:        true
-// CHECK-3-NEXT:     Parent:          
-// CHECK-3-NEXT:       Type:            Record
-// CHECK-3-NEXT:       Name:            'E'
-// CHECK-3-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     ReturnType:      
-// CHECK-3-NEXT:       Type:            
-// CHECK-3-NEXT:         Name:            'void'
-// CHECK-3-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     Name:            'ProtectedMethod'
-// CHECK-3-NEXT:     Namespace:       
-// CHECK-3-NEXT:       - Type:            Record
-// CHECK-3-NEXT:         Name:            'E'
-// CHECK-3-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     DefLocation:     
-// CHECK-3-NEXT:       LineNumber:      34
-// CHECK-3-NEXT:       Filename:        'test'
-// CHECK-3-NEXT:     Location:        
-// CHECK-3-NEXT:       - LineNumber:      31
-// CHECK-3-NEXT:         Filename:        'test'
-// CHECK-3-NEXT:     IsMethod:        true
-// CHECK-3-NEXT:     Parent:          
-// CHECK-3-NEXT:       Type:            Record
-// CHECK-3-NEXT:       Name:            'E'
-// CHECK-3-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-3-NEXT:     ReturnType:      
-// CHECK-3-NEXT:       Type:            
-// CHECK-3-NEXT:         Name:            'void'
 // CHECK-3-NEXT: ...
 
 // RUN: cat %t/docs/./D.yaml | FileCheck %s --check-prefix CHECK-4
 // CHECK-4: ---
-// CHECK-4-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-4-NEXT: USR:             '0921737541208B8FA9BB42B60F78AC1D779AA054'
 // CHECK-4-NEXT: Name:            'D'
 // CHECK-4-NEXT: DefLocation:     
 // CHECK-4-NEXT:   LineNumber:      23
@@ -165,72 +110,143 @@ class X {
 // CHECK-4-NEXT: TagType:         Class
 // CHECK-4-NEXT: ...
 
-// RUN: cat %t/docs/./X.yaml | FileCheck %s --check-prefix CHECK-5
+// RUN: cat %t/docs/./B.yaml | FileCheck %s --check-prefix CHECK-5
 // CHECK-5: ---
-// CHECK-5-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT: Name:            'X'
+// CHECK-5-NEXT: USR:             'FC07BD34D5E77782C263FA944447929EA8753740'
+// CHECK-5-NEXT: Name:            'B'
 // CHECK-5-NEXT: DefLocation:     
-// CHECK-5-NEXT:   LineNumber:      38
+// CHECK-5-NEXT:   LineNumber:      17
 // CHECK-5-NEXT:   Filename:        'test'
-// CHECK-5-NEXT: TagType:         Class
+// CHECK-5-NEXT: Members:         
+// CHECK-5-NEXT:   - 'X'
+// CHECK-5-NEXT:   - 'Y'
 // CHECK-5-NEXT: ...
 
-// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-6
+// RUN: cat %t/docs/./X.yaml | FileCheck %s --check-prefix CHECK-6
 // CHECK-6: ---
-// CHECK-6-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-6-NEXT: ChildFunctions:  
-// CHECK-6-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-6-NEXT:     Name:            'H'
-// CHECK-6-NEXT:     DefLocation:     
-// CHECK-6-NEXT:       LineNumber:      11
-// CHECK-6-NEXT:       Filename:        'test'
-// CHECK-6-NEXT:     ReturnType:      
-// CHECK-6-NEXT:       Type:            
-// CHECK-6-NEXT:         Name:            'void'
-// CHECK-6-NEXT: ChildEnums:      
-// CHECK-6-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-6-NEXT:     Name:            'B'
-// CHECK-6-NEXT:     DefLocation:     
-// CHECK-6-NEXT:       LineNumber:      17
-// CHECK-6-NEXT:       Filename:        'test'
-// CHECK-6-NEXT:     Members:         
-// CHECK-6-NEXT:       - 'X'
-// CHECK-6-NEXT:       - 'Y'
-// CHECK-6-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-6-NEXT:     Name:            'Bc'
-// CHECK-6-NEXT:     DefLocation:     
-// CHECK-6-NEXT:       LineNumber:      19
-// CHECK-6-NEXT:       Filename:        'test'
-// CHECK-6-NEXT:     Scoped:          true
-// CHECK-6-NEXT:     Members:         
-// CHECK-6-NEXT:       - 'A'
-// CHECK-6-NEXT:       - 'B'
+// CHECK-6-NEXT: USR:             'CA7C7935730B5EACD25F080E9C83FA087CCDC75E'
+// CHECK-6-NEXT: Name:            'X'
+// CHECK-6-NEXT: DefLocation:     
+// CHECK-6-NEXT:   LineNumber:      38
+// CHECK-6-NEXT:   Filename:        'test'
+// CHECK-6-NEXT: TagType:         Class
 // CHECK-6-NEXT: ...
 
-// RUN: cat %t/docs/H/I.yaml | FileCheck %s --check-prefix CHECK-7
+// RUN: cat %t/docs/./H.yaml | FileCheck %s --check-prefix CHECK-7
 // CHECK-7: ---
-// CHECK-7-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-7-NEXT: Name:            'I'
-// CHECK-7-NEXT: Namespace:       
-// CHECK-7-NEXT:   - Type:            Function
-// CHECK-7-NEXT:     Name:            'H'
-// CHECK-7-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-7-NEXT: USR:             'B6AC4C5C9F2EA3F2B3ECE1A33D349F4EE502B24E'
+// CHECK-7-NEXT: Name:            'H'
 // CHECK-7-NEXT: DefLocation:     
-// CHECK-7-NEXT:   LineNumber:      12
+// CHECK-7-NEXT:   LineNumber:      11
 // CHECK-7-NEXT:   Filename:        'test'
-// CHECK-7-NEXT: TagType:         Class
+// CHECK-7-NEXT: ReturnType:      
+// CHECK-7-NEXT:   Type:            
+// CHECK-7-NEXT:     Name:            'void'
 // CHECK-7-NEXT: ...
 
-// RUN: cat %t/docs/X/Y.yaml | FileCheck %s --check-prefix CHECK-8
+// RUN: cat %t/docs/./Bc.yaml | FileCheck %s --check-prefix CHECK-8
 // CHECK-8: ---
-// CHECK-8-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-8-NEXT: Name:            'Y'
-// CHECK-8-NEXT: Namespace:       
-// CHECK-8-NEXT:   - Type:            Record
-// CHECK-8-NEXT:     Name:            'X'
-// CHECK-8-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-8-NEXT: USR:             '1E3438A08BA22025C0B46289FF0686F92C8924C5'
+// CHECK-8-NEXT: Name:            'Bc'
 // CHECK-8-NEXT: DefLocation:     
-// CHECK-8-NEXT:   LineNumber:      39
+// CHECK-8-NEXT:   LineNumber:      19
 // CHECK-8-NEXT:   Filename:        'test'
-// CHECK-8-NEXT: TagType:         Class
+// CHECK-8-NEXT: Scoped:          true
+// CHECK-8-NEXT: Members:         
+// CHECK-8-NEXT:   - 'A'
+// CHECK-8-NEXT:   - 'B'
 // CHECK-8-NEXT: ...
+
+// RUN: cat %t/docs/H/I.yaml | FileCheck %s --check-prefix CHECK-9
+// CHECK-9: ---
+// CHECK-9-NEXT: USR:             '3FB542274573CAEAD54CEBFFCAEE3D77FB9713D8'
+// CHECK-9-NEXT: Name:            'I'
+// CHECK-9-NEXT: Namespace:       
+// CHECK-9-NEXT:   - Type:            Function
+// CHECK-9-NEXT:     Name:            'H'
+// CHECK-9-NEXT:     USR:             'B6AC4C5C9F2EA3F2B3ECE1A33D349F4EE502B24E'
+// CHECK-9-NEXT: DefLocation:     
+// CHECK-9-NEXT:   LineNumber:      12
+// CHECK-9-NEXT:   Filename:        'test'
+// CHECK-9-NEXT: TagType:         Class
+// CHECK-9-NEXT: ...
+
+// RUN: cat %t/docs/X/Y.yaml | FileCheck %s --check-prefix CHECK-10
+// CHECK-10: ---
+// CHECK-10-NEXT: USR:             '641AB4A3D36399954ACDE29C7A8833032BF40472'
+// CHECK-10-NEXT: Name:            'Y'
+// CHECK-10-NEXT: Namespace:       
+// CHECK-10-NEXT:   - Type:            Record
+// CHECK-10-NEXT:     Name:            'X'
+// CHECK-10-NEXT:     USR:             'CA7C7935730B5EACD25F080E9C83FA087CCDC75E'
+// CHECK-10-NEXT: DefLocation:     
+// CHECK-10-NEXT:   LineNumber:      39
+// CHECK-10-NEXT:   Filename:        'test'
+// CHECK-10-NEXT: TagType:         Class
+// CHECK-10-NEXT: ...
+
+// RUN: cat %t/docs/E/ProtectedMethod.yaml | FileCheck %s --check-prefix CHECK-11
+// CHECK-11: ---
+// CHECK-11-NEXT: USR:             '5093D428CDC62096A67547BA52566E4FB9404EEE'
+// CHECK-11-NEXT: Name:            'ProtectedMethod'
+// CHECK-11-NEXT: Namespace:       
+// CHECK-11-NEXT:   - Type:            Record
+// CHECK-11-NEXT:     Name:            'E'
+// CHECK-11-NEXT:     USR:             '289584A8E0FF4178A794622A547AA622503967A1'
+// CHECK-11-NEXT: DefLocation:     
+// CHECK-11-NEXT:   LineNumber:      34
+// CHECK-11-NEXT:   Filename:        'test'
+// CHECK-11-NEXT: Location:        
+// CHECK-11-NEXT:   - LineNumber:      31
+// CHECK-11-NEXT:     Filename:        'test'
+// CHECK-11-NEXT: IsMethod:        true
+// CHECK-11-NEXT: Parent:          
+// CHECK-11-NEXT:   Type:            Record
+// CHECK-11-NEXT:   Name:            'E'
+// CHECK-11-NEXT:   USR:             '289584A8E0FF4178A794622A547AA622503967A1'
+// CHECK-11-NEXT: ReturnType:      
+// CHECK-11-NEXT:   Type:            
+// CHECK-11-NEXT:     Name:            'void'
+// CHECK-11-NEXT: ...
+
+// RUN: cat %t/docs/E/E.yaml | FileCheck %s --check-prefix CHECK-12
+// CHECK-12: ---
+// CHECK-12-NEXT: USR:             'DEB4AC1CD9253CD9EF7FBE6BCAC506D77984ABD4'
+// CHECK-12-NEXT: Name:            'E'
+// CHECK-12-NEXT: Namespace:       
+// CHECK-12-NEXT:   - Type:            Record
+// CHECK-12-NEXT:     Name:            'E'
+// CHECK-12-NEXT:     USR:             '289584A8E0FF4178A794622A547AA622503967A1'
+// CHECK-12-NEXT: DefLocation:     
+// CHECK-12-NEXT:   LineNumber:      27
+// CHECK-12-NEXT:   Filename:        'test'
+// CHECK-12-NEXT: IsMethod:        true
+// CHECK-12-NEXT: Parent:          
+// CHECK-12-NEXT:   Type:            Record
+// CHECK-12-NEXT:   Name:            'E'
+// CHECK-12-NEXT:   USR:             '289584A8E0FF4178A794622A547AA622503967A1'
+// CHECK-12-NEXT: ReturnType:      
+// CHECK-12-NEXT:   Type:            
+// CHECK-12-NEXT:     Name:            'void'
+// CHECK-12-NEXT: ...
+
+// RUN: cat %t/docs/E/~E.yaml | FileCheck %s --check-prefix CHECK-13
+// CHECK-13: ---
+// CHECK-13-NEXT: USR:             'BD2BDEBD423F80BACCEA75DE6D6622D355FC2D17'
+// CHECK-13-NEXT: Name:            '~E'
+// CHECK-13-NEXT: Namespace:       
+// CHECK-13-NEXT:   - Type:            Record
+// CHECK-13-NEXT:     Name:            'E'
+// CHECK-13-NEXT:     USR:             '289584A8E0FF4178A794622A547AA622503967A1'
+// CHECK-13-NEXT: DefLocation:     
+// CHECK-13-NEXT:   LineNumber:      28
+// CHECK-13-NEXT:   Filename:        'test'
+// CHECK-13-NEXT: IsMethod:        true
+// CHECK-13-NEXT: Parent:          
+// CHECK-13-NEXT:   Type:            Record
+// CHECK-13-NEXT:   Name:            'E'
+// CHECK-13-NEXT:   USR:             '289584A8E0FF4178A794622A547AA622503967A1'
+// CHECK-13-NEXT: ReturnType:      
+// CHECK-13-NEXT:   Type:            
+// CHECK-13-NEXT:     Name:            'void'
+// CHECK-13-NEXT: ...




More information about the cfe-commits mailing list