[PATCH] D20707: pdbdump: Add -raw-all to enable all -raw-* flags.

Zachary Turner via llvm-commits llvm-commits at lists.llvm.org
Thu May 26 16:15:13 PDT 2016


I don't think raw-all should imply any of the 3 byte dumping options, it
will just be too much data.
On Thu, May 26, 2016 at 3:52 PM Rui Ueyama <ruiu at google.com> wrote:

> ruiu updated this revision to Diff 58709.
> ruiu added a comment.
>
> - Update tests.
>
>
> http://reviews.llvm.org/D20707
>
> Files:
>   test/DebugInfo/PDB/pdbdump-headers.test
>   tools/llvm-pdbdump/llvm-pdbdump.cpp
>
> Index: tools/llvm-pdbdump/llvm-pdbdump.cpp
> ===================================================================
> --- tools/llvm-pdbdump/llvm-pdbdump.cpp
> +++ tools/llvm-pdbdump/llvm-pdbdump.cpp
> @@ -147,6 +147,10 @@
>      DumpSymRecordBytes("raw-sym-record-bytes",
>                         cl::desc("dump CodeView symbol record raw bytes"),
>                         cl::cat(NativeOtions));
> +cl::opt<bool>
> +    RawAll("raw-all",
> +           cl::desc("Implies all other options in 'Native Options'
> category"),
> +           cl::cat(NativeOtions));
>
>  cl::list<std::string>
>      ExcludeTypes("exclude-types",
> @@ -823,6 +827,21 @@
>      opts::Lines = true;
>    }
>
> +  if (opts::RawAll) {
> +    opts::DumpHeaders = true;
> +    opts::DumpModules = true;
> +    opts::DumpModuleFiles = true;
> +    opts::DumpModuleSyms = true;
> +    opts::DumpPublics = true;
> +    opts::DumpStreamSummary = true;
> +    opts::DumpStreamBlocks = true;
> +    opts::DumpSymRecordBytes = true;
> +    opts::DumpTpiRecordBytes = true;
> +    opts::DumpTpiRecords = true;
> +    opts::DumpIpiRecords = true;
> +    opts::DumpIpiRecordBytes = true;
> +  }
> +
>    // When adding filters for excluded compilands and types, we need to
> remember
>    // that these are regexes.  So special characters such as * and \ need
> to be
>    // escaped in the regex.  In the case of a literal \, this means it
> needs to
> Index: test/DebugInfo/PDB/pdbdump-headers.test
> ===================================================================
> --- test/DebugInfo/PDB/pdbdump-headers.test
> +++ test/DebugInfo/PDB/pdbdump-headers.test
> @@ -1,6 +1,9 @@
>  ; RUN: llvm-pdbdump -raw-headers -raw-tpi-records -raw-tpi-record-bytes
> -raw-module-syms \
>  ; RUN:              -raw-sym-record-bytes -raw-publics -raw-module-files
> -raw-stream-name=/names \
> -; RUN:              -raw-stream-summary -raw-ipi-records
> -raw-ipi-record-bytes %p/Inputs/empty.pdb \
> +; RUN:              -raw-stream-summary -raw-stream-blocks
> -raw-ipi-records -raw-ipi-record-bytes \
> +; RUN:              %p/Inputs/empty.pdb \
> +; RUN:              | FileCheck -check-prefix=EMPTY %s
> +; RUN: llvm-pdbdump -raw-all -raw-stream-name=/names %p/Inputs/empty.pdb \
>  ; RUN:              | FileCheck -check-prefix=EMPTY %s
>  ; RUN: llvm-pdbdump -raw-headers -raw-stream-name=/names -raw-modules
> -raw-module-files \
>  ; RUN:              %p/Inputs/big-read.pdb | FileCheck -check-prefix=BIG
> %s
> @@ -37,6 +40,25 @@
>  ; EMPTY-NEXT:   Stream 15: [TPI Hash] (308 bytes)
>  ; EMPTY-NEXT:   Stream 16: [IPI Hash] (68 bytes)
>  ; EMPTY-NEXT: ]
> +; EMPTY-NEXT: StreamBlocks [
> +; EMPTY-NEXT:   Stream 0: [8]
> +; EMPTY-NEXT:   Stream 1: [19]
> +; EMPTY-NEXT:   Stream 2: [18, 17]
> +; EMPTY-NEXT:   Stream 3: [14]
> +; EMPTY-NEXT:   Stream 4: [20]
> +; EMPTY-NEXT:   Stream 5: []
> +; EMPTY-NEXT:   Stream 6: [11]
> +; EMPTY-NEXT:   Stream 7: [13]
> +; EMPTY-NEXT:   Stream 8: [12]
> +; EMPTY-NEXT:   Stream 9: []
> +; EMPTY-NEXT:   Stream 10: [10]
> +; EMPTY-NEXT:   Stream 11: [15]
> +; EMPTY-NEXT:   Stream 12: [6]
> +; EMPTY-NEXT:   Stream 13: [16]
> +; EMPTY-NEXT:   Stream 14: [7]
> +; EMPTY-NEXT:   Stream 15: [21]
> +; EMPTY-NEXT:   Stream 16: [22]
> +; EMPTY-NEXT: ]
>  ; EMPTY-NEXT: PDB Stream {
>  ; EMPTY-NEXT:   Version: 20000404
>  ; EMPTY-NEXT:   Signature: 0x54E507E2
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160526/ef81a7da/attachment-0001.html>


More information about the llvm-commits mailing list