[clang-doc] Add unit tests for bitcode

Adds unit tests for the BitcodeWriter and BitcodeReader libraries.

This is part of a move to convert clang-doc's tests to a more
maintainable unit test framework, with a smaller number of integration
tests to maintain and more granular failure feedback.

Differential Revision: https://reviews.llvm.org/D53082

llvm-svn: 344651
This commit is contained in:
Julie Hockett 2018-10-16 23:06:53 +00:00
parent 68049b1a8e
commit f276624e87
27 changed files with 807 additions and 548 deletions

View File

@ -309,10 +309,8 @@ void ClangDocBitcodeWriter::emitRecord(const Location &Loc, RecordId ID) {
// FIXME: Assert that the line number is of the appropriate size.
Record.push_back(Loc.LineNumber);
assert(Loc.Filename.size() < (1U << BitCodeConstants::StringLengthSize));
// Record.push_back(Loc.Filename.size());
// Stream.EmitRecordWithBlob(Abbrevs.get(ID), Record, Loc.Filename);
Record.push_back(4);
Stream.EmitRecordWithBlob(Abbrevs.get(ID), Record, "test");
Record.push_back(Loc.Filename.size());
Stream.EmitRecordWithBlob(Abbrevs.get(ID), Record, Loc.Filename);
}
void ClangDocBitcodeWriter::emitRecord(bool Val, RecordId ID) {

View File

@ -32,169 +32,169 @@ void F(int I, int J) {}
// 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: <VersionBlock NumWords={{[0-9]+}} 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: <NamespaceBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'FullComment'
// CHECK-0-NEXT: <CommentBlock NumWords=13 BlockCodeSize=4>
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} 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={{[0-9]+}} 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: <CommentBlock NumWords={{[0-9]+}} 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: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
// CHECK-0-NEXT: <CommentBlock NumWords=11 BlockCodeSize=4>
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} 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: <CommentBlock NumWords={{[0-9]+}} 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={{[0-9]+}} 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: <CommentBlock NumWords={{[0-9]+}} 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>
// CHECK-0-NEXT: <CommentBlock NumWords=76 BlockCodeSize=4>
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} 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={{[0-9]+}} 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: <CommentBlock NumWords={{[0-9]+}} 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: <AttrVal abbrevid=13 op0=4/> blob data = 'test'
// CHECK-0-NEXT: </CommentBlock>
// CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4>
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} 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: <CommentBlock NumWords={{[0-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: <CommentBlock NumWords={{[0-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: <CommentBlock NumWords={{[0-9]+}} 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: <CommentBlock NumWords={{[0-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: <CommentBlock NumWords={{[0-9]+}} 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={{[0-9]+}} 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: <CommentBlock NumWords={{[0-9]+}} 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: <CommentBlock NumWords={{[0-9]+}} 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 NumWords={{[0-9]+}} 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={{[0-9]+}} 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: <CommentBlock NumWords={{[0-9]+}} 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: <CommentBlock NumWords={{[0-9]+}} 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: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
// CHECK-0-NEXT: <CommentBlock NumWords=10 BlockCodeSize=4>
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} 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: <CommentBlock NumWords={{[0-9]+}} 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: <CommentBlock NumWords={{[0-9]+}} 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: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
// CHECK-0-NEXT: <CommentBlock NumWords=10 BlockCodeSize=4>
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} 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: <CommentBlock NumWords={{[0-9]+}} 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: <CommentBlock NumWords={{[0-9]+}} 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: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
// CHECK-0-NEXT: <CommentBlock NumWords=8 BlockCodeSize=4>
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} 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: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'FullComment'
// CHECK-0-NEXT: <CommentBlock NumWords=21 BlockCodeSize=4>
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} 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={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=28 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-0-NEXT: <Location abbrevid=7 op0=25 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-0-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FieldTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FieldTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>

View File

@ -99,58 +99,58 @@ inline void anonInlineFunction();
// RUN: llvm-bcanalyzer --dump %t/docs/bc/8960B5C9247D6F5C532756E53A1AD1240FA2146F.bc | FileCheck %s --check-prefix CHECK-0
// CHECK-0: <BLOCKINFO_BLOCK/>
// CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-0-NEXT: <VersionBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <Version abbrevid=4 op0=2/>
// CHECK-0-NEXT: </VersionBlock>
// CHECK-0-NEXT: <NamespaceBlock NumWords=126 BlockCodeSize=4>
// CHECK-0-NEXT: <NamespaceBlock NumWords={{[0-9]+}} 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=5/> blob data = 'named'
// CHECK-0-NEXT: <FunctionBlock NumWords=36 BlockCodeSize=4>
// CHECK-0-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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=13/> blob data = 'namedFunction'
// CHECK-0-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=5/> blob data = 'named'
// CHECK-0-NEXT: <RefType abbrevid=6 op0=1/>
// CHECK-0-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-0-NEXT: </ReferenceBlock>
// CHECK-0-NEXT: <Location abbrevid=7 op0=61 op1=4/> blob data = '{{.*}}'
// CHECK-0-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-0-NEXT: <Location abbrevid=7 op0=61 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-0-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=37 BlockCodeSize=4>
// CHECK-0-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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=19/> blob data = 'namedStaticFunction'
// CHECK-0-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=5/> blob data = 'named'
// CHECK-0-NEXT: <RefType abbrevid=6 op0=1/>
// CHECK-0-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-0-NEXT: </ReferenceBlock>
// CHECK-0-NEXT: <Location abbrevid=7 op0=62 op1=4/> blob data = '{{.*}}'
// CHECK-0-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-0-NEXT: <Location abbrevid=7 op0=62 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-0-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=37 BlockCodeSize=4>
// CHECK-0-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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=19/> blob data = 'namedInlineFunction'
// CHECK-0-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=5/> blob data = 'named'
// CHECK-0-NEXT: <RefType abbrevid=6 op0=1/>
// CHECK-0-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-0-NEXT: </ReferenceBlock>
// CHECK-0-NEXT: <Location abbrevid=7 op0=63 op1=4/> blob data = '{{.*}}'
// CHECK-0-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-0-NEXT: <Location abbrevid=7 op0=63 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-0-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>
@ -160,105 +160,105 @@ inline void anonInlineFunction();
// RUN: llvm-bcanalyzer --dump %t/docs/bc/7CDD73DCD6CD72F7E5CE25502810A182C66C4B45.bc | FileCheck %s --check-prefix CHECK-1
// CHECK-1: <BLOCKINFO_BLOCK/>
// CHECK-1-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-1-NEXT: <VersionBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-1-NEXT: <Version abbrevid=4 op0=2/>
// CHECK-1-NEXT: </VersionBlock>
// CHECK-1-NEXT: <RecordBlock NumWords=203 BlockCodeSize=4>
// CHECK-1-NEXT: <RecordBlock NumWords={{[0-9]+}} 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 = 'Class'
// CHECK-1-NEXT: <DefLocation abbrevid=6 op0=32 op1=4/> blob data = '{{.*}}'
// CHECK-1-NEXT: <DefLocation abbrevid=6 op0=32 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-1-NEXT: <TagType abbrevid=8 op0=3/>
// CHECK-1-NEXT: <MemberTypeBlock NumWords=10 BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-1-NEXT: <MemberTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=11/> blob data = 'publicField'
// CHECK-1-NEXT: <Access abbrevid=5 op0=3/>
// CHECK-1-NEXT: </MemberTypeBlock>
// CHECK-1-NEXT: <MemberTypeBlock NumWords=11 BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-1-NEXT: <MemberTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=14/> blob data = 'protectedField'
// CHECK-1-NEXT: <Access abbrevid=5 op0=1/>
// CHECK-1-NEXT: </MemberTypeBlock>
// CHECK-1-NEXT: <MemberTypeBlock NumWords=10 BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-1-NEXT: <MemberTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=12/> blob data = 'privateField'
// CHECK-1-NEXT: <Access abbrevid=5 op0=2/>
// CHECK-1-NEXT: </MemberTypeBlock>
// CHECK-1-NEXT: <FunctionBlock NumWords=48 BlockCodeSize=4>
// CHECK-1-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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=12/> blob data = 'publicMethod'
// CHECK-1-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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 = 'Class'
// CHECK-1-NEXT: <RefType abbrevid=6 op0=2/>
// CHECK-1-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-1-NEXT: </ReferenceBlock>
// CHECK-1-NEXT: <IsMethod abbrevid=9 op0=1/>
// CHECK-1-NEXT: <Location abbrevid=7 op0=34 op1=4/> blob data = '{{.*}}'
// CHECK-1-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4>
// CHECK-1-NEXT: <Location abbrevid=7 op0=34 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-1-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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 = 'Class'
// CHECK-1-NEXT: <RefType abbrevid=6 op0=2/>
// CHECK-1-NEXT: <Field abbrevid=7 op0=2/>
// CHECK-1-NEXT: </ReferenceBlock>
// CHECK-1-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-1-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=49 BlockCodeSize=4>
// CHECK-1-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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=15/> blob data = 'protectedMethod'
// CHECK-1-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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 = 'Class'
// CHECK-1-NEXT: <RefType abbrevid=6 op0=2/>
// CHECK-1-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-1-NEXT: </ReferenceBlock>
// CHECK-1-NEXT: <IsMethod abbrevid=9 op0=1/>
// CHECK-1-NEXT: <Location abbrevid=7 op0=38 op1=4/> blob data = '{{.*}}'
// CHECK-1-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4>
// CHECK-1-NEXT: <Location abbrevid=7 op0=38 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-1-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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 = 'Class'
// CHECK-1-NEXT: <RefType abbrevid=6 op0=2/>
// CHECK-1-NEXT: <Field abbrevid=7 op0=2/>
// CHECK-1-NEXT: </ReferenceBlock>
// CHECK-1-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-1-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=49 BlockCodeSize=4>
// CHECK-1-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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 = 'privateMethod'
// CHECK-1-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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 = 'Class'
// CHECK-1-NEXT: <RefType abbrevid=6 op0=2/>
// CHECK-1-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-1-NEXT: </ReferenceBlock>
// CHECK-1-NEXT: <IsMethod abbrevid=9 op0=1/>
// CHECK-1-NEXT: <Location abbrevid=7 op0=42 op1=4/> blob data = '{{.*}}'
// CHECK-1-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4>
// CHECK-1-NEXT: <Location abbrevid=7 op0=42 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-1-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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 = 'Class'
// CHECK-1-NEXT: <RefType abbrevid=6 op0=2/>
// CHECK-1-NEXT: <Field abbrevid=7 op0=2/>
// CHECK-1-NEXT: </ReferenceBlock>
// CHECK-1-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-1-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>
@ -268,112 +268,112 @@ inline void anonInlineFunction();
// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-2
// CHECK-2: <BLOCKINFO_BLOCK/>
// CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-2-NEXT: <VersionBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <Version abbrevid=4 op0=2/>
// CHECK-2-NEXT: </VersionBlock>
// CHECK-2-NEXT: <NamespaceBlock NumWords=218 BlockCodeSize=4>
// CHECK-2-NEXT: <FunctionBlock NumWords=31 BlockCodeSize=4>
// CHECK-2-NEXT: <NamespaceBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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=8/> blob data = 'function'
// CHECK-2-NEXT: <Location abbrevid=7 op0=10 op1=4/> blob data = '{{.*}}'
// CHECK-2-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-2-NEXT: <Location abbrevid=7 op0=10 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-2-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FieldTypeBlock NumWords=8 BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-2-NEXT: <FieldTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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 = 'x'
// CHECK-2-NEXT: </FieldTypeBlock>
// CHECK-2-NEXT: </FunctionBlock>
// CHECK-2-NEXT: <FunctionBlock NumWords=33 BlockCodeSize=4>
// CHECK-2-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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=15/> blob data = 'inlinedFunction'
// CHECK-2-NEXT: <Location abbrevid=7 op0=12 op1=4/> blob data = '{{.*}}'
// CHECK-2-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-2-NEXT: <Location abbrevid=7 op0=12 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-2-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FieldTypeBlock NumWords=8 BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-2-NEXT: <FieldTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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 = 'x'
// CHECK-2-NEXT: </FieldTypeBlock>
// CHECK-2-NEXT: </FunctionBlock>
// CHECK-2-NEXT: <FunctionBlock NumWords=35 BlockCodeSize=4>
// CHECK-2-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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=22/> blob data = 'functionWithInnerClass'
// CHECK-2-NEXT: <DefLocation abbrevid=6 op0=14 op1=4/> blob data = '{{.*}}'
// CHECK-2-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-2-NEXT: <DefLocation abbrevid=6 op0=14 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-2-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FieldTypeBlock NumWords=8 BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-2-NEXT: <FieldTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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 = 'x'
// CHECK-2-NEXT: </FieldTypeBlock>
// CHECK-2-NEXT: </FunctionBlock>
// CHECK-2-NEXT: <FunctionBlock NumWords=37 BlockCodeSize=4>
// CHECK-2-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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=29/> blob data = 'inlinedFunctionWithInnerClass'
// CHECK-2-NEXT: <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}'
// CHECK-2-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-2-NEXT: <DefLocation abbrevid=6 op0=23 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-2-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FieldTypeBlock NumWords=8 BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-2-NEXT: <FieldTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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 = 'x'
// CHECK-2-NEXT: </FieldTypeBlock>
// CHECK-2-NEXT: </FunctionBlock>
// CHECK-2-NEXT: <FunctionBlock NumWords=33 BlockCodeSize=4>
// CHECK-2-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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=14/> blob data = 'staticFunction'
// CHECK-2-NEXT: <Location abbrevid=7 op0=66 op1=4/> blob data = '{{.*}}'
// CHECK-2-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-2-NEXT: <Location abbrevid=7 op0=66 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-2-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FieldTypeBlock NumWords=8 BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-2-NEXT: <FieldTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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 = 'x'
// CHECK-2-NEXT: </FieldTypeBlock>
// CHECK-2-NEXT: </FunctionBlock>
// CHECK-2-NEXT: <FunctionBlock NumWords=36 BlockCodeSize=4>
// CHECK-2-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=68 op1=4/> blob data = '{{.*}}'
// CHECK-2-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-2-NEXT: <DefLocation abbrevid=6 op0=68 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-2-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FieldTypeBlock NumWords=8 BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-2-NEXT: <FieldTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>
@ -384,129 +384,129 @@ inline void anonInlineFunction();
// RUN: llvm-bcanalyzer --dump %t/docs/bc/4712C5FA37B298A25501D1033C619B65B0ECC449.bc | FileCheck %s --check-prefix CHECK-3
// CHECK-3: <BLOCKINFO_BLOCK/>
// CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-3-NEXT: <VersionBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-3-NEXT: <Version abbrevid=4 op0=2/>
// CHECK-3-NEXT: </VersionBlock>
// CHECK-3-NEXT: <RecordBlock NumWords=270 BlockCodeSize=4>
// CHECK-3-NEXT: <RecordBlock NumWords={{[0-9]+}} 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=10/> blob data = 'NamedClass'
// CHECK-3-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4>
// CHECK-3-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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 = 'named'
// CHECK-3-NEXT: <RefType abbrevid=6 op0=1/>
// CHECK-3-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-3-NEXT: </ReferenceBlock>
// CHECK-3-NEXT: <DefLocation abbrevid=6 op0=47 op1=4/> blob data = '{{.*}}'
// CHECK-3-NEXT: <DefLocation abbrevid=6 op0=47 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-3-NEXT: <TagType abbrevid=8 op0=3/>
// CHECK-3-NEXT: <MemberTypeBlock NumWords=11 BlockCodeSize=4>
// CHECK-3-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-3-NEXT: <MemberTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-3-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=16/> blob data = 'namedPublicField'
// CHECK-3-NEXT: <Access abbrevid=5 op0=3/>
// CHECK-3-NEXT: </MemberTypeBlock>
// CHECK-3-NEXT: <MemberTypeBlock NumWords=12 BlockCodeSize=4>
// CHECK-3-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-3-NEXT: <MemberTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-3-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=19/> blob data = 'namedProtectedField'
// CHECK-3-NEXT: <Access abbrevid=5 op0=1/>
// CHECK-3-NEXT: </MemberTypeBlock>
// CHECK-3-NEXT: <MemberTypeBlock NumWords=12 BlockCodeSize=4>
// CHECK-3-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-3-NEXT: <MemberTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-3-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=17/> blob data = 'namedPrivateField'
// CHECK-3-NEXT: <Access abbrevid=5 op0=2/>
// CHECK-3-NEXT: </MemberTypeBlock>
// CHECK-3-NEXT: <FunctionBlock NumWords=65 BlockCodeSize=4>
// CHECK-3-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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=17/> blob data = 'namedPublicMethod'
// CHECK-3-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4>
// CHECK-3-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=10/> blob data = 'NamedClass'
// CHECK-3-NEXT: <RefType abbrevid=6 op0=2/>
// CHECK-3-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-3-NEXT: </ReferenceBlock>
// CHECK-3-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4>
// CHECK-3-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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 = 'named'
// CHECK-3-NEXT: <RefType abbrevid=6 op0=1/>
// 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=49 op1=4/> blob data = '{{.*}}'
// CHECK-3-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4>
// CHECK-3-NEXT: <Location abbrevid=7 op0=49 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-3-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=10/> blob data = 'NamedClass'
// 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: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-3-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=65 BlockCodeSize=4>
// CHECK-3-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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=20/> blob data = 'namedProtectedMethod'
// CHECK-3-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4>
// CHECK-3-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=10/> blob data = 'NamedClass'
// CHECK-3-NEXT: <RefType abbrevid=6 op0=2/>
// CHECK-3-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-3-NEXT: </ReferenceBlock>
// CHECK-3-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4>
// CHECK-3-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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 = 'named'
// CHECK-3-NEXT: <RefType abbrevid=6 op0=1/>
// 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=53 op1=4/> blob data = '{{.*}}'
// CHECK-3-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4>
// CHECK-3-NEXT: <Location abbrevid=7 op0=53 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-3-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=10/> blob data = 'NamedClass'
// 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: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-3-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=65 BlockCodeSize=4>
// CHECK-3-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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=18/> blob data = 'namedPrivateMethod'
// CHECK-3-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4>
// CHECK-3-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=10/> blob data = 'NamedClass'
// CHECK-3-NEXT: <RefType abbrevid=6 op0=2/>
// CHECK-3-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-3-NEXT: </ReferenceBlock>
// CHECK-3-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4>
// CHECK-3-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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 = 'named'
// CHECK-3-NEXT: <RefType abbrevid=6 op0=1/>
// 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=57 op1=4/> blob data = '{{.*}}'
// CHECK-3-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4>
// CHECK-3-NEXT: <Location abbrevid=7 op0=57 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-3-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=10/> blob data = 'NamedClass'
// 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: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-3-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>
@ -516,125 +516,125 @@ inline void anonInlineFunction();
// RUN: llvm-bcanalyzer --dump %t/docs/bc/6E8FB72A89761E77020BFCEE9A9A6E64B15CC2A9.bc | FileCheck %s --check-prefix CHECK-4
// CHECK-4: <BLOCKINFO_BLOCK/>
// CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-4-NEXT: <VersionBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-4-NEXT: <Version abbrevid=4 op0=2/>
// CHECK-4-NEXT: </VersionBlock>
// CHECK-4-NEXT: <RecordBlock NumWords=252 BlockCodeSize=4>
// CHECK-4-NEXT: <RecordBlock NumWords={{[0-9]+}} 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=9/> blob data = 'AnonClass'
// CHECK-4-NEXT: <ReferenceBlock NumWords=7 BlockCodeSize=4>
// CHECK-4-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <RefType abbrevid=6 op0=1/>
// CHECK-4-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-4-NEXT: </ReferenceBlock>
// CHECK-4-NEXT: <DefLocation abbrevid=6 op0=78 op1=4/> blob data = '{{.*}}'
// CHECK-4-NEXT: <DefLocation abbrevid=6 op0=78 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-4-NEXT: <TagType abbrevid=8 op0=3/>
// CHECK-4-NEXT: <MemberTypeBlock NumWords=11 BlockCodeSize=4>
// CHECK-4-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-4-NEXT: <MemberTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-4-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <Name abbrevid=4 op0=15/> blob data = 'anonPublicField'
// CHECK-4-NEXT: <Access abbrevid=5 op0=3/>
// CHECK-4-NEXT: </MemberTypeBlock>
// CHECK-4-NEXT: <MemberTypeBlock NumWords=12 BlockCodeSize=4>
// CHECK-4-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-4-NEXT: <MemberTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-4-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <Name abbrevid=4 op0=18/> blob data = 'anonProtectedField'
// CHECK-4-NEXT: <Access abbrevid=5 op0=1/>
// CHECK-4-NEXT: </MemberTypeBlock>
// CHECK-4-NEXT: <MemberTypeBlock NumWords=11 BlockCodeSize=4>
// CHECK-4-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-4-NEXT: <MemberTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-4-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <Name abbrevid=4 op0=16/> blob data = 'anonPrivateField'
// CHECK-4-NEXT: <Access abbrevid=5 op0=2/>
// CHECK-4-NEXT: </MemberTypeBlock>
// CHECK-4-NEXT: <FunctionBlock NumWords=60 BlockCodeSize=4>
// CHECK-4-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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=16/> blob data = 'anonPublicMethod'
// CHECK-4-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4>
// CHECK-4-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=9/> blob data = 'AnonClass'
// 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=7 BlockCodeSize=4>
// CHECK-4-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <RefType abbrevid=6 op0=1/>
// CHECK-4-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-4-NEXT: </ReferenceBlock>
// CHECK-4-NEXT: <IsMethod abbrevid=9 op0=1/>
// CHECK-4-NEXT: <Location abbrevid=7 op0=80 op1=4/> blob data = '{{.*}}'
// CHECK-4-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4>
// CHECK-4-NEXT: <Location abbrevid=7 op0=80 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-4-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=9/> blob data = 'AnonClass'
// 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: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-4-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>
// CHECK-4-NEXT: <FunctionBlock NumWords=61 BlockCodeSize=4>
// CHECK-4-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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=19/> blob data = 'anonProtectedMethod'
// CHECK-4-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4>
// CHECK-4-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=9/> blob data = 'AnonClass'
// 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=7 BlockCodeSize=4>
// CHECK-4-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <RefType abbrevid=6 op0=1/>
// CHECK-4-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-4-NEXT: </ReferenceBlock>
// CHECK-4-NEXT: <IsMethod abbrevid=9 op0=1/>
// CHECK-4-NEXT: <Location abbrevid=7 op0=84 op1=4/> blob data = '{{.*}}'
// CHECK-4-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4>
// CHECK-4-NEXT: <Location abbrevid=7 op0=84 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-4-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=9/> blob data = 'AnonClass'
// 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: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-4-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>
// CHECK-4-NEXT: <FunctionBlock NumWords=61 BlockCodeSize=4>
// CHECK-4-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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 = 'anonPrivateMethod'
// CHECK-4-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4>
// CHECK-4-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=9/> blob data = 'AnonClass'
// 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=7 BlockCodeSize=4>
// CHECK-4-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <RefType abbrevid=6 op0=1/>
// CHECK-4-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-4-NEXT: </ReferenceBlock>
// CHECK-4-NEXT: <IsMethod abbrevid=9 op0=1/>
// CHECK-4-NEXT: <Location abbrevid=7 op0=88 op1=4/> blob data = '{{.*}}'
// CHECK-4-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4>
// CHECK-4-NEXT: <Location abbrevid=7 op0=88 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-4-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=9/> blob data = 'AnonClass'
// 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: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-4-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>
@ -644,54 +644,54 @@ inline void anonInlineFunction();
// RUN: llvm-bcanalyzer --dump %t/docs/bc/83CC52D32583E0771710A7742DE81C839E953AC8.bc | FileCheck %s --check-prefix CHECK-5
// CHECK-5: <BLOCKINFO_BLOCK/>
// CHECK-5-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-5-NEXT: <VersionBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-5-NEXT: <Version abbrevid=4 op0=2/>
// CHECK-5-NEXT: </VersionBlock>
// CHECK-5-NEXT: <NamespaceBlock NumWords=109 BlockCodeSize=4>
// CHECK-5-NEXT: <NamespaceBlock NumWords={{[0-9]+}} 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: <FunctionBlock NumWords=31 BlockCodeSize=4>
// CHECK-5-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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=12/> blob data = 'anonFunction'
// CHECK-5-NEXT: <ReferenceBlock NumWords=7 BlockCodeSize=4>
// CHECK-5-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <RefType abbrevid=6 op0=1/>
// CHECK-5-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-5-NEXT: </ReferenceBlock>
// CHECK-5-NEXT: <Location abbrevid=7 op0=92 op1=4/> blob data = '{{.*}}'
// CHECK-5-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4>
// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-5-NEXT: <Location abbrevid=7 op0=92 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-5-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-5-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FunctionBlock NumWords=33 BlockCodeSize=4>
// CHECK-5-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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=18/> blob data = 'anonStaticFunction'
// CHECK-5-NEXT: <ReferenceBlock NumWords=7 BlockCodeSize=4>
// CHECK-5-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <RefType abbrevid=6 op0=1/>
// CHECK-5-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-5-NEXT: </ReferenceBlock>
// CHECK-5-NEXT: <Location abbrevid=7 op0=93 op1=4/> blob data = '{{.*}}'
// CHECK-5-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4>
// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-5-NEXT: <Location abbrevid=7 op0=93 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-5-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-5-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FunctionBlock NumWords=33 BlockCodeSize=4>
// CHECK-5-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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=18/> blob data = 'anonInlineFunction'
// CHECK-5-NEXT: <ReferenceBlock NumWords=7 BlockCodeSize=4>
// CHECK-5-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <RefType abbrevid=6 op0=1/>
// CHECK-5-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-5-NEXT: </ReferenceBlock>
// CHECK-5-NEXT: <Location abbrevid=7 op0=94 op1=4/> blob data = '{{.*}}'
// CHECK-5-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4>
// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-5-NEXT: <Location abbrevid=7 op0=94 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-5-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-5-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>

View File

@ -19,65 +19,65 @@ export double exportedModuleFunction(double y, int z); // ExternalLinkage
// 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: <VersionBlock NumWords={{[0-9]+}} 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: <NamespaceBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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: <Location abbrevid=7 op0=11 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-0-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FieldTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FunctionBlock NumWords={{[0-9]+}} 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: <Location abbrevid=7 op0=13 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-0-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FieldTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FunctionBlock NumWords={{[0-9]+}} 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: <Location abbrevid=7 op0=15 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-0-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FieldTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FieldTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>

View File

@ -30,25 +30,25 @@ E func(int i) { return X; }
// RUN: llvm-bcanalyzer --dump %t/docs/bc/8D042EFFC98B373450BC6B5B90A330C25A150E9C.bc | FileCheck %s --check-prefix CHECK-0
// CHECK-0: <BLOCKINFO_BLOCK/>
// CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-0-NEXT: <VersionBlock NumWords={{[0-9]+}} 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: <NamespaceBlock NumWords={{[0-9]+}} 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: <FunctionBlock NumWords={{[0-9]+}} 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: <ReferenceBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=17 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-0-NEXT: <Location abbrevid=7 op0=11 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-0-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>
@ -58,64 +58,64 @@ E func(int i) { return X; }
// RUN: llvm-bcanalyzer --dump %t/docs/bc/E21AF79E2A9D02554BA090D10DF39FE273F5CDB5.bc | FileCheck %s --check-prefix CHECK-1
// CHECK-1: <BLOCKINFO_BLOCK/>
// CHECK-1-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-1-NEXT: <VersionBlock NumWords={{[0-9]+}} 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: <NamespaceBlock NumWords={{[0-9]+}} 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: <ReferenceBlock NumWords=10 BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FunctionBlock NumWords=56 BlockCodeSize=4>
// CHECK-1-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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: <ReferenceBlock NumWords={{[0-9]+}} 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: <ReferenceBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=23 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-1-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FieldTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <EnumBlock NumWords={{[0-9]+}} 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: <ReferenceBlock NumWords={{[0-9]+}} 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: <ReferenceBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=21 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-1-NEXT: <Member abbrevid=8 op0=1/> blob data = 'X'
// CHECK-1-NEXT: </EnumBlock>
// CHECK-1-NEXT: </NamespaceBlock>

View File

@ -46,82 +46,82 @@ class G;
// RUN: llvm-bcanalyzer --dump %t/docs/bc/289584A8E0FF4178A794622A547AA622503967A1.bc | FileCheck %s --check-prefix CHECK-0
// CHECK-0: <BLOCKINFO_BLOCK/>
// CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-0-NEXT: <VersionBlock NumWords={{[0-9]+}} 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: <RecordBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=25 op1=4/> blob data = '{{.*}}'
// CHECK-0-NEXT: <DefLocation abbrevid=6 op0=25 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-0-NEXT: <TagType abbrevid=8 op0=3/>
// CHECK-0-NEXT: <FunctionBlock NumWords=44 BlockCodeSize=4>
// CHECK-0-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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: <ReferenceBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=27 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FunctionBlock NumWords={{[0-9]+}} 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: <ReferenceBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=28 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FunctionBlock NumWords={{[0-9]+}} 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: <ReferenceBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=34 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-0-NEXT: <Location abbrevid=7 op0=31 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>
@ -131,27 +131,27 @@ class G;
// RUN: llvm-bcanalyzer --dump %t/docs/bc/CA7C7935730B5EACD25F080E9C83FA087CCDC75E.bc | FileCheck %s --check-prefix CHECK-1
// CHECK-1: <BLOCKINFO_BLOCK/>
// CHECK-1-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-1-NEXT: <VersionBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-1-NEXT: <Version abbrevid=4 op0=2/>
// CHECK-1-NEXT: </VersionBlock>
// CHECK-1-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
// CHECK-1-NEXT: <RecordBlock NumWords={{[0-9]+}} 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 = 'X'
// CHECK-1-NEXT: <DefLocation abbrevid=6 op0=38 op1=4/> blob data = '{{.*}}'
// CHECK-1-NEXT: <DefLocation abbrevid=6 op0=38 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-1-NEXT: <TagType abbrevid=8 op0=3/>
// CHECK-1-NEXT: </RecordBlock>
// RUN: llvm-bcanalyzer --dump %t/docs/bc/06B5F6A19BA9F6A832E127C9968282B94619B210.bc | FileCheck %s --check-prefix CHECK-2
// CHECK-2: <BLOCKINFO_BLOCK/>
// CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-2-NEXT: <VersionBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <Version abbrevid=4 op0=2/>
// CHECK-2-NEXT: </VersionBlock>
// CHECK-2-NEXT: <RecordBlock NumWords=22 BlockCodeSize=4>
// CHECK-2-NEXT: <RecordBlock NumWords={{[0-9]+}} 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 = 'C'
// CHECK-2-NEXT: <DefLocation abbrevid=6 op0=21 op1=4/> blob data = '{{.*}}'
// CHECK-2-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-2-NEXT: <DefLocation abbrevid=6 op0=21 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-2-NEXT: <MemberTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>
@ -162,62 +162,62 @@ class G;
// RUN: llvm-bcanalyzer --dump %t/docs/bc/4202E8BF0ECB12AE354C8499C52725B0EE30AED5.bc | FileCheck %s --check-prefix CHECK-3
// CHECK-3: <BLOCKINFO_BLOCK/>
// CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-3-NEXT: <VersionBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-3-NEXT: <Version abbrevid=4 op0=2/>
// CHECK-3-NEXT: </VersionBlock>
// CHECK-3-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
// CHECK-3-NEXT: <RecordBlock NumWords={{[0-9]+}} 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 = 'G'
// CHECK-3-NEXT: <Location abbrevid=7 op0=42 op1=4/> blob data = '{{.*}}'
// CHECK-3-NEXT: <Location abbrevid=7 op0=42 op1={{[0-9]+}}/> 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
// CHECK-4: <BLOCKINFO_BLOCK/>
// CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-4-NEXT: <VersionBlock NumWords={{[0-9]+}} 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: <RecordBlock NumWords={{[0-9]+}} 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: <ReferenceBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=39 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-4-NEXT: <TagType abbrevid=8 op0=3/>
// 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: <VersionBlock NumWords={{[0-9]+}} 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: <NamespaceBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-5-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=11 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-5-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-5-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <EnumBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=17 op1={{[0-9]+}}/> 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: <EnumBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=19 op1={{[0-9]+}}/> 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'
@ -226,33 +226,33 @@ class G;
// RUN: llvm-bcanalyzer --dump %t/docs/bc/0921737541208B8FA9BB42B60F78AC1D779AA054.bc | FileCheck %s --check-prefix CHECK-6
// CHECK-6: <BLOCKINFO_BLOCK/>
// CHECK-6-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-6-NEXT: <VersionBlock NumWords={{[0-9]+}} 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: <RecordBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=23 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-6-NEXT: <TagType abbrevid=8 op0=3/>
// CHECK-6-NEXT: </RecordBlock>
// RUN: llvm-bcanalyzer --dump %t/docs/bc/E3B54702FABFF4037025BA194FC27C47006330B5.bc | FileCheck %s --check-prefix CHECK-7
// CHECK-7: <BLOCKINFO_BLOCK/>
// CHECK-7-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-7-NEXT: <VersionBlock NumWords={{[0-9]+}} 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: <RecordBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=36 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-7-NEXT: <TagType abbrevid=8 op0=3/>
// CHECK-7-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4>
// CHECK-7-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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 = 'E'
// CHECK-7-NEXT: <RefType abbrevid=6 op0=2/>
// CHECK-7-NEXT: <Field abbrevid=7 op0=2/>
// CHECK-7-NEXT: </ReferenceBlock>
// CHECK-7-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4>
// CHECK-7-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <RefType abbrevid=6 op0=2/>
@ -262,24 +262,24 @@ class G;
// RUN: llvm-bcanalyzer --dump %t/docs/bc/ACE81AFA6627B4CEF2B456FB6E1252925674AF7E.bc | FileCheck %s --check-prefix CHECK-8
// CHECK-8: <BLOCKINFO_BLOCK/>
// CHECK-8-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-8-NEXT: <VersionBlock NumWords={{[0-9]+}} 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: <RecordBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=15 op1={{[0-9]+}}/> 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: <MemberTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-8-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <MemberTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-8-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>

View File

@ -32,39 +32,39 @@ void F(int I, int J) {}
// 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: <VersionBlock NumWords={{[0-9]+}} 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: <NamespaceBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'FullComment'
// CHECK-0-NEXT: <CommentBlock NumWords=21 BlockCodeSize=4>
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} 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={{[0-9]+}} 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: <TypeBlock NumWords=6 BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-0-NEXT: <DefLocation abbrevid=6 op0=28 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-0-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FieldTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FieldTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>

View File

@ -99,23 +99,23 @@ inline void anonInlineFunction();
// RUN: llvm-bcanalyzer --dump %t/docs/bc/8960B5C9247D6F5C532756E53A1AD1240FA2146F.bc | FileCheck %s --check-prefix CHECK-0
// CHECK-0: <BLOCKINFO_BLOCK/>
// CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-0-NEXT: <VersionBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <Version abbrevid=4 op0=2/>
// CHECK-0-NEXT: </VersionBlock>
// CHECK-0-NEXT: <NamespaceBlock NumWords=45 BlockCodeSize=4>
// CHECK-0-NEXT: <NamespaceBlock NumWords={{[0-9]+}} 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=37 BlockCodeSize=4>
// CHECK-0-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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=19/> blob data = 'namedInlineFunction'
// CHECK-0-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=5/> blob data = 'named'
// CHECK-0-NEXT: <RefType abbrevid=6 op0=1/>
// CHECK-0-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-0-NEXT: </ReferenceBlock>
// CHECK-0-NEXT: <Location abbrevid=7 op0=63 op1=4/> blob data = '{{.*}}'
// CHECK-0-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-0-NEXT: <Location abbrevid=7 op0=63 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-0-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>
@ -125,30 +125,30 @@ inline void anonInlineFunction();
// RUN: llvm-bcanalyzer --dump %t/docs/bc/7CDD73DCD6CD72F7E5CE25502810A182C66C4B45.bc | FileCheck %s --check-prefix CHECK-1
// CHECK-1: <BLOCKINFO_BLOCK/>
// CHECK-1-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-1-NEXT: <VersionBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-1-NEXT: <Version abbrevid=4 op0=2/>
// CHECK-1-NEXT: </VersionBlock>
// CHECK-1-NEXT: <RecordBlock NumWords=57 BlockCodeSize=4>
// CHECK-1-NEXT: <RecordBlock NumWords={{[0-9]+}} 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=49 BlockCodeSize=4>
// CHECK-1-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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 = 'privateMethod'
// CHECK-1-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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 = 'Class'
// CHECK-1-NEXT: <RefType abbrevid=6 op0=2/>
// CHECK-1-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-1-NEXT: </ReferenceBlock>
// CHECK-1-NEXT: <IsMethod abbrevid=9 op0=1/>
// CHECK-1-NEXT: <Location abbrevid=7 op0=42 op1=4/> blob data = '{{.*}}'
// CHECK-1-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4>
// CHECK-1-NEXT: <Location abbrevid=7 op0=42 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-1-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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 = 'Class'
// CHECK-1-NEXT: <RefType abbrevid=6 op0=2/>
// CHECK-1-NEXT: <Field abbrevid=7 op0=2/>
// CHECK-1-NEXT: </ReferenceBlock>
// CHECK-1-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-1-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>
@ -158,22 +158,22 @@ inline void anonInlineFunction();
// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-2
// CHECK-2: <BLOCKINFO_BLOCK/>
// CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-2-NEXT: <VersionBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <Version abbrevid=4 op0=2/>
// CHECK-2-NEXT: </VersionBlock>
// CHECK-2-NEXT: <NamespaceBlock NumWords=39 BlockCodeSize=4>
// CHECK-2-NEXT: <FunctionBlock NumWords=36 BlockCodeSize=4>
// CHECK-2-NEXT: <NamespaceBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=68 op1=4/> blob data = '{{.*}}'
// CHECK-2-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-2-NEXT: <DefLocation abbrevid=6 op0=68 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-2-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FieldTypeBlock NumWords=8 BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-2-NEXT: <FieldTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>
@ -184,36 +184,36 @@ inline void anonInlineFunction();
// RUN: llvm-bcanalyzer --dump %t/docs/bc/4712C5FA37B298A25501D1033C619B65B0ECC449.bc | FileCheck %s --check-prefix CHECK-3
// CHECK-3: <BLOCKINFO_BLOCK/>
// CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-3-NEXT: <VersionBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-3-NEXT: <Version abbrevid=4 op0=2/>
// CHECK-3-NEXT: </VersionBlock>
// CHECK-3-NEXT: <RecordBlock NumWords=73 BlockCodeSize=4>
// CHECK-3-NEXT: <RecordBlock NumWords={{[0-9]+}} 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=65 BlockCodeSize=4>
// CHECK-3-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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=18/> blob data = 'namedPrivateMethod'
// CHECK-3-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4>
// CHECK-3-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=10/> blob data = 'NamedClass'
// CHECK-3-NEXT: <RefType abbrevid=6 op0=2/>
// CHECK-3-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-3-NEXT: </ReferenceBlock>
// CHECK-3-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4>
// CHECK-3-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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 = 'named'
// CHECK-3-NEXT: <RefType abbrevid=6 op0=1/>
// 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=57 op1=4/> blob data = '{{.*}}'
// CHECK-3-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4>
// CHECK-3-NEXT: <Location abbrevid=7 op0=57 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-3-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=10/> blob data = 'NamedClass'
// 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: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-3-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>
@ -223,35 +223,35 @@ inline void anonInlineFunction();
// RUN: llvm-bcanalyzer --dump %t/docs/bc/6E8FB72A89761E77020BFCEE9A9A6E64B15CC2A9.bc | FileCheck %s --check-prefix CHECK-4
// CHECK-4: <BLOCKINFO_BLOCK/>
// CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-4-NEXT: <VersionBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-4-NEXT: <Version abbrevid=4 op0=2/>
// CHECK-4-NEXT: </VersionBlock>
// CHECK-4-NEXT: <RecordBlock NumWords=69 BlockCodeSize=4>
// CHECK-4-NEXT: <RecordBlock NumWords={{[0-9]+}} 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=61 BlockCodeSize=4>
// CHECK-4-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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 = 'anonPrivateMethod'
// CHECK-4-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4>
// CHECK-4-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=9/> blob data = 'AnonClass'
// 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=7 BlockCodeSize=4>
// CHECK-4-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <RefType abbrevid=6 op0=1/>
// CHECK-4-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-4-NEXT: </ReferenceBlock>
// CHECK-4-NEXT: <IsMethod abbrevid=9 op0=1/>
// CHECK-4-NEXT: <Location abbrevid=7 op0=88 op1=4/> blob data = '{{.*}}'
// CHECK-4-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4>
// CHECK-4-NEXT: <Location abbrevid=7 op0=88 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-4-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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=9/> blob data = 'AnonClass'
// 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: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-4-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>
@ -261,22 +261,22 @@ inline void anonInlineFunction();
// RUN: llvm-bcanalyzer --dump %t/docs/bc/83CC52D32583E0771710A7742DE81C839E953AC8.bc | FileCheck %s --check-prefix CHECK-5
// CHECK-5: <BLOCKINFO_BLOCK/>
// CHECK-5-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-5-NEXT: <VersionBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-5-NEXT: <Version abbrevid=4 op0=2/>
// CHECK-5-NEXT: </VersionBlock>
// CHECK-5-NEXT: <NamespaceBlock NumWords=41 BlockCodeSize=4>
// CHECK-5-NEXT: <NamespaceBlock NumWords={{[0-9]+}} 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: <FunctionBlock NumWords=33 BlockCodeSize=4>
// CHECK-5-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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=18/> blob data = 'anonInlineFunction'
// CHECK-5-NEXT: <ReferenceBlock NumWords=7 BlockCodeSize=4>
// CHECK-5-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <RefType abbrevid=6 op0=1/>
// CHECK-5-NEXT: <Field abbrevid=7 op0=1/>
// CHECK-5-NEXT: </ReferenceBlock>
// CHECK-5-NEXT: <Location abbrevid=7 op0=94 op1=4/> blob data = '{{.*}}'
// CHECK-5-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4>
// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-5-NEXT: <Location abbrevid=7 op0=94 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-5-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-5-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>

View File

@ -19,29 +19,29 @@ export double exportedModuleFunction(double y, int z); // ExternalLinkage
// 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: <VersionBlock NumWords={{[0-9]+}} 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: <NamespaceBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <FunctionBlock NumWords={{[0-9]+}} 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: <Location abbrevid=7 op0=15 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-0-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FieldTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FieldTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>

View File

@ -30,23 +30,23 @@ E func(int i) { return X; }
// RUN: llvm-bcanalyzer --dump %t/docs/bc/8D042EFFC98B373450BC6B5B90A330C25A150E9C.bc | FileCheck %s --check-prefix CHECK-0
// CHECK-0: <BLOCKINFO_BLOCK/>
// CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-0-NEXT: <VersionBlock NumWords={{[0-9]+}} 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: <NamespaceBlock NumWords={{[0-9]+}} 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: <FunctionBlock NumWords={{[0-9]+}} 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: <ReferenceBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=17 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-0-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>
@ -56,35 +56,35 @@ E func(int i) { return X; }
// RUN: llvm-bcanalyzer --dump %t/docs/bc/E21AF79E2A9D02554BA090D10DF39FE273F5CDB5.bc | FileCheck %s --check-prefix CHECK-1
// CHECK-1: <BLOCKINFO_BLOCK/>
// CHECK-1-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-1-NEXT: <VersionBlock NumWords={{[0-9]+}} 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: <NamespaceBlock NumWords={{[0-9]+}} 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: <FunctionBlock NumWords={{[0-9]+}} 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: <ReferenceBlock NumWords={{[0-9]+}} 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: <ReferenceBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=23 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-1-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <FieldTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-1-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>

View File

@ -46,30 +46,30 @@ class G;
// RUN: llvm-bcanalyzer --dump %t/docs/bc/289584A8E0FF4178A794622A547AA622503967A1.bc | FileCheck %s --check-prefix CHECK-0
// CHECK-0: <BLOCKINFO_BLOCK/>
// CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-0-NEXT: <VersionBlock NumWords={{[0-9]+}} 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: <RecordBlock NumWords={{[0-9]+}} 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: <FunctionBlock NumWords={{[0-9]+}} 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: <ReferenceBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=34 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>
@ -79,27 +79,27 @@ class G;
// RUN: llvm-bcanalyzer --dump %t/docs/bc/CA7C7935730B5EACD25F080E9C83FA087CCDC75E.bc | FileCheck %s --check-prefix CHECK-1
// CHECK-1: <BLOCKINFO_BLOCK/>
// CHECK-1-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-1-NEXT: <VersionBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-1-NEXT: <Version abbrevid=4 op0=2/>
// CHECK-1-NEXT: </VersionBlock>
// CHECK-1-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
// CHECK-1-NEXT: <RecordBlock NumWords={{[0-9]+}} 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 = 'X'
// CHECK-1-NEXT: <DefLocation abbrevid=6 op0=38 op1=4/> blob data = '{{.*}}'
// CHECK-1-NEXT: <DefLocation abbrevid=6 op0=38 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-1-NEXT: <TagType abbrevid=8 op0=3/>
// CHECK-1-NEXT: </RecordBlock>
// RUN: llvm-bcanalyzer --dump %t/docs/bc/06B5F6A19BA9F6A832E127C9968282B94619B210.bc | FileCheck %s --check-prefix CHECK-2
// CHECK-2: <BLOCKINFO_BLOCK/>
// CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-2-NEXT: <VersionBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <Version abbrevid=4 op0=2/>
// CHECK-2-NEXT: </VersionBlock>
// CHECK-2-NEXT: <RecordBlock NumWords=22 BlockCodeSize=4>
// CHECK-2-NEXT: <RecordBlock NumWords={{[0-9]+}} 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 = 'C'
// CHECK-2-NEXT: <DefLocation abbrevid=6 op0=21 op1=4/> blob data = '{{.*}}'
// CHECK-2-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
// CHECK-2-NEXT: <DefLocation abbrevid=6 op0=21 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-2-NEXT: <MemberTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-2-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>
@ -109,44 +109,44 @@ class G;
// RUN: llvm-bcanalyzer --dump %t/docs/bc/4202E8BF0ECB12AE354C8499C52725B0EE30AED5.bc | FileCheck %s --check-prefix CHECK-3
// CHECK-3: <BLOCKINFO_BLOCK/>
// CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-3-NEXT: <VersionBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-3-NEXT: <Version abbrevid=4 op0=2/>
// CHECK-3-NEXT: </VersionBlock>
// CHECK-3-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
// CHECK-3-NEXT: <RecordBlock NumWords={{[0-9]+}} 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 = 'G'
// CHECK-3-NEXT: <Location abbrevid=7 op0=42 op1=4/> blob data = '{{.*}}'
// CHECK-3-NEXT: <Location abbrevid=7 op0=42 op1={{[0-9]+}}/> 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
// CHECK-4: <BLOCKINFO_BLOCK/>
// CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-4-NEXT: <VersionBlock NumWords={{[0-9]+}} 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: <RecordBlock NumWords={{[0-9]+}} 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: <ReferenceBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=39 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-4-NEXT: <TagType abbrevid=8 op0=3/>
// 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: <VersionBlock NumWords={{[0-9]+}} 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: <NamespaceBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-5-NEXT: <EnumBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=19 op1={{[0-9]+}}/> 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'
@ -155,33 +155,33 @@ class G;
// RUN: llvm-bcanalyzer --dump %t/docs/bc/0921737541208B8FA9BB42B60F78AC1D779AA054.bc | FileCheck %s --check-prefix CHECK-6
// CHECK-6: <BLOCKINFO_BLOCK/>
// CHECK-6-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-6-NEXT: <VersionBlock NumWords={{[0-9]+}} 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: <RecordBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=23 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-6-NEXT: <TagType abbrevid=8 op0=3/>
// CHECK-6-NEXT: </RecordBlock>
// RUN: llvm-bcanalyzer --dump %t/docs/bc/E3B54702FABFF4037025BA194FC27C47006330B5.bc | FileCheck %s --check-prefix CHECK-7
// CHECK-7: <BLOCKINFO_BLOCK/>
// CHECK-7-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-7-NEXT: <VersionBlock NumWords={{[0-9]+}} 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: <RecordBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=36 op1={{[0-9]+}}/> blob data = '{{.*}}'
// CHECK-7-NEXT: <TagType abbrevid=8 op0=3/>
// CHECK-7-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4>
// CHECK-7-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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 = 'E'
// CHECK-7-NEXT: <RefType abbrevid=6 op0=2/>
// CHECK-7-NEXT: <Field abbrevid=7 op0=2/>
// CHECK-7-NEXT: </ReferenceBlock>
// CHECK-7-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4>
// CHECK-7-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <RefType abbrevid=6 op0=2/>
@ -191,23 +191,23 @@ class G;
// RUN: llvm-bcanalyzer --dump %t/docs/bc/ACE81AFA6627B4CEF2B456FB6E1252925674AF7E.bc | FileCheck %s --check-prefix CHECK-8
// CHECK-8: <BLOCKINFO_BLOCK/>
// CHECK-8-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
// CHECK-8-NEXT: <VersionBlock NumWords={{[0-9]+}} 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: <RecordBlock NumWords={{[0-9]+}} 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: <DefLocation abbrevid=6 op0=15 op1={{[0-9]+}}/> 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: <MemberTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-8-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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: <MemberTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
// CHECK-8-NEXT: <ReferenceBlock NumWords={{[0-9]+}} 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>

View File

@ -35,7 +35,7 @@ void F(int I, int J) {}
// CHECK-0: ## Functions
// CHECK-0: ### F
// CHECK-0: *void F(int I, int J)*
// CHECK-0: *Defined at line 28 of test*
// CHECK-0: *Defined at line 28 of {{.*}}*
// CHECK-0: **brief** Brief description.
// CHECK-0: Extended description that continues onto the next line.
// CHECK-0: <ul "class=test">

View File

@ -99,7 +99,7 @@ inline void anonInlineFunction();
// RUN: cat %t/docs/./Class.md | FileCheck %s --check-prefix CHECK-0
// CHECK-0: # class Class
// CHECK-0: *Defined at line 32 of test*
// CHECK-0: *Defined at line 32 of {{.*}}*
// CHECK-0: ## Members
// CHECK-0: int publicField
// CHECK-0: protected int protectedField
@ -126,14 +126,14 @@ inline void anonInlineFunction();
// CHECK-2: *int inlinedFunction(int x)*
// CHECK-2: ### functionWithInnerClass
// CHECK-2: *int functionWithInnerClass(int x)*
// CHECK-2: *Defined at line 14 of test*
// CHECK-2: *Defined at line 14 of {{.*}}*
// CHECK-2: ### inlinedFunctionWithInnerClass
// CHECK-2: *int inlinedFunctionWithInnerClass(int x)*
// CHECK-2: *Defined at line 23 of test*
// CHECK-2: *Defined at line 23 of {{.*}}*
// RUN: cat %t/docs/named/NamedClass.md | FileCheck %s --check-prefix CHECK-3
// CHECK-3: # class NamedClass
// CHECK-3: *Defined at line 47 of test*
// CHECK-3: *Defined at line 47 of {{.*}}*
// CHECK-3: ## Members
// CHECK-3: int namedPublicField
// CHECK-3: protected int namedProtectedField

View File

@ -33,16 +33,16 @@ E func(int i) { return X; }
// CHECK-0: ## Functions
// CHECK-0: ### f
// CHECK-0: *void f()*
// CHECK-0: *Defined at line 17 of test*
// CHECK-0: *Defined at line 17 of {{.*}}*
// RUN: cat %t/docs/A/B.md | FileCheck %s --check-prefix CHECK-1
// CHECK-1: # namespace B
// CHECK-1: ## Functions
// CHECK-1: ### func
// CHECK-1: *enum A::B::E func(int i)*
// CHECK-1: *Defined at line 23 of test*
// CHECK-1: *Defined at line 23 of {{.*}}*
// CHECK-1: ## Enums
// CHECK-1: | enum E |
// CHECK-1: --
// CHECK-1: | X |
// CHECK-1: *Defined at line 21 of test*
// CHECK-1: *Defined at line 21 of {{.*}}*

View File

@ -46,58 +46,58 @@ class G;
// RUN: cat %t/docs/./F.md | FileCheck %s --check-prefix CHECK-0
// CHECK-0: # class F
// CHECK-0: *Defined at line 36 of test*
// CHECK-0: *Defined at line 36 of {{.*}}*
// CHECK-0: Inherits from E, D
// RUN: cat %t/docs/./D.md | FileCheck %s --check-prefix CHECK-1
// CHECK-1: # class D
// CHECK-1: *Defined at line 23 of test*
// CHECK-1: *Defined at line 23 of {{.*}}*
// RUN: cat %t/docs/./GlobalNamespace.md | FileCheck %s --check-prefix CHECK-2
// CHECK-2: # Global Namespace
// CHECK-2: ## Functions
// CHECK-2: ### H
// CHECK-2: *void H()*
// CHECK-2: *Defined at line 11 of test*
// CHECK-2: *Defined at line 11 of {{.*}}*
// CHECK-2: ## Enums
// CHECK-2: | enum B |
// CHECK-2: --
// CHECK-2: | X |
// CHECK-2: | Y |
// CHECK-2: *Defined at line 17 of test*
// CHECK-2: *Defined at line 17 of {{.*}}*
// CHECK-2: | enum class Bc |
// CHECK-2: --
// CHECK-2: | A |
// CHECK-2: | B |
// CHECK-2: *Defined at line 19 of test*
// CHECK-2: *Defined at line 19 of {{.*}}*
// RUN: cat %t/docs/./E.md | FileCheck %s --check-prefix CHECK-3
// CHECK-3: # class E
// CHECK-3: *Defined at line 25 of test*
// CHECK-3: *Defined at line 25 of {{.*}}*
// CHECK-3: ## Functions
// CHECK-3: ### E
// CHECK-3: *void E()*
// CHECK-3: *Defined at line 27 of test*
// CHECK-3: *Defined at line 27 of {{.*}}*
// CHECK-3: ### ~E
// CHECK-3: *void ~E()*
// CHECK-3: *Defined at line 28 of test*
// CHECK-3: *Defined at line 28 of {{.*}}*
// CHECK-3: ### ProtectedMethod
// CHECK-3: *void ProtectedMethod()*
// CHECK-3: *Defined at line 34 of test*
// CHECK-3: *Defined at line 34 of {{.*}}*
// RUN: cat %t/docs/./C.md | FileCheck %s --check-prefix CHECK-4
// CHECK-4: # struct C
// CHECK-4: *Defined at line 21 of test*
// CHECK-4: *Defined at line 21 of {{.*}}*
// CHECK-4: ## Members
// CHECK-4: int i
// RUN: cat %t/docs/./X.md | FileCheck %s --check-prefix CHECK-5
// CHECK-5: # class X
// CHECK-5: *Defined at line 38 of test*
// CHECK-5: *Defined at line 38 of {{.*}}*
// RUN: cat %t/docs/./A.md | FileCheck %s --check-prefix CHECK-6
// CHECK-6: # union A
// CHECK-6: *Defined at line 15 of test*
// CHECK-6: *Defined at line 15 of {{.*}}*
// CHECK-6: ## Members
// CHECK-6: int X
// CHECK-6: int Y

View File

@ -121,10 +121,10 @@ void F(int I, int J) {}
// 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: Filename: '{{.*}}'
// CHECK-0-NEXT: Location:
// CHECK-0-NEXT: - LineNumber: 25
// CHECK-0-NEXT: Filename: 'test'
// CHECK-0-NEXT: Filename: '{{.*}}'
// CHECK-0-NEXT: Params:
// CHECK-0-NEXT: - Type:
// CHECK-0-NEXT: Name: 'int'

View File

@ -103,7 +103,7 @@ inline void anonInlineFunction();
// CHECK-0-NEXT: Name: 'Class'
// CHECK-0-NEXT: DefLocation:
// CHECK-0-NEXT: LineNumber: 32
// CHECK-0-NEXT: Filename: 'test'
// CHECK-0-NEXT: Filename: '{{.*}}'
// CHECK-0-NEXT: TagType: Class
// CHECK-0-NEXT: Members:
// CHECK-0-NEXT: - Type:
@ -122,7 +122,7 @@ inline void anonInlineFunction();
// 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: Filename: '{{.*}}'
// CHECK-0-NEXT: IsMethod: true
// CHECK-0-NEXT: Parent:
// CHECK-0-NEXT: Type: Record
@ -139,7 +139,7 @@ inline void anonInlineFunction();
// 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: Filename: '{{.*}}'
// CHECK-0-NEXT: IsMethod: true
// CHECK-0-NEXT: Parent:
// CHECK-0-NEXT: Type: Record
@ -163,7 +163,7 @@ inline void anonInlineFunction();
// 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: Filename: '{{.*}}'
// CHECK-1-NEXT: ReturnType:
// CHECK-1-NEXT: Type:
// CHECK-1-NEXT: Name: 'void'
@ -175,7 +175,7 @@ inline void anonInlineFunction();
// 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: Filename: '{{.*}}'
// CHECK-1-NEXT: ReturnType:
// CHECK-1-NEXT: Type:
// CHECK-1-NEXT: Name: 'void'
@ -189,7 +189,7 @@ inline void anonInlineFunction();
// CHECK-2-NEXT: Name: 'function'
// CHECK-2-NEXT: Location:
// CHECK-2-NEXT: - LineNumber: 10
// CHECK-2-NEXT: Filename: 'test'
// CHECK-2-NEXT: Filename: '{{.*}}'
// CHECK-2-NEXT: Params:
// CHECK-2-NEXT: - Type:
// CHECK-2-NEXT: Name: 'int'
@ -201,7 +201,7 @@ inline void anonInlineFunction();
// CHECK-2-NEXT: Name: 'inlinedFunction'
// CHECK-2-NEXT: Location:
// CHECK-2-NEXT: - LineNumber: 12
// CHECK-2-NEXT: Filename: 'test'
// CHECK-2-NEXT: Filename: '{{.*}}'
// CHECK-2-NEXT: Params:
// CHECK-2-NEXT: - Type:
// CHECK-2-NEXT: Name: 'int'
@ -213,7 +213,7 @@ inline void anonInlineFunction();
// CHECK-2-NEXT: Name: 'functionWithInnerClass'
// CHECK-2-NEXT: DefLocation:
// CHECK-2-NEXT: LineNumber: 14
// CHECK-2-NEXT: Filename: 'test'
// CHECK-2-NEXT: Filename: '{{.*}}'
// CHECK-2-NEXT: Params:
// CHECK-2-NEXT: - Type:
// CHECK-2-NEXT: Name: 'int'
@ -225,7 +225,7 @@ inline void anonInlineFunction();
// CHECK-2-NEXT: Name: 'inlinedFunctionWithInnerClass'
// CHECK-2-NEXT: DefLocation:
// CHECK-2-NEXT: LineNumber: 23
// CHECK-2-NEXT: Filename: 'test'
// CHECK-2-NEXT: Filename: '{{.*}}'
// CHECK-2-NEXT: Params:
// CHECK-2-NEXT: - Type:
// CHECK-2-NEXT: Name: 'int'
@ -245,7 +245,7 @@ inline void anonInlineFunction();
// 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: Filename: '{{.*}}'
// CHECK-3-NEXT: TagType: Class
// CHECK-3-NEXT: Members:
// CHECK-3-NEXT: - Type:
@ -267,7 +267,7 @@ inline void anonInlineFunction();
// 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: Filename: '{{.*}}'
// CHECK-3-NEXT: IsMethod: true
// CHECK-3-NEXT: Parent:
// CHECK-3-NEXT: Type: Record
@ -287,7 +287,7 @@ inline void anonInlineFunction();
// 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: Filename: '{{.*}}'
// CHECK-3-NEXT: IsMethod: true
// CHECK-3-NEXT: Parent:
// CHECK-3-NEXT: Type: Record

View File

@ -25,7 +25,7 @@ export double exportedModuleFunction(double y, int z); // ExternalLinkage
// CHECK-0-NEXT: Name: 'moduleFunction'
// CHECK-0-NEXT: Location:
// CHECK-0-NEXT: - LineNumber: 11
// CHECK-0-NEXT: Filename: 'test'
// CHECK-0-NEXT: Filename: '{{.*}}'
// CHECK-0-NEXT: Params:
// CHECK-0-NEXT: - Type:
// CHECK-0-NEXT: Name: 'int'
@ -37,7 +37,7 @@ export double exportedModuleFunction(double y, int z); // ExternalLinkage
// CHECK-0-NEXT: Name: 'exportedModuleFunction'
// CHECK-0-NEXT: Location:
// CHECK-0-NEXT: - LineNumber: 15
// CHECK-0-NEXT: Filename: 'test'
// CHECK-0-NEXT: Filename: '{{.*}}'
// CHECK-0-NEXT: Params:
// CHECK-0-NEXT: - Type:
// CHECK-0-NEXT: Name: 'double'

View File

@ -41,10 +41,10 @@ E func(int i) { return X; }
// 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: Filename: '{{.*}}'
// CHECK-0-NEXT: Location:
// CHECK-0-NEXT: - LineNumber: 11
// CHECK-0-NEXT: Filename: 'test'
// CHECK-0-NEXT: Filename: '{{.*}}'
// CHECK-0-NEXT: ReturnType:
// CHECK-0-NEXT: Type:
// CHECK-0-NEXT: Name: 'void'
@ -70,7 +70,7 @@ E func(int i) { return X; }
// 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: Filename: '{{.*}}'
// CHECK-1-NEXT: Params:
// CHECK-1-NEXT: - Type:
// CHECK-1-NEXT: Name: 'int'
@ -90,7 +90,7 @@ E func(int i) { return X; }
// 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: Filename: '{{.*}}'
// CHECK-1-NEXT: Members:
// CHECK-1-NEXT: - 'X'
// CHECK-1-NEXT: ...

View File

@ -50,7 +50,7 @@ class G;
// CHECK-0-NEXT: Name: 'C'
// CHECK-0-NEXT: DefLocation:
// CHECK-0-NEXT: LineNumber: 21
// CHECK-0-NEXT: Filename: 'test'
// CHECK-0-NEXT: Filename: '{{.*}}'
// CHECK-0-NEXT: Members:
// CHECK-0-NEXT: - Type:
// CHECK-0-NEXT: Name: 'int'
@ -63,7 +63,7 @@ class G;
// CHECK-1-NEXT: Name: 'A'
// CHECK-1-NEXT: DefLocation:
// CHECK-1-NEXT: LineNumber: 15
// CHECK-1-NEXT: Filename: 'test'
// CHECK-1-NEXT: Filename: '{{.*}}'
// CHECK-1-NEXT: TagType: Union
// CHECK-1-NEXT: Members:
// CHECK-1-NEXT: - Type:
@ -80,7 +80,7 @@ class G;
// CHECK-2-NEXT: Name: 'F'
// CHECK-2-NEXT: DefLocation:
// CHECK-2-NEXT: LineNumber: 36
// CHECK-2-NEXT: Filename: 'test'
// CHECK-2-NEXT: Filename: '{{.*}}'
// CHECK-2-NEXT: TagType: Class
// CHECK-2-NEXT: Parents:
// CHECK-2-NEXT: - Type: Record
@ -98,7 +98,7 @@ class G;
// CHECK-3-NEXT: Name: 'G'
// CHECK-3-NEXT: Location:
// CHECK-3-NEXT: - LineNumber: 42
// CHECK-3-NEXT: Filename: 'test'
// CHECK-3-NEXT: Filename: '{{.*}}'
// CHECK-3-NEXT: TagType: Class
// CHECK-3-NEXT: ...
@ -108,7 +108,7 @@ class G;
// CHECK-4-NEXT: Name: 'E'
// CHECK-4-NEXT: DefLocation:
// CHECK-4-NEXT: LineNumber: 25
// CHECK-4-NEXT: Filename: 'test'
// CHECK-4-NEXT: Filename: '{{.*}}'
// 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]}}'
@ -119,7 +119,7 @@ class G;
// 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: 27
// CHECK-4-NEXT: Filename: 'test'
// CHECK-4-NEXT: Filename: '{{.*}}'
// CHECK-4-NEXT: IsMethod: true
// CHECK-4-NEXT: Parent:
// CHECK-4-NEXT: Type: Record
@ -136,7 +136,7 @@ class G;
// 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: 28
// CHECK-4-NEXT: Filename: 'test'
// CHECK-4-NEXT: Filename: '{{.*}}'
// CHECK-4-NEXT: IsMethod: true
// CHECK-4-NEXT: Parent:
// CHECK-4-NEXT: Type: Record
@ -153,10 +153,10 @@ class G;
// 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: 34
// CHECK-4-NEXT: Filename: 'test'
// CHECK-4-NEXT: Filename: '{{.*}}'
// CHECK-4-NEXT: Location:
// CHECK-4-NEXT: - LineNumber: 31
// CHECK-4-NEXT: Filename: 'test'
// CHECK-4-NEXT: Filename: '{{.*}}'
// CHECK-4-NEXT: IsMethod: true
// CHECK-4-NEXT: Parent:
// CHECK-4-NEXT: Type: Record
@ -173,7 +173,7 @@ class G;
// CHECK-5-NEXT: Name: 'D'
// CHECK-5-NEXT: DefLocation:
// CHECK-5-NEXT: LineNumber: 23
// CHECK-5-NEXT: Filename: 'test'
// CHECK-5-NEXT: Filename: '{{.*}}'
// CHECK-5-NEXT: TagType: Class
// CHECK-5-NEXT: ...
@ -183,7 +183,7 @@ class G;
// CHECK-6-NEXT: Name: 'X'
// CHECK-6-NEXT: DefLocation:
// CHECK-6-NEXT: LineNumber: 38
// CHECK-6-NEXT: Filename: 'test'
// CHECK-6-NEXT: Filename: '{{.*}}'
// CHECK-6-NEXT: TagType: Class
// CHECK-6-NEXT: ...
@ -195,7 +195,7 @@ class G;
// CHECK-7-NEXT: Name: 'H'
// CHECK-7-NEXT: DefLocation:
// CHECK-7-NEXT: LineNumber: 11
// CHECK-7-NEXT: Filename: 'test'
// CHECK-7-NEXT: Filename: '{{.*}}'
// CHECK-7-NEXT: ReturnType:
// CHECK-7-NEXT: Type:
// CHECK-7-NEXT: Name: 'void'
@ -204,7 +204,7 @@ class G;
// CHECK-7-NEXT: Name: 'B'
// CHECK-7-NEXT: DefLocation:
// CHECK-7-NEXT: LineNumber: 17
// CHECK-7-NEXT: Filename: 'test'
// CHECK-7-NEXT: Filename: '{{.*}}'
// CHECK-7-NEXT: Members:
// CHECK-7-NEXT: - 'X'
// CHECK-7-NEXT: - 'Y'
@ -212,7 +212,7 @@ class G;
// CHECK-7-NEXT: Name: 'Bc'
// CHECK-7-NEXT: DefLocation:
// CHECK-7-NEXT: LineNumber: 19
// CHECK-7-NEXT: Filename: 'test'
// CHECK-7-NEXT: Filename: '{{.*}}'
// CHECK-7-NEXT: Scoped: true
// CHECK-7-NEXT: Members:
// CHECK-7-NEXT: - 'A'

View File

@ -121,10 +121,10 @@ void F(int I, int J) {}
// 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: Filename: '{{.*}}'
// CHECK-0-NEXT: Location:
// CHECK-0-NEXT: - LineNumber: 25
// CHECK-0-NEXT: Filename: 'test'
// CHECK-0-NEXT: Filename: '{{.*}}'
// CHECK-0-NEXT: Params:
// CHECK-0-NEXT: - Type:
// CHECK-0-NEXT: Name: 'int'

View File

@ -103,7 +103,7 @@ inline void anonInlineFunction();
// CHECK-0-NEXT: Name: 'Class'
// CHECK-0-NEXT: DefLocation:
// CHECK-0-NEXT: LineNumber: 32
// CHECK-0-NEXT: Filename: 'test'
// CHECK-0-NEXT: Filename: '{{.*}}'
// CHECK-0-NEXT: TagType: Class
// CHECK-0-NEXT: Members:
// CHECK-0-NEXT: - Type:
@ -126,7 +126,7 @@ inline void anonInlineFunction();
// 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: Filename: '{{.*}}'
// CHECK-0-NEXT: IsMethod: true
// CHECK-0-NEXT: Parent:
// CHECK-0-NEXT: Type: Record
@ -143,7 +143,7 @@ inline void anonInlineFunction();
// 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: Filename: '{{.*}}'
// CHECK-0-NEXT: IsMethod: true
// CHECK-0-NEXT: Parent:
// CHECK-0-NEXT: Type: Record
@ -160,7 +160,7 @@ inline void anonInlineFunction();
// 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: Filename: '{{.*}}'
// CHECK-0-NEXT: IsMethod: true
// CHECK-0-NEXT: Parent:
// CHECK-0-NEXT: Type: Record
@ -184,7 +184,7 @@ inline void anonInlineFunction();
// 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: Filename: '{{.*}}'
// CHECK-1-NEXT: ReturnType:
// CHECK-1-NEXT: Type:
// CHECK-1-NEXT: Name: 'void'
@ -196,7 +196,7 @@ inline void anonInlineFunction();
// 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: Filename: '{{.*}}'
// CHECK-1-NEXT: ReturnType:
// CHECK-1-NEXT: Type:
// CHECK-1-NEXT: Name: 'void'
@ -208,7 +208,7 @@ inline void anonInlineFunction();
// 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: Filename: '{{.*}}'
// CHECK-1-NEXT: ReturnType:
// CHECK-1-NEXT: Type:
// CHECK-1-NEXT: Name: 'void'
@ -223,7 +223,7 @@ inline void anonInlineFunction();
// 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: Filename: '{{.*}}'
// CHECK-2-NEXT: TagType: Class
// CHECK-2-NEXT: Members:
// CHECK-2-NEXT: - Type:
@ -248,7 +248,7 @@ inline void anonInlineFunction();
// 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: Filename: '{{.*}}'
// CHECK-2-NEXT: IsMethod: true
// CHECK-2-NEXT: Parent:
// CHECK-2-NEXT: Type: Record
@ -267,7 +267,7 @@ inline void anonInlineFunction();
// 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: Filename: '{{.*}}'
// CHECK-2-NEXT: IsMethod: true
// CHECK-2-NEXT: Parent:
// CHECK-2-NEXT: Type: Record
@ -286,7 +286,7 @@ inline void anonInlineFunction();
// 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: Filename: '{{.*}}'
// CHECK-2-NEXT: IsMethod: true
// CHECK-2-NEXT: Parent:
// CHECK-2-NEXT: Type: Record
@ -308,7 +308,7 @@ inline void anonInlineFunction();
// 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: Filename: '{{.*}}'
// CHECK-3-NEXT: ReturnType:
// CHECK-3-NEXT: Type:
// CHECK-3-NEXT: Name: 'void'
@ -319,7 +319,7 @@ inline void anonInlineFunction();
// 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: Filename: '{{.*}}'
// CHECK-3-NEXT: ReturnType:
// CHECK-3-NEXT: Type:
// CHECK-3-NEXT: Name: 'void'
@ -330,7 +330,7 @@ inline void anonInlineFunction();
// 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: Filename: '{{.*}}'
// CHECK-3-NEXT: ReturnType:
// CHECK-3-NEXT: Type:
// CHECK-3-NEXT: Name: 'void'
@ -346,7 +346,7 @@ inline void anonInlineFunction();
// 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: 47
// CHECK-4-NEXT: Filename: 'test'
// CHECK-4-NEXT: Filename: '{{.*}}'
// CHECK-4-NEXT: TagType: Class
// CHECK-4-NEXT: Members:
// CHECK-4-NEXT: - Type:
@ -372,7 +372,7 @@ inline void anonInlineFunction();
// 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: Location:
// CHECK-4-NEXT: - LineNumber: 49
// CHECK-4-NEXT: Filename: 'test'
// CHECK-4-NEXT: Filename: '{{.*}}'
// CHECK-4-NEXT: IsMethod: true
// CHECK-4-NEXT: Parent:
// CHECK-4-NEXT: Type: Record
@ -392,7 +392,7 @@ inline void anonInlineFunction();
// 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: Location:
// CHECK-4-NEXT: - LineNumber: 53
// CHECK-4-NEXT: Filename: 'test'
// CHECK-4-NEXT: Filename: '{{.*}}'
// CHECK-4-NEXT: IsMethod: true
// CHECK-4-NEXT: Parent:
// CHECK-4-NEXT: Type: Record
@ -412,7 +412,7 @@ inline void anonInlineFunction();
// 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: Location:
// CHECK-4-NEXT: - LineNumber: 57
// CHECK-4-NEXT: Filename: 'test'
// CHECK-4-NEXT: Filename: '{{.*}}'
// CHECK-4-NEXT: IsMethod: true
// CHECK-4-NEXT: Parent:
// CHECK-4-NEXT: Type: Record

View File

@ -25,7 +25,7 @@ export double exportedModuleFunction(double y, int z); // ExternalLinkage
// CHECK-0-NEXT: Name: 'moduleFunction'
// CHECK-0-NEXT: Location:
// CHECK-0-NEXT: - LineNumber: 11
// CHECK-0-NEXT: Filename: 'test'
// CHECK-0-NEXT: Filename: '{{.*}}'
// CHECK-0-NEXT: Params:
// CHECK-0-NEXT: - Type:
// CHECK-0-NEXT: Name: 'int'
@ -37,7 +37,7 @@ export double exportedModuleFunction(double y, int z); // ExternalLinkage
// CHECK-0-NEXT: Name: 'staticModuleFunction'
// CHECK-0-NEXT: Location:
// CHECK-0-NEXT: - LineNumber: 13
// CHECK-0-NEXT: Filename: 'test'
// CHECK-0-NEXT: Filename: '{{.*}}'
// CHECK-0-NEXT: Params:
// CHECK-0-NEXT: - Type:
// CHECK-0-NEXT: Name: 'int'
@ -49,7 +49,7 @@ export double exportedModuleFunction(double y, int z); // ExternalLinkage
// CHECK-0-NEXT: Name: 'exportedModuleFunction'
// CHECK-0-NEXT: Location:
// CHECK-0-NEXT: - LineNumber: 15
// CHECK-0-NEXT: Filename: 'test'
// CHECK-0-NEXT: Filename: '{{.*}}'
// CHECK-0-NEXT: Params:
// CHECK-0-NEXT: - Type:
// CHECK-0-NEXT: Name: 'double'

View File

@ -41,10 +41,10 @@ E func(int i) { return X; }
// 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: Filename: '{{.*}}'
// CHECK-0-NEXT: Location:
// CHECK-0-NEXT: - LineNumber: 11
// CHECK-0-NEXT: Filename: 'test'
// CHECK-0-NEXT: Filename: '{{.*}}'
// CHECK-0-NEXT: ReturnType:
// CHECK-0-NEXT: Type:
// CHECK-0-NEXT: Name: 'void'
@ -70,7 +70,7 @@ E func(int i) { return X; }
// 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: Filename: '{{.*}}'
// CHECK-1-NEXT: Params:
// CHECK-1-NEXT: - Type:
// CHECK-1-NEXT: Name: 'int'
@ -90,7 +90,7 @@ E func(int i) { return X; }
// 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: Filename: '{{.*}}'
// CHECK-1-NEXT: Members:
// CHECK-1-NEXT: - 'X'
// CHECK-1-NEXT: ...

View File

@ -50,7 +50,7 @@ class G;
// CHECK-0-NEXT: Name: 'C'
// CHECK-0-NEXT: DefLocation:
// CHECK-0-NEXT: LineNumber: 21
// CHECK-0-NEXT: Filename: 'test'
// CHECK-0-NEXT: Filename: '{{.*}}'
// CHECK-0-NEXT: Members:
// CHECK-0-NEXT: - Type:
// CHECK-0-NEXT: Name: 'int'
@ -63,7 +63,7 @@ class G;
// CHECK-1-NEXT: Name: 'A'
// CHECK-1-NEXT: DefLocation:
// CHECK-1-NEXT: LineNumber: 15
// CHECK-1-NEXT: Filename: 'test'
// CHECK-1-NEXT: Filename: '{{.*}}'
// CHECK-1-NEXT: TagType: Union
// CHECK-1-NEXT: Members:
// CHECK-1-NEXT: - Type:
@ -80,7 +80,7 @@ class G;
// CHECK-2-NEXT: Name: 'F'
// CHECK-2-NEXT: DefLocation:
// CHECK-2-NEXT: LineNumber: 36
// CHECK-2-NEXT: Filename: 'test'
// CHECK-2-NEXT: Filename: '{{.*}}'
// CHECK-2-NEXT: TagType: Class
// CHECK-2-NEXT: Parents:
// CHECK-2-NEXT: - Type: Record
@ -98,7 +98,7 @@ class G;
// CHECK-3-NEXT: Name: 'G'
// CHECK-3-NEXT: Location:
// CHECK-3-NEXT: - LineNumber: 42
// CHECK-3-NEXT: Filename: 'test'
// CHECK-3-NEXT: Filename: '{{.*}}'
// CHECK-3-NEXT: TagType: Class
// CHECK-3-NEXT: ...
@ -108,7 +108,7 @@ class G;
// CHECK-4-NEXT: Name: 'E'
// CHECK-4-NEXT: DefLocation:
// CHECK-4-NEXT: LineNumber: 25
// CHECK-4-NEXT: Filename: 'test'
// CHECK-4-NEXT: Filename: '{{.*}}'
// 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]}}'
@ -119,7 +119,7 @@ class G;
// 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: 27
// CHECK-4-NEXT: Filename: 'test'
// CHECK-4-NEXT: Filename: '{{.*}}'
// CHECK-4-NEXT: IsMethod: true
// CHECK-4-NEXT: Parent:
// CHECK-4-NEXT: Type: Record
@ -136,7 +136,7 @@ class G;
// 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: 28
// CHECK-4-NEXT: Filename: 'test'
// CHECK-4-NEXT: Filename: '{{.*}}'
// CHECK-4-NEXT: IsMethod: true
// CHECK-4-NEXT: Parent:
// CHECK-4-NEXT: Type: Record
@ -153,10 +153,10 @@ class G;
// 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: 34
// CHECK-4-NEXT: Filename: 'test'
// CHECK-4-NEXT: Filename: '{{.*}}'
// CHECK-4-NEXT: Location:
// CHECK-4-NEXT: - LineNumber: 31
// CHECK-4-NEXT: Filename: 'test'
// CHECK-4-NEXT: Filename: '{{.*}}'
// CHECK-4-NEXT: IsMethod: true
// CHECK-4-NEXT: Parent:
// CHECK-4-NEXT: Type: Record
@ -173,7 +173,7 @@ class G;
// CHECK-5-NEXT: Name: 'D'
// CHECK-5-NEXT: DefLocation:
// CHECK-5-NEXT: LineNumber: 23
// CHECK-5-NEXT: Filename: 'test'
// CHECK-5-NEXT: Filename: '{{.*}}'
// CHECK-5-NEXT: TagType: Class
// CHECK-5-NEXT: ...
@ -183,7 +183,7 @@ class G;
// CHECK-6-NEXT: Name: 'X'
// CHECK-6-NEXT: DefLocation:
// CHECK-6-NEXT: LineNumber: 38
// CHECK-6-NEXT: Filename: 'test'
// CHECK-6-NEXT: Filename: '{{.*}}'
// CHECK-6-NEXT: TagType: Class
// CHECK-6-NEXT: ...
@ -195,7 +195,7 @@ class G;
// CHECK-7-NEXT: Name: 'H'
// CHECK-7-NEXT: DefLocation:
// CHECK-7-NEXT: LineNumber: 11
// CHECK-7-NEXT: Filename: 'test'
// CHECK-7-NEXT: Filename: '{{.*}}'
// CHECK-7-NEXT: ReturnType:
// CHECK-7-NEXT: Type:
// CHECK-7-NEXT: Name: 'void'
@ -204,7 +204,7 @@ class G;
// CHECK-7-NEXT: Name: 'B'
// CHECK-7-NEXT: DefLocation:
// CHECK-7-NEXT: LineNumber: 17
// CHECK-7-NEXT: Filename: 'test'
// CHECK-7-NEXT: Filename: '{{.*}}'
// CHECK-7-NEXT: Members:
// CHECK-7-NEXT: - 'X'
// CHECK-7-NEXT: - 'Y'
@ -212,7 +212,7 @@ class G;
// CHECK-7-NEXT: Name: 'Bc'
// CHECK-7-NEXT: DefLocation:
// CHECK-7-NEXT: LineNumber: 19
// CHECK-7-NEXT: Filename: 'test'
// CHECK-7-NEXT: Filename: '{{.*}}'
// CHECK-7-NEXT: Scoped: true
// CHECK-7-NEXT: Members:
// CHECK-7-NEXT: - 'A'
@ -229,6 +229,6 @@ class G;
// 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: DefLocation:
// CHECK-8-NEXT: LineNumber: 39
// CHECK-8-NEXT: Filename: 'test'
// CHECK-8-NEXT: Filename: '{{.*}}'
// CHECK-8-NEXT: TagType: Class
// CHECK-8-NEXT: ...

View File

@ -0,0 +1,260 @@
//===-- clang-doc/BitcodeTest.cpp -----------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#include "BitcodeReader.h"
#include "BitcodeWriter.h"
#include "ClangDocTest.h"
#include "Representation.h"
#include "llvm/Bitcode/BitstreamReader.h"
#include "llvm/Bitcode/BitstreamWriter.h"
#include "gtest/gtest.h"
namespace clang {
namespace doc {
std::string writeInfo(Info *I) {
SmallString<2048> Buffer;
llvm::BitstreamWriter Stream(Buffer);
ClangDocBitcodeWriter Writer(Stream);
// Check that there was no error in the write.
assert(Writer.dispatchInfoForWrite(I) == false);
return Buffer.str().str();
}
std::vector<std::unique_ptr<Info>> readInfo(StringRef Bitcode,
size_t NumInfos) {
llvm::BitstreamCursor Stream(Bitcode);
doc::ClangDocBitcodeReader Reader(Stream);
auto Infos = Reader.readBitcode();
// Check that there was no error in the read.
assert(Infos);
EXPECT_EQ(Infos.get().size(), NumInfos);
return std::move(Infos.get());
}
TEST(BitcodeTest, emitNamespaceInfoBitcode) {
NamespaceInfo I;
I.Name = "r";
I.Namespace.emplace_back(EmptySID, "A", InfoType::IT_namespace);
I.ChildNamespaces.emplace_back(EmptySID, "ChildNamespace",
InfoType::IT_namespace);
I.ChildRecords.emplace_back(EmptySID, "ChildStruct", InfoType::IT_record);
I.ChildFunctions.emplace_back();
I.ChildEnums.emplace_back();
std::string WriteResult = writeInfo(&I);
EXPECT_TRUE(WriteResult.size() > 0);
std::vector<std::unique_ptr<Info>> ReadResults = readInfo(WriteResult, 1);
CheckNamespaceInfo(&I, InfoAsNamespace(ReadResults[0].get()));
}
TEST(BitcodeTest, emitRecordInfoBitcode) {
RecordInfo I;
I.Name = "r";
I.Namespace.emplace_back(EmptySID, "A", InfoType::IT_namespace);
I.DefLoc = Location(10, llvm::SmallString<16>{"test.cpp"});
I.Loc.emplace_back(12, llvm::SmallString<16>{"test.cpp"});
I.Members.emplace_back("int", "X", AccessSpecifier::AS_private);
I.TagType = TagTypeKind::TTK_Class;
I.Parents.emplace_back(EmptySID, "F", InfoType::IT_record);
I.VirtualParents.emplace_back(EmptySID, "G", InfoType::IT_record);
I.ChildRecords.emplace_back(EmptySID, "ChildStruct", InfoType::IT_record);
I.ChildFunctions.emplace_back();
I.ChildEnums.emplace_back();
std::string WriteResult = writeInfo(&I);
EXPECT_TRUE(WriteResult.size() > 0);
std::vector<std::unique_ptr<Info>> ReadResults = readInfo(WriteResult, 1);
CheckRecordInfo(&I, InfoAsRecord(ReadResults[0].get()));
}
TEST(BitcodeTest, emitFunctionInfoBitcode) {
FunctionInfo I;
I.Name = "f";
I.Namespace.emplace_back(EmptySID, "A", InfoType::IT_namespace);
I.DefLoc = Location(10, llvm::SmallString<16>{"test.cpp"});
I.Loc.emplace_back(12, llvm::SmallString<16>{"test.cpp"});
I.ReturnType = TypeInfo(EmptySID, "void", InfoType::IT_default);
I.Params.emplace_back("int", "P");
std::string WriteResult = writeInfo(&I);
EXPECT_TRUE(WriteResult.size() > 0);
std::vector<std::unique_ptr<Info>> ReadResults = readInfo(WriteResult, 1);
CheckFunctionInfo(&I, InfoAsFunction(ReadResults[0].get()));
}
TEST(BitcodeTest, emitMethodInfoBitcode) {
FunctionInfo I;
I.Name = "f";
I.Namespace.emplace_back(EmptySID, "A", InfoType::IT_namespace);
I.DefLoc = Location(10, llvm::SmallString<16>{"test.cpp"});
I.Loc.emplace_back(12, llvm::SmallString<16>{"test.cpp"});
I.ReturnType = TypeInfo(EmptySID, "void", InfoType::IT_default);
I.Params.emplace_back("int", "P");
I.IsMethod = true;
I.Parent = Reference(EmptySID, "Parent", InfoType::IT_record);
// TODO: fix access
// I.Access = AccessSpecifier::AS_private;
std::string WriteResult = writeInfo(&I);
EXPECT_TRUE(WriteResult.size() > 0);
std::vector<std::unique_ptr<Info>> ReadResults = readInfo(WriteResult, 1);
CheckFunctionInfo(&I, InfoAsFunction(ReadResults[0].get()));
}
TEST(BitcodeTest, emitEnumInfoBitcode) {
EnumInfo I;
I.Name = "e";
I.Namespace.emplace_back(EmptySID, "A", InfoType::IT_namespace);
I.DefLoc = Location(10, llvm::SmallString<16>{"test.cpp"});
I.Loc.emplace_back(12, llvm::SmallString<16>{"test.cpp"});
I.Members.emplace_back("X");
I.Scoped = true;
std::string WriteResult = writeInfo(&I);
EXPECT_TRUE(WriteResult.size() > 0);
std::vector<std::unique_ptr<Info>> ReadResults = readInfo(WriteResult, 1);
CheckEnumInfo(&I, InfoAsEnum(ReadResults[0].get()));
}
TEST(SerializeTest, emitInfoWithCommentBitcode) {
FunctionInfo F;
F.Name = "F";
F.ReturnType = TypeInfo(EmptySID, "void", InfoType::IT_default);
F.DefLoc = Location(0, llvm::SmallString<16>{"test.cpp"});
F.Params.emplace_back("int", "I");
CommentInfo Top;
Top.Kind = "FullComment";
Top.Children.emplace_back(llvm::make_unique<CommentInfo>());
CommentInfo *BlankLine = Top.Children.back().get();
BlankLine->Kind = "ParagraphComment";
BlankLine->Children.emplace_back(llvm::make_unique<CommentInfo>());
BlankLine->Children.back()->Kind = "TextComment";
Top.Children.emplace_back(llvm::make_unique<CommentInfo>());
CommentInfo *Brief = Top.Children.back().get();
Brief->Kind = "ParagraphComment";
Brief->Children.emplace_back(llvm::make_unique<CommentInfo>());
Brief->Children.back()->Kind = "TextComment";
Brief->Children.back()->Name = "ParagraphComment";
Brief->Children.back()->Text = " Brief description.";
Top.Children.emplace_back(llvm::make_unique<CommentInfo>());
CommentInfo *Extended = Top.Children.back().get();
Extended->Kind = "ParagraphComment";
Extended->Children.emplace_back(llvm::make_unique<CommentInfo>());
Extended->Children.back()->Kind = "TextComment";
Extended->Children.back()->Text = " Extended description that";
Extended->Children.emplace_back(llvm::make_unique<CommentInfo>());
Extended->Children.back()->Kind = "TextComment";
Extended->Children.back()->Text = " continues onto the next line.";
Top.Children.emplace_back(llvm::make_unique<CommentInfo>());
CommentInfo *HTML = Top.Children.back().get();
HTML->Kind = "ParagraphComment";
HTML->Children.emplace_back(llvm::make_unique<CommentInfo>());
HTML->Children.back()->Kind = "TextComment";
HTML->Children.emplace_back(llvm::make_unique<CommentInfo>());
HTML->Children.back()->Kind = "HTMLStartTagComment";
HTML->Children.back()->Name = "ul";
HTML->Children.back()->AttrKeys.emplace_back("class");
HTML->Children.back()->AttrValues.emplace_back("test");
HTML->Children.emplace_back(llvm::make_unique<CommentInfo>());
HTML->Children.back()->Kind = "HTMLStartTagComment";
HTML->Children.back()->Name = "li";
HTML->Children.emplace_back(llvm::make_unique<CommentInfo>());
HTML->Children.back()->Kind = "TextComment";
HTML->Children.back()->Text = " Testing.";
HTML->Children.emplace_back(llvm::make_unique<CommentInfo>());
HTML->Children.back()->Kind = "HTMLEndTagComment";
HTML->Children.back()->Name = "ul";
HTML->Children.back()->SelfClosing = true;
Top.Children.emplace_back(llvm::make_unique<CommentInfo>());
CommentInfo *Verbatim = Top.Children.back().get();
Verbatim->Kind = "VerbatimBlockComment";
Verbatim->Name = "verbatim";
Verbatim->CloseName = "endverbatim";
Verbatim->Children.emplace_back(llvm::make_unique<CommentInfo>());
Verbatim->Children.back()->Kind = "VerbatimBlockLineComment";
Verbatim->Children.back()->Text = " The description continues.";
Top.Children.emplace_back(llvm::make_unique<CommentInfo>());
CommentInfo *ParamOut = Top.Children.back().get();
ParamOut->Kind = "ParamCommandComment";
ParamOut->Direction = "[out]";
ParamOut->ParamName = "I";
ParamOut->Explicit = true;
ParamOut->Children.emplace_back(llvm::make_unique<CommentInfo>());
ParamOut->Children.back()->Kind = "ParagraphComment";
ParamOut->Children.back()->Children.emplace_back(
llvm::make_unique<CommentInfo>());
ParamOut->Children.back()->Children.back()->Kind = "TextComment";
ParamOut->Children.back()->Children.emplace_back(
llvm::make_unique<CommentInfo>());
ParamOut->Children.back()->Children.back()->Kind = "TextComment";
ParamOut->Children.back()->Children.back()->Text = " is a parameter.";
Top.Children.emplace_back(llvm::make_unique<CommentInfo>());
CommentInfo *ParamIn = Top.Children.back().get();
ParamIn->Kind = "ParamCommandComment";
ParamIn->Direction = "[in]";
ParamIn->ParamName = "J";
ParamIn->Children.emplace_back(llvm::make_unique<CommentInfo>());
ParamIn->Children.back()->Kind = "ParagraphComment";
ParamIn->Children.back()->Children.emplace_back(
llvm::make_unique<CommentInfo>());
ParamIn->Children.back()->Children.back()->Kind = "TextComment";
ParamIn->Children.back()->Children.back()->Text = " is a parameter.";
ParamIn->Children.back()->Children.emplace_back(
llvm::make_unique<CommentInfo>());
ParamIn->Children.back()->Children.back()->Kind = "TextComment";
Top.Children.emplace_back(llvm::make_unique<CommentInfo>());
CommentInfo *Return = Top.Children.back().get();
Return->Kind = "BlockCommandComment";
Return->Name = "return";
Return->Explicit = true;
Return->Children.emplace_back(llvm::make_unique<CommentInfo>());
Return->Children.back()->Kind = "ParagraphComment";
Return->Children.back()->Children.emplace_back(
llvm::make_unique<CommentInfo>());
Return->Children.back()->Children.back()->Kind = "TextComment";
Return->Children.back()->Children.back()->Text = "void";
F.Description.emplace_back(std::move(Top));
std::string WriteResult = writeInfo(&F);
EXPECT_TRUE(WriteResult.size() > 0);
std::vector<std::unique_ptr<Info>> ReadResults = readInfo(WriteResult, 1);
CheckFunctionInfo(&F, InfoAsFunction(ReadResults[0].get()));
}
} // namespace doc
} // namespace clang

View File

@ -11,6 +11,7 @@ include_directories(
)
add_extra_unittest(ClangDocTests
BitcodeTest.cpp
ClangDocTest.cpp
SerializeTest.cpp
)