Home | History | Annotate | Download | only in DebugInfo
      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
     58