<div dir="ltr">Thanks for the note! <a href="https://reviews.llvm.org/D50709">https://reviews.llvm.org/D50709</a></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Aug 13, 2018 at 11:18 PM Mikael Holmén <<a href="mailto:mikael.holmen@ericsson.com">mikael.holmen@ericsson.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Julie,<br>
<br>
With warnings enabled I see this:<br>
<br>
../tools/clang/tools/extra/clang-doc/Mapper.cpp:33:26: error: unused <br>
variable 'F' [-Werror,-Wunused-variable]<br>
   if (const DeclContext *F = D->getParentFunctionOrMethod())<br>
                          ^<br>
1 error generated.<br>
<br>
Regards,<br>
Mikael<br>
<br>
On 08/13/2018 08:05 PM, Julie Hockett via cfe-commits wrote:<br>
> Author: juliehockett<br>
> Date: Mon Aug 13 11:05:50 2018<br>
> New Revision: 339592<br>
> <br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=339592&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=339592&view=rev</a><br>
> Log:<br>
> [clang-doc] Pass over function-internal declarations<br>
> <br>
> Modified:<br>
>      clang-tools-extra/trunk/clang-doc/Mapper.cpp<br>
>      clang-tools-extra/trunk/test/clang-doc/bc-linkage.cpp<br>
>      clang-tools-extra/trunk/test/clang-doc/bc-record.cpp<br>
>      clang-tools-extra/trunk/test/clang-doc/mapper-linkage.cpp<br>
>      clang-tools-extra/trunk/test/clang-doc/mapper-record.cpp<br>
>      clang-tools-extra/trunk/test/clang-doc/yaml-linkage.cpp<br>
>      clang-tools-extra/trunk/test/clang-doc/yaml-record.cpp<br>
> <br>
> Modified: clang-tools-extra/trunk/clang-doc/Mapper.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/Mapper.cpp?rev=339592&r1=339591&r2=339592&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/Mapper.cpp?rev=339592&r1=339591&r2=339592&view=diff</a><br>
> ==============================================================================<br>
> --- clang-tools-extra/trunk/clang-doc/Mapper.cpp (original)<br>
> +++ clang-tools-extra/trunk/clang-doc/Mapper.cpp Mon Aug 13 11:05:50 2018<br>
> @@ -29,6 +29,10 @@ template <typename T> bool MapASTVisitor<br>
>     if (D->getASTContext().getSourceManager().isInSystemHeader(D->getLocation()))<br>
>       return true;<br>
>   <br>
> +  // Skip function-internal decls.<br>
> +  if (const DeclContext *F = D->getParentFunctionOrMethod())<br>
> +    return true;<br>
> +<br>
>     llvm::SmallString<128> USR;<br>
>     // If there is an error generating a USR for the decl, skip this decl.<br>
>     if (index::generateUSRForDecl(D, USR))<br>
> <br>
> Modified: clang-tools-extra/trunk/test/clang-doc/bc-linkage.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/bc-linkage.cpp?rev=339592&r1=339591&r2=339592&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-doc/bc-linkage.cpp?rev=339592&r1=339591&r2=339592&view=diff</a><br>
> ==============================================================================<br>
> --- clang-tools-extra/trunk/test/clang-doc/bc-linkage.cpp (original)<br>
> +++ clang-tools-extra/trunk/test/clang-doc/bc-linkage.cpp Mon Aug 13 11:05:50 2018<br>
> @@ -97,72 +97,118 @@ inline void anonInlineFunction();<br>
>   // RUN: clang-doc --dump-intermediate --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs<br>
>   <br>
>   <br>
> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/C9B3B71ACDD84C5BB320D34E97677715CDB3EA32.bc | FileCheck %s --check-prefix CHECK-0<br>
> +// RUN: llvm-bcanalyzer --dump %t/docs/bc/8960B5C9247D6F5C532756E53A1AD1240FA2146F.bc | FileCheck %s --check-prefix CHECK-0<br>
>   // CHECK-0: <BLOCKINFO_BLOCK/><br>
>   // CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4><br>
>   // CHECK-0-NEXT:   <Version abbrevid=4 op0=2/><br>
>   // CHECK-0-NEXT: </VersionBlock><br>
> -// CHECK-0-NEXT: <RecordBlock NumWords=107 BlockCodeSize=4><br>
> +// CHECK-0-NEXT: <NamespaceBlock NumWords=126 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-0-NEXT:   <Name abbrevid=5 op0=10/> blob data = 'InnerClass'<br>
> -// CHECK-0-NEXT:   <ReferenceBlock NumWords=17 BlockCodeSize=4><br>
> +// CHECK-0-NEXT:   <Name abbrevid=5 op0=5/> blob data = 'named'<br>
> +// CHECK-0-NEXT:   <FunctionBlock NumWords=36 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-0-NEXT:     <Name abbrevid=5 op0=29/> blob data = 'inlinedFunctionWithInnerClass'<br>
> -// CHECK-0-NEXT:     <RefType abbrevid=6 op0=3/><br>
> -// CHECK-0-NEXT:     <Field abbrevid=7 op0=1/><br>
> -// CHECK-0-NEXT:   </ReferenceBlock><br>
> -// CHECK-0-NEXT:   <DefLocation abbrevid=6 op0=24 op1=4/> blob data = '{{.*}}'<br>
> -// CHECK-0-NEXT:   <TagType abbrevid=8 op0=3/><br>
> -// CHECK-0-NEXT:   <FunctionBlock NumWords=71 BlockCodeSize=4><br>
> -// 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]+}}/><br>
> -// CHECK-0-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'innerPublicMethod'<br>
> -// CHECK-0-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4><br>
> +// CHECK-0-NEXT:     <Name abbrevid=5 op0=13/> blob data = 'namedFunction'<br>
> +// CHECK-0-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-0-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'<br>
> -// CHECK-0-NEXT:       <RefType abbrevid=6 op0=2/><br>
> +// CHECK-0-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'<br>
> +// CHECK-0-NEXT:       <RefType abbrevid=6 op0=1/><br>
>   // CHECK-0-NEXT:       <Field abbrevid=7 op0=1/><br>
>   // CHECK-0-NEXT:     </ReferenceBlock><br>
> -// CHECK-0-NEXT:     <ReferenceBlock NumWords=17 BlockCodeSize=4><br>
> +// CHECK-0-NEXT:     <Location abbrevid=7 op0=61 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4><br>
> +// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> +// CHECK-0-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'<br>
> +// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/><br>
> +// CHECK-0-NEXT:       </ReferenceBlock><br>
> +// CHECK-0-NEXT:     </TypeBlock><br>
> +// CHECK-0-NEXT:   </FunctionBlock><br>
> +// CHECK-0-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-0-NEXT:     <Name abbrevid=5 op0=19/> blob data = 'namedStaticFunction'<br>
> +// CHECK-0-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-0-NEXT:       <Name abbrevid=5 op0=29/> blob data = 'inlinedFunctionWithInnerClass'<br>
> -// CHECK-0-NEXT:       <RefType abbrevid=6 op0=3/><br>
> +// CHECK-0-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'<br>
> +// CHECK-0-NEXT:       <RefType abbrevid=6 op0=1/><br>
>   // CHECK-0-NEXT:       <Field abbrevid=7 op0=1/><br>
>   // CHECK-0-NEXT:     </ReferenceBlock><br>
> -// CHECK-0-NEXT:     <IsMethod abbrevid=9 op0=1/><br>
> -// CHECK-0-NEXT:     <DefLocation abbrevid=6 op0=26 op1=4/> blob data = '{{.*}}'<br>
> -// CHECK-0-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4><br>
> +// CHECK-0-NEXT:     <Location abbrevid=7 op0=62 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4><br>
> +// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> +// CHECK-0-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'<br>
> +// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/><br>
> +// CHECK-0-NEXT:       </ReferenceBlock><br>
> +// CHECK-0-NEXT:     </TypeBlock><br>
> +// CHECK-0-NEXT:   </FunctionBlock><br>
> +// CHECK-0-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-0-NEXT:     <Name abbrevid=5 op0=19/> blob data = 'namedInlineFunction'<br>
> +// CHECK-0-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-0-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'<br>
> -// CHECK-0-NEXT:       <RefType abbrevid=6 op0=2/><br>
> -// CHECK-0-NEXT:       <Field abbrevid=7 op0=2/><br>
> +// CHECK-0-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'<br>
> +// CHECK-0-NEXT:       <RefType abbrevid=6 op0=1/><br>
> +// CHECK-0-NEXT:       <Field abbrevid=7 op0=1/><br>
>   // CHECK-0-NEXT:     </ReferenceBlock><br>
> +// CHECK-0-NEXT:     <Location abbrevid=7 op0=63 op1=4/> blob data = '{{.*}}'<br>
>   // CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4><br>
>   // CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> -// CHECK-0-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> +// CHECK-0-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'<br>
>   // CHECK-0-NEXT:         <Field abbrevid=7 op0=4/><br>
>   // CHECK-0-NEXT:       </ReferenceBlock><br>
>   // CHECK-0-NEXT:     </TypeBlock><br>
>   // CHECK-0-NEXT:   </FunctionBlock><br>
> -// CHECK-0-NEXT: </RecordBlock><br>
> +// CHECK-0-NEXT: </NamespaceBlock><br>
>   <br>
> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/8960B5C9247D6F5C532756E53A1AD1240FA2146F.bc | FileCheck %s --check-prefix CHECK-1<br>
> +// RUN: llvm-bcanalyzer --dump %t/docs/bc/7CDD73DCD6CD72F7E5CE25502810A182C66C4B45.bc | FileCheck %s --check-prefix CHECK-1<br>
>   // CHECK-1: <BLOCKINFO_BLOCK/><br>
>   // CHECK-1-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4><br>
>   // CHECK-1-NEXT:   <Version abbrevid=4 op0=2/><br>
>   // CHECK-1-NEXT: </VersionBlock><br>
> -// CHECK-1-NEXT: <NamespaceBlock NumWords=126 BlockCodeSize=4><br>
> +// CHECK-1-NEXT: <RecordBlock NumWords=203 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-1-NEXT:   <Name abbrevid=5 op0=5/> blob data = 'named'<br>
> -// CHECK-1-NEXT:   <FunctionBlock NumWords=36 BlockCodeSize=4><br>
> +// CHECK-1-NEXT:   <Name abbrevid=5 op0=5/> blob data = 'Class'<br>
> +// CHECK-1-NEXT:   <DefLocation abbrevid=6 op0=32 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-1-NEXT:   <TagType abbrevid=8 op0=3/><br>
> +// CHECK-1-NEXT:   <MemberTypeBlock NumWords=10 BlockCodeSize=4><br>
> +// CHECK-1-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> +// CHECK-1-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> +// CHECK-1-NEXT:       <Field abbrevid=7 op0=4/><br>
> +// CHECK-1-NEXT:     </ReferenceBlock><br>
> +// CHECK-1-NEXT:     <Name abbrevid=4 op0=11/> blob data = 'publicField'<br>
> +// CHECK-1-NEXT:     <Access abbrevid=5 op0=3/><br>
> +// CHECK-1-NEXT:   </MemberTypeBlock><br>
> +// CHECK-1-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4><br>
> +// CHECK-1-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> +// CHECK-1-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> +// CHECK-1-NEXT:       <Field abbrevid=7 op0=4/><br>
> +// CHECK-1-NEXT:     </ReferenceBlock><br>
> +// CHECK-1-NEXT:     <Name abbrevid=4 op0=14/> blob data = 'protectedField'<br>
> +// CHECK-1-NEXT:     <Access abbrevid=5 op0=1/><br>
> +// CHECK-1-NEXT:   </MemberTypeBlock><br>
> +// CHECK-1-NEXT:   <MemberTypeBlock NumWords=10 BlockCodeSize=4><br>
> +// CHECK-1-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> +// CHECK-1-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> +// CHECK-1-NEXT:       <Field abbrevid=7 op0=4/><br>
> +// CHECK-1-NEXT:     </ReferenceBlock><br>
> +// CHECK-1-NEXT:     <Name abbrevid=4 op0=12/> blob data = 'privateField'<br>
> +// CHECK-1-NEXT:     <Access abbrevid=5 op0=2/><br>
> +// CHECK-1-NEXT:   </MemberTypeBlock><br>
> +// CHECK-1-NEXT:   <FunctionBlock NumWords=48 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-1-NEXT:     <Name abbrevid=5 op0=13/> blob data = 'namedFunction'<br>
> +// CHECK-1-NEXT:     <Name abbrevid=5 op0=12/> blob data = 'publicMethod'<br>
>   // CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'<br>
> -// CHECK-1-NEXT:       <RefType abbrevid=6 op0=1/><br>
> +// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'<br>
> +// CHECK-1-NEXT:       <RefType abbrevid=6 op0=2/><br>
>   // CHECK-1-NEXT:       <Field abbrevid=7 op0=1/><br>
>   // CHECK-1-NEXT:     </ReferenceBlock><br>
> -// CHECK-1-NEXT:     <Location abbrevid=7 op0=61 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-1-NEXT:     <IsMethod abbrevid=9 op0=1/><br>
> +// CHECK-1-NEXT:     <Location abbrevid=7 op0=34 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'<br>
> +// CHECK-1-NEXT:       <RefType abbrevid=6 op0=2/><br>
> +// CHECK-1-NEXT:       <Field abbrevid=7 op0=2/><br>
> +// CHECK-1-NEXT:     </ReferenceBlock><br>
>   // CHECK-1-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4><br>
>   // CHECK-1-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
>   // CHECK-1-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'<br>
> @@ -170,16 +216,23 @@ inline void anonInlineFunction();<br>
>   // CHECK-1-NEXT:       </ReferenceBlock><br>
>   // CHECK-1-NEXT:     </TypeBlock><br>
>   // CHECK-1-NEXT:   </FunctionBlock><br>
> -// CHECK-1-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4><br>
> +// CHECK-1-NEXT:   <FunctionBlock NumWords=49 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-1-NEXT:     <Name abbrevid=5 op0=19/> blob data = 'namedStaticFunction'<br>
> +// CHECK-1-NEXT:     <Name abbrevid=5 op0=15/> blob data = 'protectedMethod'<br>
>   // CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'<br>
> -// CHECK-1-NEXT:       <RefType abbrevid=6 op0=1/><br>
> +// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'<br>
> +// CHECK-1-NEXT:       <RefType abbrevid=6 op0=2/><br>
>   // CHECK-1-NEXT:       <Field abbrevid=7 op0=1/><br>
>   // CHECK-1-NEXT:     </ReferenceBlock><br>
> -// CHECK-1-NEXT:     <Location abbrevid=7 op0=62 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-1-NEXT:     <IsMethod abbrevid=9 op0=1/><br>
> +// CHECK-1-NEXT:     <Location abbrevid=7 op0=38 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'<br>
> +// CHECK-1-NEXT:       <RefType abbrevid=6 op0=2/><br>
> +// CHECK-1-NEXT:       <Field abbrevid=7 op0=2/><br>
> +// CHECK-1-NEXT:     </ReferenceBlock><br>
>   // CHECK-1-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4><br>
>   // CHECK-1-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
>   // CHECK-1-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'<br>
> @@ -187,16 +240,23 @@ inline void anonInlineFunction();<br>
>   // CHECK-1-NEXT:       </ReferenceBlock><br>
>   // CHECK-1-NEXT:     </TypeBlock><br>
>   // CHECK-1-NEXT:   </FunctionBlock><br>
> -// CHECK-1-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4><br>
> +// CHECK-1-NEXT:   <FunctionBlock NumWords=49 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-1-NEXT:     <Name abbrevid=5 op0=19/> blob data = 'namedInlineFunction'<br>
> +// CHECK-1-NEXT:     <Name abbrevid=5 op0=13/> blob data = 'privateMethod'<br>
>   // CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'<br>
> -// CHECK-1-NEXT:       <RefType abbrevid=6 op0=1/><br>
> +// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'<br>
> +// CHECK-1-NEXT:       <RefType abbrevid=6 op0=2/><br>
>   // CHECK-1-NEXT:       <Field abbrevid=7 op0=1/><br>
>   // CHECK-1-NEXT:     </ReferenceBlock><br>
> -// CHECK-1-NEXT:     <Location abbrevid=7 op0=63 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-1-NEXT:     <IsMethod abbrevid=9 op0=1/><br>
> +// CHECK-1-NEXT:     <Location abbrevid=7 op0=42 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'<br>
> +// CHECK-1-NEXT:       <RefType abbrevid=6 op0=2/><br>
> +// CHECK-1-NEXT:       <Field abbrevid=7 op0=2/><br>
> +// CHECK-1-NEXT:     </ReferenceBlock><br>
>   // CHECK-1-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4><br>
>   // CHECK-1-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
>   // CHECK-1-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'<br>
> @@ -204,104 +264,184 @@ inline void anonInlineFunction();<br>
>   // CHECK-1-NEXT:       </ReferenceBlock><br>
>   // CHECK-1-NEXT:     </TypeBlock><br>
>   // CHECK-1-NEXT:   </FunctionBlock><br>
> -// CHECK-1-NEXT: </NamespaceBlock><br>
> +// CHECK-1-NEXT: </RecordBlock><br>
>   <br>
> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/74A031CBE68C101F3E83F60ED17F20C11EC19D48.bc | FileCheck %s --check-prefix CHECK-2<br>
> +// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-2<br>
>   // CHECK-2: <BLOCKINFO_BLOCK/><br>
>   // CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4><br>
>   // CHECK-2-NEXT:   <Version abbrevid=4 op0=2/><br>
>   // CHECK-2-NEXT: </VersionBlock><br>
> -// CHECK-2-NEXT: <RecordBlock NumWords=105 BlockCodeSize=4><br>
> -// 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]+}}/><br>
> -// CHECK-2-NEXT:   <Name abbrevid=5 op0=10/> blob data = 'InnerClass'<br>
> -// CHECK-2-NEXT:   <ReferenceBlock NumWords=16 BlockCodeSize=4><br>
> +// CHECK-2-NEXT: <NamespaceBlock NumWords=218 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:   <FunctionBlock NumWords=31 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-2-NEXT:     <Name abbrevid=5 op0=28/> blob data = 'staticFunctionWithInnerClass'<br>
> -// CHECK-2-NEXT:     <RefType abbrevid=6 op0=3/><br>
> -// CHECK-2-NEXT:     <Field abbrevid=7 op0=1/><br>
> -// CHECK-2-NEXT:   </ReferenceBlock><br>
> -// CHECK-2-NEXT:   <DefLocation abbrevid=6 op0=69 op1=4/> blob data = '{{.*}}'<br>
> -// CHECK-2-NEXT:   <TagType abbrevid=8 op0=3/><br>
> -// CHECK-2-NEXT:   <FunctionBlock NumWords=70 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:     <Name abbrevid=5 op0=8/> blob data = 'function'<br>
> +// CHECK-2-NEXT:     <Location abbrevid=7 op0=10 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-2-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'<br>
> +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/><br>
> +// CHECK-2-NEXT:       </ReferenceBlock><br>
> +// CHECK-2-NEXT:     </TypeBlock><br>
> +// CHECK-2-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/><br>
> +// CHECK-2-NEXT:       </ReferenceBlock><br>
> +// CHECK-2-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'<br>
> +// CHECK-2-NEXT:     </FieldTypeBlock><br>
> +// CHECK-2-NEXT:   </FunctionBlock><br>
> +// CHECK-2-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-2-NEXT:     <Name abbrevid=5 op0=15/> blob data = 'inlinedFunction'<br>
> +// CHECK-2-NEXT:     <Location abbrevid=7 op0=12 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-2-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/><br>
> +// CHECK-2-NEXT:       </ReferenceBlock><br>
> +// CHECK-2-NEXT:     </TypeBlock><br>
> +// CHECK-2-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/><br>
> +// CHECK-2-NEXT:       </ReferenceBlock><br>
> +// CHECK-2-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'<br>
> +// CHECK-2-NEXT:     </FieldTypeBlock><br>
> +// CHECK-2-NEXT:   </FunctionBlock><br>
> +// CHECK-2-NEXT:   <FunctionBlock NumWords=35 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-2-NEXT:     <Name abbrevid=5 op0=22/> blob data = 'functionWithInnerClass'<br>
> +// CHECK-2-NEXT:     <DefLocation abbrevid=6 op0=14 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-2-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/><br>
> +// CHECK-2-NEXT:       </ReferenceBlock><br>
> +// CHECK-2-NEXT:     </TypeBlock><br>
> +// CHECK-2-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/><br>
> +// CHECK-2-NEXT:       </ReferenceBlock><br>
> +// CHECK-2-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'<br>
> +// CHECK-2-NEXT:     </FieldTypeBlock><br>
> +// CHECK-2-NEXT:   </FunctionBlock><br>
> +// CHECK-2-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-2-NEXT:     <Name abbrevid=5 op0=29/> blob data = 'inlinedFunctionWithInnerClass'<br>
> +// CHECK-2-NEXT:     <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-2-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/><br>
> +// CHECK-2-NEXT:       </ReferenceBlock><br>
> +// CHECK-2-NEXT:     </TypeBlock><br>
> +// CHECK-2-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/><br>
> +// CHECK-2-NEXT:       </ReferenceBlock><br>
> +// CHECK-2-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'<br>
> +// CHECK-2-NEXT:     </FieldTypeBlock><br>
> +// CHECK-2-NEXT:   </FunctionBlock><br>
> +// CHECK-2-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-2-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'innerPublicMethod'<br>
> -// CHECK-2-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4><br>
> -// 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]+}}/><br>
> -// CHECK-2-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'<br>
> -// CHECK-2-NEXT:       <RefType abbrevid=6 op0=2/><br>
> -// CHECK-2-NEXT:       <Field abbrevid=7 op0=1/><br>
> -// CHECK-2-NEXT:     </ReferenceBlock><br>
> -// CHECK-2-NEXT:     <ReferenceBlock NumWords=16 BlockCodeSize=4><br>
> -// 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]+}}/><br>
> -// CHECK-2-NEXT:       <Name abbrevid=5 op0=28/> blob data = 'staticFunctionWithInnerClass'<br>
> -// CHECK-2-NEXT:       <RefType abbrevid=6 op0=3/><br>
> -// CHECK-2-NEXT:       <Field abbrevid=7 op0=1/><br>
> -// CHECK-2-NEXT:     </ReferenceBlock><br>
> -// CHECK-2-NEXT:     <IsMethod abbrevid=9 op0=1/><br>
> -// CHECK-2-NEXT:     <DefLocation abbrevid=6 op0=71 op1=4/> blob data = '{{.*}}'<br>
> -// CHECK-2-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4><br>
> -// 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]+}}/><br>
> -// CHECK-2-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'<br>
> -// CHECK-2-NEXT:       <RefType abbrevid=6 op0=2/><br>
> -// CHECK-2-NEXT:       <Field abbrevid=7 op0=2/><br>
> -// CHECK-2-NEXT:     </ReferenceBlock><br>
> +// CHECK-2-NEXT:     <Name abbrevid=5 op0=14/> blob data = 'staticFunction'<br>
> +// CHECK-2-NEXT:     <Location abbrevid=7 op0=66 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-2-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'<br>
> +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/><br>
> +// CHECK-2-NEXT:       </ReferenceBlock><br>
> +// CHECK-2-NEXT:     </TypeBlock><br>
> +// CHECK-2-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/><br>
> +// CHECK-2-NEXT:       </ReferenceBlock><br>
> +// CHECK-2-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'<br>
> +// CHECK-2-NEXT:     </FieldTypeBlock><br>
> +// CHECK-2-NEXT:   </FunctionBlock><br>
> +// CHECK-2-NEXT:   <FunctionBlock NumWords=36 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-2-NEXT:     <Name abbrevid=5 op0=28/> blob data = 'staticFunctionWithInnerClass'<br>
> +// CHECK-2-NEXT:     <DefLocation abbrevid=6 op0=68 op1=4/> blob data = '{{.*}}'<br>
>   // CHECK-2-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4><br>
>   // CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
>   // CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
>   // CHECK-2-NEXT:         <Field abbrevid=7 op0=4/><br>
>   // CHECK-2-NEXT:       </ReferenceBlock><br>
>   // CHECK-2-NEXT:     </TypeBlock><br>
> +// CHECK-2-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> +// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> +// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/><br>
> +// CHECK-2-NEXT:       </ReferenceBlock><br>
> +// CHECK-2-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'<br>
> +// CHECK-2-NEXT:     </FieldTypeBlock><br>
>   // CHECK-2-NEXT:   </FunctionBlock><br>
> -// CHECK-2-NEXT: </RecordBlock><br>
> +// CHECK-2-NEXT: </NamespaceBlock><br>
>   <br>
> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/7CDD73DCD6CD72F7E5CE25502810A182C66C4B45.bc | FileCheck %s --check-prefix CHECK-3<br>
> +// RUN: llvm-bcanalyzer --dump %t/docs/bc/4712C5FA37B298A25501D1033C619B65B0ECC449.bc | FileCheck %s --check-prefix CHECK-3<br>
>   // CHECK-3: <BLOCKINFO_BLOCK/><br>
>   // CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4><br>
>   // CHECK-3-NEXT:   <Version abbrevid=4 op0=2/><br>
>   // CHECK-3-NEXT: </VersionBlock><br>
> -// CHECK-3-NEXT: <RecordBlock NumWords=203 BlockCodeSize=4><br>
> +// CHECK-3-NEXT: <RecordBlock NumWords=270 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-3-NEXT:   <Name abbrevid=5 op0=5/> blob data = 'Class'<br>
> -// CHECK-3-NEXT:   <DefLocation abbrevid=6 op0=32 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-3-NEXT:   <Name abbrevid=5 op0=10/> blob data = 'NamedClass'<br>
> +// CHECK-3-NEXT:   <ReferenceBlock NumWords=11 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-3-NEXT:     <Name abbrevid=5 op0=5/> blob data = 'named'<br>
> +// CHECK-3-NEXT:     <RefType abbrevid=6 op0=1/><br>
> +// CHECK-3-NEXT:     <Field abbrevid=7 op0=1/><br>
> +// CHECK-3-NEXT:   </ReferenceBlock><br>
> +// CHECK-3-NEXT:   <DefLocation abbrevid=6 op0=47 op1=4/> blob data = '{{.*}}'<br>
>   // CHECK-3-NEXT:   <TagType abbrevid=8 op0=3/><br>
> -// CHECK-3-NEXT:   <MemberTypeBlock NumWords=10 BlockCodeSize=4><br>
> +// CHECK-3-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4><br>
>   // CHECK-3-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
>   // CHECK-3-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'<br>
>   // CHECK-3-NEXT:       <Field abbrevid=7 op0=4/><br>
>   // CHECK-3-NEXT:     </ReferenceBlock><br>
> -// CHECK-3-NEXT:     <Name abbrevid=4 op0=11/> blob data = 'publicField'<br>
> +// CHECK-3-NEXT:     <Name abbrevid=4 op0=16/> blob data = 'namedPublicField'<br>
>   // CHECK-3-NEXT:     <Access abbrevid=5 op0=3/><br>
>   // CHECK-3-NEXT:   </MemberTypeBlock><br>
> -// CHECK-3-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4><br>
> +// CHECK-3-NEXT:   <MemberTypeBlock NumWords=12 BlockCodeSize=4><br>
>   // CHECK-3-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
>   // CHECK-3-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'<br>
>   // CHECK-3-NEXT:       <Field abbrevid=7 op0=4/><br>
>   // CHECK-3-NEXT:     </ReferenceBlock><br>
> -// CHECK-3-NEXT:     <Name abbrevid=4 op0=14/> blob data = 'protectedField'<br>
> +// CHECK-3-NEXT:     <Name abbrevid=4 op0=19/> blob data = 'namedProtectedField'<br>
>   // CHECK-3-NEXT:     <Access abbrevid=5 op0=1/><br>
>   // CHECK-3-NEXT:   </MemberTypeBlock><br>
> -// CHECK-3-NEXT:   <MemberTypeBlock NumWords=10 BlockCodeSize=4><br>
> +// CHECK-3-NEXT:   <MemberTypeBlock NumWords=12 BlockCodeSize=4><br>
>   // CHECK-3-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
>   // CHECK-3-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'<br>
>   // CHECK-3-NEXT:       <Field abbrevid=7 op0=4/><br>
>   // CHECK-3-NEXT:     </ReferenceBlock><br>
> -// CHECK-3-NEXT:     <Name abbrevid=4 op0=12/> blob data = 'privateField'<br>
> +// CHECK-3-NEXT:     <Name abbrevid=4 op0=17/> blob data = 'namedPrivateField'<br>
>   // CHECK-3-NEXT:     <Access abbrevid=5 op0=2/><br>
>   // CHECK-3-NEXT:   </MemberTypeBlock><br>
> -// CHECK-3-NEXT:   <FunctionBlock NumWords=48 BlockCodeSize=4><br>
> +// CHECK-3-NEXT:   <FunctionBlock NumWords=65 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-3-NEXT:     <Name abbrevid=5 op0=12/> blob data = 'publicMethod'<br>
> -// CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4><br>
> +// CHECK-3-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'namedPublicMethod'<br>
> +// CHECK-3-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'<br>
> +// CHECK-3-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'<br>
>   // CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/><br>
>   // CHECK-3-NEXT:       <Field abbrevid=7 op0=1/><br>
>   // CHECK-3-NEXT:     </ReferenceBlock><br>
> -// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/><br>
> -// CHECK-3-NEXT:     <Location abbrevid=7 op0=34 op1=4/> blob data = '{{.*}}'<br>
>   // CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'<br>
> +// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'<br>
> +// CHECK-3-NEXT:       <RefType abbrevid=6 op0=1/><br>
> +// CHECK-3-NEXT:       <Field abbrevid=7 op0=1/><br>
> +// CHECK-3-NEXT:     </ReferenceBlock><br>
> +// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/><br>
> +// CHECK-3-NEXT:     <Location abbrevid=7 op0=49 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-3-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-3-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'<br>
>   // CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/><br>
>   // CHECK-3-NEXT:       <Field abbrevid=7 op0=2/><br>
>   // CHECK-3-NEXT:     </ReferenceBlock><br>
> @@ -312,20 +452,26 @@ inline void anonInlineFunction();<br>
>   // CHECK-3-NEXT:       </ReferenceBlock><br>
>   // CHECK-3-NEXT:     </TypeBlock><br>
>   // CHECK-3-NEXT:   </FunctionBlock><br>
> -// CHECK-3-NEXT:   <FunctionBlock NumWords=49 BlockCodeSize=4><br>
> +// CHECK-3-NEXT:   <FunctionBlock NumWords=65 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-3-NEXT:     <Name abbrevid=5 op0=15/> blob data = 'protectedMethod'<br>
> -// CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4><br>
> +// CHECK-3-NEXT:     <Name abbrevid=5 op0=20/> blob data = 'namedProtectedMethod'<br>
> +// CHECK-3-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'<br>
> +// CHECK-3-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'<br>
>   // CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/><br>
>   // CHECK-3-NEXT:       <Field abbrevid=7 op0=1/><br>
>   // CHECK-3-NEXT:     </ReferenceBlock><br>
> -// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/><br>
> -// CHECK-3-NEXT:     <Location abbrevid=7 op0=38 op1=4/> blob data = '{{.*}}'<br>
>   // CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'<br>
> +// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'<br>
> +// CHECK-3-NEXT:       <RefType abbrevid=6 op0=1/><br>
> +// CHECK-3-NEXT:       <Field abbrevid=7 op0=1/><br>
> +// CHECK-3-NEXT:     </ReferenceBlock><br>
> +// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/><br>
> +// CHECK-3-NEXT:     <Location abbrevid=7 op0=53 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-3-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-3-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'<br>
>   // CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/><br>
>   // CHECK-3-NEXT:       <Field abbrevid=7 op0=2/><br>
>   // CHECK-3-NEXT:     </ReferenceBlock><br>
> @@ -336,20 +482,26 @@ inline void anonInlineFunction();<br>
>   // CHECK-3-NEXT:       </ReferenceBlock><br>
>   // CHECK-3-NEXT:     </TypeBlock><br>
>   // CHECK-3-NEXT:   </FunctionBlock><br>
> -// CHECK-3-NEXT:   <FunctionBlock NumWords=49 BlockCodeSize=4><br>
> +// CHECK-3-NEXT:   <FunctionBlock NumWords=65 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-3-NEXT:     <Name abbrevid=5 op0=13/> blob data = 'privateMethod'<br>
> -// CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4><br>
> +// CHECK-3-NEXT:     <Name abbrevid=5 op0=18/> blob data = 'namedPrivateMethod'<br>
> +// CHECK-3-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'<br>
> +// CHECK-3-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'<br>
>   // CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/><br>
>   // CHECK-3-NEXT:       <Field abbrevid=7 op0=1/><br>
>   // CHECK-3-NEXT:     </ReferenceBlock><br>
> -// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/><br>
> -// CHECK-3-NEXT:     <Location abbrevid=7 op0=42 op1=4/> blob data = '{{.*}}'<br>
>   // CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'<br>
> +// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'<br>
> +// CHECK-3-NEXT:       <RefType abbrevid=6 op0=1/><br>
> +// CHECK-3-NEXT:       <Field abbrevid=7 op0=1/><br>
> +// CHECK-3-NEXT:     </ReferenceBlock><br>
> +// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/><br>
> +// CHECK-3-NEXT:     <Location abbrevid=7 op0=57 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-3-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-3-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'<br>
>   // CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/><br>
>   // CHECK-3-NEXT:       <Field abbrevid=7 op0=2/><br>
>   // CHECK-3-NEXT:     </ReferenceBlock><br>
> @@ -362,483 +514,187 @@ inline void anonInlineFunction();<br>
>   // CHECK-3-NEXT:   </FunctionBlock><br>
>   // CHECK-3-NEXT: </RecordBlock><br>
>   <br>
> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/85427901413EC77C961019EBB3ADEF7B0BAAFE78.bc | FileCheck %s --check-prefix CHECK-4<br>
> +// RUN: llvm-bcanalyzer --dump %t/docs/bc/6E8FB72A89761E77020BFCEE9A9A6E64B15CC2A9.bc | FileCheck %s --check-prefix CHECK-4<br>
>   // CHECK-4: <BLOCKINFO_BLOCK/><br>
>   // CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4><br>
>   // CHECK-4-NEXT:   <Version abbrevid=4 op0=2/><br>
>   // CHECK-4-NEXT: </VersionBlock><br>
> -// CHECK-4-NEXT: <RecordBlock NumWords=103 BlockCodeSize=4><br>
> +// CHECK-4-NEXT: <RecordBlock NumWords=252 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-4-NEXT:   <Name abbrevid=5 op0=10/> blob data = 'InnerClass'<br>
> -// CHECK-4-NEXT:   <ReferenceBlock NumWords=15 BlockCodeSize=4><br>
> +// CHECK-4-NEXT:   <Name abbrevid=5 op0=9/> blob data = 'AnonClass'<br>
> +// CHECK-4-NEXT:   <ReferenceBlock NumWords=7 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-4-NEXT:     <Name abbrevid=5 op0=22/> blob data = 'functionWithInnerClass'<br>
> -// CHECK-4-NEXT:     <RefType abbrevid=6 op0=3/><br>
> +// CHECK-4-NEXT:     <RefType abbrevid=6 op0=1/><br>
>   // CHECK-4-NEXT:     <Field abbrevid=7 op0=1/><br>
>   // CHECK-4-NEXT:   </ReferenceBlock><br>
> -// CHECK-4-NEXT:   <DefLocation abbrevid=6 op0=15 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-4-NEXT:   <DefLocation abbrevid=6 op0=78 op1=4/> blob data = '{{.*}}'<br>
>   // CHECK-4-NEXT:   <TagType abbrevid=8 op0=3/><br>
> -// CHECK-4-NEXT:   <FunctionBlock NumWords=69 BlockCodeSize=4><br>
> +// CHECK-4-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4><br>
> +// CHECK-4-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> +// CHECK-4-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> +// CHECK-4-NEXT:       <Field abbrevid=7 op0=4/><br>
> +// CHECK-4-NEXT:     </ReferenceBlock><br>
> +// CHECK-4-NEXT:     <Name abbrevid=4 op0=15/> blob data = 'anonPublicField'<br>
> +// CHECK-4-NEXT:     <Access abbrevid=5 op0=3/><br>
> +// CHECK-4-NEXT:   </MemberTypeBlock><br>
> +// CHECK-4-NEXT:   <MemberTypeBlock NumWords=12 BlockCodeSize=4><br>
> +// CHECK-4-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> +// CHECK-4-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> +// CHECK-4-NEXT:       <Field abbrevid=7 op0=4/><br>
> +// CHECK-4-NEXT:     </ReferenceBlock><br>
> +// CHECK-4-NEXT:     <Name abbrevid=4 op0=18/> blob data = 'anonProtectedField'<br>
> +// CHECK-4-NEXT:     <Access abbrevid=5 op0=1/><br>
> +// CHECK-4-NEXT:   </MemberTypeBlock><br>
> +// CHECK-4-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4><br>
> +// CHECK-4-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> +// CHECK-4-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> +// CHECK-4-NEXT:       <Field abbrevid=7 op0=4/><br>
> +// CHECK-4-NEXT:     </ReferenceBlock><br>
> +// CHECK-4-NEXT:     <Name abbrevid=4 op0=16/> blob data = 'anonPrivateField'<br>
> +// CHECK-4-NEXT:     <Access abbrevid=5 op0=2/><br>
> +// CHECK-4-NEXT:   </MemberTypeBlock><br>
> +// CHECK-4-NEXT:   <FunctionBlock NumWords=60 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-4-NEXT:     <Name abbrevid=5 op0=16/> blob data = 'anonPublicMethod'<br>
> +// CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-4-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'<br>
> +// CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/><br>
> +// CHECK-4-NEXT:       <Field abbrevid=7 op0=1/><br>
> +// CHECK-4-NEXT:     </ReferenceBlock><br>
> +// CHECK-4-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-4-NEXT:       <RefType abbrevid=6 op0=1/><br>
> +// CHECK-4-NEXT:       <Field abbrevid=7 op0=1/><br>
> +// CHECK-4-NEXT:     </ReferenceBlock><br>
> +// CHECK-4-NEXT:     <IsMethod abbrevid=9 op0=1/><br>
> +// CHECK-4-NEXT:     <Location abbrevid=7 op0=80 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-4-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'<br>
> +// CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/><br>
> +// CHECK-4-NEXT:       <Field abbrevid=7 op0=2/><br>
> +// CHECK-4-NEXT:     </ReferenceBlock><br>
> +// CHECK-4-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4><br>
> +// CHECK-4-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> +// CHECK-4-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'<br>
> +// CHECK-4-NEXT:         <Field abbrevid=7 op0=4/><br>
> +// CHECK-4-NEXT:       </ReferenceBlock><br>
> +// CHECK-4-NEXT:     </TypeBlock><br>
> +// CHECK-4-NEXT:   </FunctionBlock><br>
> +// CHECK-4-NEXT:   <FunctionBlock NumWords=61 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-4-NEXT:     <Name abbrevid=5 op0=19/> blob data = 'anonProtectedMethod'<br>
> +// CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-4-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'<br>
> +// CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/><br>
> +// CHECK-4-NEXT:       <Field abbrevid=7 op0=1/><br>
> +// CHECK-4-NEXT:     </ReferenceBlock><br>
> +// CHECK-4-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-4-NEXT:       <RefType abbrevid=6 op0=1/><br>
> +// CHECK-4-NEXT:       <Field abbrevid=7 op0=1/><br>
> +// CHECK-4-NEXT:     </ReferenceBlock><br>
> +// CHECK-4-NEXT:     <IsMethod abbrevid=9 op0=1/><br>
> +// CHECK-4-NEXT:     <Location abbrevid=7 op0=84 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-4-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'<br>
> +// CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/><br>
> +// CHECK-4-NEXT:       <Field abbrevid=7 op0=2/><br>
> +// CHECK-4-NEXT:     </ReferenceBlock><br>
> +// CHECK-4-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4><br>
> +// CHECK-4-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> +// CHECK-4-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'<br>
> +// CHECK-4-NEXT:         <Field abbrevid=7 op0=4/><br>
> +// CHECK-4-NEXT:       </ReferenceBlock><br>
> +// CHECK-4-NEXT:     </TypeBlock><br>
> +// CHECK-4-NEXT:   </FunctionBlock><br>
> +// CHECK-4-NEXT:   <FunctionBlock NumWords=61 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-4-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'innerPublicMethod'<br>
> +// CHECK-4-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'anonPrivateMethod'<br>
>   // CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-4-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'<br>
> +// CHECK-4-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'<br>
>   // CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/><br>
>   // CHECK-4-NEXT:       <Field abbrevid=7 op0=1/><br>
>   // CHECK-4-NEXT:     </ReferenceBlock><br>
> -// CHECK-4-NEXT:     <ReferenceBlock NumWords=15 BlockCodeSize=4><br>
> +// CHECK-4-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-4-NEXT:       <Name abbrevid=5 op0=22/> blob data = 'functionWithInnerClass'<br>
> -// CHECK-4-NEXT:       <RefType abbrevid=6 op0=3/><br>
> +// CHECK-4-NEXT:       <RefType abbrevid=6 op0=1/><br>
>   // CHECK-4-NEXT:       <Field abbrevid=7 op0=1/><br>
>   // CHECK-4-NEXT:     </ReferenceBlock><br>
>   // CHECK-4-NEXT:     <IsMethod abbrevid=9 op0=1/><br>
> -// CHECK-4-NEXT:     <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-4-NEXT:     <Location abbrevid=7 op0=88 op1=4/> blob data = '{{.*}}'<br>
>   // CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-4-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'<br>
> +// CHECK-4-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'<br>
>   // CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/><br>
>   // CHECK-4-NEXT:       <Field abbrevid=7 op0=2/><br>
>   // CHECK-4-NEXT:     </ReferenceBlock><br>
>   // CHECK-4-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4><br>
>   // CHECK-4-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> -// CHECK-4-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> +// CHECK-4-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'<br>
>   // CHECK-4-NEXT:         <Field abbrevid=7 op0=4/><br>
>   // CHECK-4-NEXT:       </ReferenceBlock><br>
>   // CHECK-4-NEXT:     </TypeBlock><br>
>   // CHECK-4-NEXT:   </FunctionBlock><br>
>   // CHECK-4-NEXT: </RecordBlock><br>
>   <br>
> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-5<br>
> +// RUN: llvm-bcanalyzer --dump %t/docs/bc/83CC52D32583E0771710A7742DE81C839E953AC8.bc | FileCheck %s --check-prefix CHECK-5<br>
>   // CHECK-5: <BLOCKINFO_BLOCK/><br>
>   // CHECK-5-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4><br>
>   // CHECK-5-NEXT:   <Version abbrevid=4 op0=2/><br>
>   // CHECK-5-NEXT: </VersionBlock><br>
> -// CHECK-5-NEXT: <NamespaceBlock NumWords=218 BlockCodeSize=4><br>
> +// CHECK-5-NEXT: <NamespaceBlock NumWords=109 BlockCodeSize=4><br>
> +// 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]+}}/><br>
>   // CHECK-5-NEXT:   <FunctionBlock NumWords=31 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-5-NEXT:     <Name abbrevid=5 op0=8/> blob data = 'function'<br>
> -// CHECK-5-NEXT:     <Location abbrevid=7 op0=10 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-5-NEXT:     <Name abbrevid=5 op0=12/> blob data = 'anonFunction'<br>
> +// CHECK-5-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-5-NEXT:       <RefType abbrevid=6 op0=1/><br>
> +// CHECK-5-NEXT:       <Field abbrevid=7 op0=1/><br>
> +// CHECK-5-NEXT:     </ReferenceBlock><br>
> +// CHECK-5-NEXT:     <Location abbrevid=7 op0=92 op1=4/> blob data = '{{.*}}'<br>
>   // CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4><br>
>   // CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
>   // CHECK-5-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'<br>
>   // CHECK-5-NEXT:         <Field abbrevid=7 op0=4/><br>
>   // CHECK-5-NEXT:       </ReferenceBlock><br>
>   // CHECK-5-NEXT:     </TypeBlock><br>
> -// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4><br>
> -// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> -// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> -// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/><br>
> -// CHECK-5-NEXT:       </ReferenceBlock><br>
> -// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'<br>
> -// CHECK-5-NEXT:     </FieldTypeBlock><br>
>   // CHECK-5-NEXT:   </FunctionBlock><br>
>   // CHECK-5-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-5-NEXT:     <Name abbrevid=5 op0=15/> blob data = 'inlinedFunction'<br>
> -// CHECK-5-NEXT:     <Location abbrevid=7 op0=12 op1=4/> blob data = '{{.*}}'<br>
> -// CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4><br>
> -// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> -// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> -// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/><br>
> -// CHECK-5-NEXT:       </ReferenceBlock><br>
> -// CHECK-5-NEXT:     </TypeBlock><br>
> -// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4><br>
> -// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> -// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> -// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/><br>
> -// CHECK-5-NEXT:       </ReferenceBlock><br>
> -// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'<br>
> -// CHECK-5-NEXT:     </FieldTypeBlock><br>
> -// CHECK-5-NEXT:   </FunctionBlock><br>
> -// CHECK-5-NEXT:   <FunctionBlock NumWords=35 BlockCodeSize=4><br>
> -// 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]+}}/><br>
> -// CHECK-5-NEXT:     <Name abbrevid=5 op0=22/> blob data = 'functionWithInnerClass'<br>
> -// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=14 op1=4/> blob data = '{{.*}}'<br>
> -// CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4><br>
> -// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> -// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> -// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/><br>
> -// CHECK-5-NEXT:       </ReferenceBlock><br>
> -// CHECK-5-NEXT:     </TypeBlock><br>
> -// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4><br>
> -// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> -// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> -// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/><br>
> -// CHECK-5-NEXT:       </ReferenceBlock><br>
> -// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'<br>
> -// CHECK-5-NEXT:     </FieldTypeBlock><br>
> -// CHECK-5-NEXT:   </FunctionBlock><br>
> -// CHECK-5-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4><br>
> -// 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]+}}/><br>
> -// CHECK-5-NEXT:     <Name abbrevid=5 op0=29/> blob data = 'inlinedFunctionWithInnerClass'<br>
> -// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-5-NEXT:     <Name abbrevid=5 op0=18/> blob data = 'anonStaticFunction'<br>
> +// CHECK-5-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-5-NEXT:       <RefType abbrevid=6 op0=1/><br>
> +// CHECK-5-NEXT:       <Field abbrevid=7 op0=1/><br>
> +// CHECK-5-NEXT:     </ReferenceBlock><br>
> +// CHECK-5-NEXT:     <Location abbrevid=7 op0=93 op1=4/> blob data = '{{.*}}'<br>
>   // CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4><br>
>   // CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> -// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> +// CHECK-5-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'<br>
>   // CHECK-5-NEXT:         <Field abbrevid=7 op0=4/><br>
>   // CHECK-5-NEXT:       </ReferenceBlock><br>
>   // CHECK-5-NEXT:     </TypeBlock><br>
> -// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4><br>
> -// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> -// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> -// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/><br>
> -// CHECK-5-NEXT:       </ReferenceBlock><br>
> -// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'<br>
> -// CHECK-5-NEXT:     </FieldTypeBlock><br>
>   // CHECK-5-NEXT:   </FunctionBlock><br>
>   // CHECK-5-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4><br>
>   // 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]+}}/><br>
> -// CHECK-5-NEXT:     <Name abbrevid=5 op0=14/> blob data = 'staticFunction'<br>
> -// CHECK-5-NEXT:     <Location abbrevid=7 op0=66 op1=4/> blob data = '{{.*}}'<br>
> +// CHECK-5-NEXT:     <Name abbrevid=5 op0=18/> blob data = 'anonInlineFunction'<br>
> +// CHECK-5-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4><br>
> +// 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]+}}/><br>
> +// CHECK-5-NEXT:       <RefType abbrevid=6 op0=1/><br>
> +// CHECK-5-NEXT:       <Field abbrevid=7 op0=1/><br>
> +// CHECK-5-NEXT:     </ReferenceBlock><br>
> +// CHECK-5-NEXT:     <Location abbrevid=7 op0=94 op1=4/> blob data = '{{.*}}'<br>
>   // CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4><br>
>   // CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
>   // CHECK-5-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'<br>
>   // CHECK-5-NEXT:         <Field abbrevid=7 op0=4/><br>
>   // CHECK-5-NEXT:       </ReferenceBlock><br>
>   // CHECK-5-NEXT:     </TypeBlock><br>
> -// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4><br>
> -// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> -// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> -// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/><br>
> -// CHECK-5-NEXT:       </ReferenceBlock><br>
> -// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'<br>
> -// CHECK-5-NEXT:     </FieldTypeBlock><br>
> -// CHECK-5-NEXT:   </FunctionBlock><br>
> -// CHECK-5-NEXT:   <FunctionBlock NumWords=36 BlockCodeSize=4><br>
> -// 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]+}}/><br>
> -// CHECK-5-NEXT:     <Name abbrevid=5 op0=28/> blob data = 'staticFunctionWithInnerClass'<br>
> -// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=68 op1=4/> blob data = '{{.*}}'<br>
> -// CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4><br>
> -// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> -// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> -// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/><br>
> -// CHECK-5-NEXT:       </ReferenceBlock><br>
> -// CHECK-5-NEXT:     </TypeBlock><br>
> -// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4><br>
> -// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4><br>
> -// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'<br>
> -// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/><br>
> -// CHECK-5-NEXT:       </ReferenceBlock><br>
> -// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'<br>
> -// CHECK-5-NEXT:     </FieldTypeBlock><br>
>   // CHECK-5-NEXT:   </FunctionBlock><br>
>   // CHECK-5-NEXT: </NamespaceBlock><br>
> -<br>
> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/4712C5FA37B298A25501D1033C619B65B0ECC449.bc | FileCheck %s --check-prefix CHECK-6<br>
> -// CHECK-6: <BLOCKINFO_BLOCK/><br>
> -// CHECK-6-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4><br>
> -// CHECK-6-NEXT:   <Version abbrevid=4 op0=2/><br>
> -// CHECK-6-NEXT: </VersionBlock><br>
> -// CHECK-6-NEXT: <RecordBlock NumWords=270 BlockCodeSize=4><br>
> -// 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]+}}/><br>
> -// CHECK-6-NEXT:   <Name abbrevid=5 op0=10/> blob data = 'NamedClass'<br>
> -// CHECK-6-NEXT:   <ReferenceBlock NumWords=11 BlockCodeSize=4><br>
> -// 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]+}}/</blockquote></div>