Alexandre Ganea | 2031cf6 | 2018-04-09 20:17:56 +0000 | [diff] [blame] | 1 |
|
| 2 | RUN: rm -rf %t1/
|
| 3 | RUN: mkdir %t1
|
| 4 | RUN: obj2yaml %S/Inputs/precomp-a.obj > %t1/precomp-a.yaml
|
| 5 | RUN: obj2yaml %S/Inputs/precomp.obj > %t1/precomp.yaml
|
| 6 | RUN: yaml2obj %t1/precomp-a.yaml > %t1/a.obj
|
| 7 | RUN: yaml2obj %t1/precomp.yaml > %t1/precomp.obj
|
| 8 | RUN: llvm-readobj -codeview %t1/a.obj | FileCheck %s -check-prefix PRECOMP
|
| 9 | RUN: llvm-readobj -codeview %t1/precomp.obj | FileCheck %s -check-prefix ENDPRECOMP
|
| 10 | RUN: llvm-pdbutil dump -types %t1/a.obj | FileCheck %s -check-prefix PDB-PRECOMP
|
| 11 | RUN: llvm-pdbutil dump -types %t1/precomp.obj | FileCheck %s -check-prefix PDB-ENDPRECOMP
|
| 12 |
|
| 13 | ENDPRECOMP: CodeViewTypes [
|
| 14 | ENDPRECOMP-NEXT: Section: .debug$P (3)
|
| 15 | ENDPRECOMP: EndPrecomp (0x1407) {
|
| 16 | ENDPRECOMP-NEXT: TypeLeafKind: LF_ENDPRECOMP (0x14)
|
| 17 | ENDPRECOMP-NEXT: Signature: 0x1116980E
|
| 18 | ENDPRECOMP-NEXT: }
|
| 19 |
|
| 20 | PRECOMP: CodeViewTypes [
|
| 21 | PRECOMP-NEXT: Section: .debug$T (3)
|
| 22 | PRECOMP-NEXT: Magic: 0x4
|
| 23 | PRECOMP-NEXT: Precomp (0x1000) {
|
| 24 | PRECOMP-NEXT: TypeLeafKind: LF_PRECOMP (0x1509)
|
| 25 | PRECOMP-NEXT: StartIndex: 0x1000
|
| 26 | PRECOMP-NEXT: Count: 0x407
|
| 27 | PRECOMP-NEXT: Signature: 0x1116980E
|
| 28 |
|
| 29 | PDB-PRECOMP: Types (.debug$T)
|
| 30 | PDB-PRECOMP-NEXT: ============================================================
|
| 31 | PDB-PRECOMP-NEXT: Showing 0 records
|
| 32 | PDB-PRECOMP-NEXT: 0x1000 | LF_PRECOMP [size = 60] start index = 0x1000, types count = 0x407, signature = 0x1116980E, precomp path = f:\svn\lld\test\coff\precomp\precomp.obj
|
| 33 |
|
| 34 | PDB-ENDPRECOMP: Precompiled Types (.debug$P)
|
| 35 | PDB-ENDPRECOMP-NEXT: ============================================================
|
| 36 | PDB-ENDPRECOMP-NEXT: Showing 0 records
|
| 37 | PDB-ENDPRECOMP: 0x1407 | LF_ENDPRECOMP [size = 8] signature = 0x1116980E
|
| 38 |
|
| 39 | # // precomp.h
|
| 40 | # #pragma once
|
| 41 | # int Function(char A);
|
| 42 | #
|
| 43 | # // precomp.cpp
|
| 44 | # // cl.exe precomp.cpp /Z7 /Ycprecomp.h /c
|
| 45 | # #include "precomp.h"
|
| 46 | #
|
| 47 | # // a.cpp
|
| 48 | # #include "precomp.h"
|
| 49 | # int main(void) {
|
| 50 | # Function('a');
|
| 51 | # return 0;
|
| 52 | # }
|
| 53 | #
|
| 54 | # // cl.exe a.cpp /Z7 /Yuprecomp.h /c
|
| 55 | #
|
| 56 | # // obj2yaml precomp.obj >precomp-precomp.yaml
|
| 57 | # // obj2yaml a.obj >precomp-a.yaml
|