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

