diff options
author | Zachary Turner <zturner@google.com> | 2017-04-24 17:47:24 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2017-04-24 17:47:24 +0000 |
commit | 1690164cac96cf3670f380a74b27443c71b6a32e (patch) | |
tree | 199cc2fd16d66ae9664d50afbfdf01eb536276a5 /llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp | |
parent | cadadabb7664407be7553363e1a580f92d681548 (diff) | |
download | bcm5719-llvm-1690164cac96cf3670f380a74b27443c71b6a32e.tar.gz bcm5719-llvm-1690164cac96cf3670f380a74b27443c71b6a32e.zip |
[llvm-pdbdump] Re-write the record layout code to be more resilient.
This reworks the way virtual bases are handled, and also the way
padding is detected across multiple levels of aggregates, producing
a much more accurate result.
llvm-svn: 301203
Diffstat (limited to 'llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp')
-rw-r--r-- | llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp b/llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp index 06c2afc0bc7..d51f64065d6 100644 --- a/llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp +++ b/llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp @@ -124,12 +124,15 @@ cl::opt<bool> Typedefs("typedefs", cl::desc("Display typedef types"), cl::cat(TypeCategory), cl::sub(PrettySubcommand)); cl::opt<ClassSortMode> ClassOrder( "class-order", cl::desc("Class sort order"), cl::init(ClassSortMode::None), - cl::values(clEnumValN(ClassSortMode::None, "none", - "Undefined / no particular sort order"), - clEnumValN(ClassSortMode::Name, "name", "Sort classes by name"), - clEnumValN(ClassSortMode::Size, "size", "Sort classes by size"), - clEnumValN(ClassSortMode::Padding, "padding", - "Sort classes by amount of padding")), + cl::values( + clEnumValN(ClassSortMode::None, "none", + "Undefined / no particular sort order"), + clEnumValN(ClassSortMode::Name, "name", "Sort classes by name"), + clEnumValN(ClassSortMode::Size, "size", "Sort classes by size"), + clEnumValN(ClassSortMode::Padding, "padding", + "Sort classes by amount of padding"), + clEnumValN(ClassSortMode::PaddingPct, "padding-pct", + "Sort classes by percentage of space consumed by padding")), cl::cat(TypeCategory), cl::sub(PrettySubcommand)); cl::opt<ClassDefinitionFormat> ClassFormat( |