brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · bff6826 Raw
55 lines · plain
1RUN: yaml2obj %p/Inputs/obj-hashes-1.yaml -o %t.obj-hashes-1.obj2RUN: yaml2obj %p/Inputs/obj-hashes-2.yaml -o %t.obj-hashes-2.obj3RUN: echo obj-hashes-1 > %t.hashes-combined.out4RUN: llvm-pdbutil dump -type-extras %t.obj-hashes-1.obj >> %t.hashes-combined.out5RUN: echo obj-hashes-2 >> %t.hashes-combined.out6RUN: llvm-pdbutil dump -type-extras %t.obj-hashes-2.obj >> %t.hashes-combined.out7RUN: cat %t.hashes-combined.out | FileCheck --check-prefix=CHECK-ONE %s8RUN: cat %t.hashes-combined.out | FileCheck --check-prefix=CHECK-TWO %s9RUN: cat %t.hashes-combined.out | FileCheck --check-prefix=CHECK-THREE %s10RUN: cat %t.hashes-combined.out | FileCheck --check-prefix=CHECK-FOUR %s11RUN: cat %t.hashes-combined.out | FileCheck --check-prefix=CHECK-FIVE %s12RUN: cat %t.hashes-combined.out | FileCheck --check-prefix=CHECK-SIX %s13 14; char**.  Both the local and global hashes should be the same, since the only15; back-references are for simple types which have fixed indices.16CHECK-ONE:   obj-hashes-117CHECK-ONE:   TI: 0x1001, LocalHash: {{.*}}, GlobalHash: 912CE718D99C2F7418CHECK-ONE:   obj-hashes-219CHECK-ONE:   TI: 0x1000, LocalHash: {{.*}}, GlobalHash: 912CE718D99C2F7420 21; int**.  Same as char**, both the local and global hashes should be the same.22CHECK-TWO:   obj-hashes-123CHECK-TWO:   TI: 0x1000, LocalHash: {{.*}}, GlobalHash: 20DAD105A7C67E1D24CHECK-TWO:   obj-hashes-225CHECK-TWO:   TI: 0x1002, LocalHash: {{.*}}, GlobalHash: 20DAD105A7C67E1D26 27; int***. Different local hashes, since the referent type (int**) is not at the28; same TypeIndex in both streams.  Same global hash, since they represent the29; same record.30CHECK-THREE: obj-hashes-131CHECK-THREE: TI: 0x1002, LocalHash: {{.*}}, GlobalHash: 09CBAD68AF5C799832CHECK-THREE: obj-hashes-233CHECK-THREE: TI: 0x1001, LocalHash: {{.*}}, GlobalHash: 09CBAD68AF5C799834 35; arg list (char**, int***).  Different local hashes, since the parameter types36; both occur at different TypeIndices in their respective input streams.  Same37; global hash, since the global hash of all referenced types is the same in38; both streams.39CHECK-FOUR:  obj-hashes-140CHECK-FOUR:  TI: 0x1003, LocalHash: {{.*}}, GlobalHash: B6A17FFA392FDF6E41CHECK-FOUR:  obj-hashes-242CHECK-FOUR:  TI: 0x1004, LocalHash: {{.*}}, GlobalHash: B6A17FFA392FDF6E43 44; double**.  This is only in stream 2, as a means to throw off the indexing.45CHECK-FIVE:  obj-hashes-146CHECK-FIVE:  obj-hashes-247CHECK-FIVE:  TI: 0x1003, LocalHash: {{.*}}, GlobalHash: 357B0B78DBFB83B448 49; int** (char**, int***).  For the same logic as described in previous records,50; these two records have the same global hash but different local hashes.51CHECK-SIX:   obj-hashes-152CHECK-SIX:   TI: 0x1004, LocalHash: {{.*}}, GlobalHash: 8356432DE786E19653CHECK-SIX:   obj-hashes-254CHECK-SIX:   TI: 0x1005, LocalHash: {{.*}}, GlobalHash: 8356432DE786E19655