shafik created this revision. shafik added reviewers: aaron.ballman, rsmith, teemperor. Herald added a subscriber: arphaman. shafik requested review of this revision. Herald added a reviewer: jdoerfert. Herald added a subscriber: sstefan1.
Currently `TypePrinter` lumps anonymous classes and unnamed classes in one group `"anonymous"` this is not correct and can be confusing in some contexts. e.g. LLDB SBType <https://lldb.llvm.org/python_reference/lldb.SBType-class.html> provides an `IsAnonymousType()` function but when displaying the type we see conflicting information, given: struct A { struct { int x; }; // A struct { int y; } B; }; int main() { A a1; //... } we get the following in LLDB: (lldb) script var = lldb.frame.FindVariable("a1") (lldb) script print(var.GetChildAtIndex(0).GetType().IsAnonymousType()) True (lldb) script print(var.GetChildAtIndex(1).GetType().IsAnonymousType()) False (lldb) script print(var.GetChildAtIndex(0).GetType().GetName()) A::(anonymous struct) (lldb) script print(var.GetChildAtIndex(1).GetType().GetName()) A::(anonymous struct) https://reviews.llvm.org/D96807 Files: clang/lib/AST/TypePrinter.cpp clang/test/AST/ast-dump-decl-json.c clang/test/AST/ast-dump-openmp-cancel.c clang/test/AST/ast-dump-openmp-cancellation-point.c clang/test/AST/ast-dump-openmp-distribute-parallel-for-simd.c clang/test/AST/ast-dump-openmp-distribute-parallel-for.c clang/test/AST/ast-dump-openmp-distribute-simd.c clang/test/AST/ast-dump-openmp-distribute.c clang/test/AST/ast-dump-openmp-for-simd.c clang/test/AST/ast-dump-openmp-for.c clang/test/AST/ast-dump-openmp-ordered.c clang/test/AST/ast-dump-openmp-parallel-for-simd.c clang/test/AST/ast-dump-openmp-parallel-for.c clang/test/AST/ast-dump-openmp-parallel-sections.c clang/test/AST/ast-dump-openmp-parallel.c clang/test/AST/ast-dump-openmp-section.c clang/test/AST/ast-dump-openmp-sections.c clang/test/AST/ast-dump-openmp-simd.c clang/test/AST/ast-dump-openmp-single.c clang/test/AST/ast-dump-openmp-target-data.c clang/test/AST/ast-dump-openmp-target-enter-data.c clang/test/AST/ast-dump-openmp-target-exit-data.c clang/test/AST/ast-dump-openmp-target-parallel-for-simd.c clang/test/AST/ast-dump-openmp-target-parallel-for.c clang/test/AST/ast-dump-openmp-target-parallel.c clang/test/AST/ast-dump-openmp-target-simd.c clang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for-simd.c clang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for.c clang/test/AST/ast-dump-openmp-target-teams-distribute-simd.c clang/test/AST/ast-dump-openmp-target-teams-distribute.c clang/test/AST/ast-dump-openmp-target-teams.c clang/test/AST/ast-dump-openmp-target-update.c clang/test/AST/ast-dump-openmp-target.c clang/test/AST/ast-dump-openmp-task.c clang/test/AST/ast-dump-openmp-taskgroup.c clang/test/AST/ast-dump-openmp-taskloop-simd.c clang/test/AST/ast-dump-openmp-taskloop.c clang/test/AST/ast-dump-openmp-teams-distribute-parallel-for-simd.c clang/test/AST/ast-dump-openmp-teams-distribute-parallel-for.c clang/test/AST/ast-dump-openmp-teams-distribute-simd.c clang/test/AST/ast-dump-openmp-teams-distribute.c clang/test/AST/ast-dump-openmp-teams.c clang/test/AST/ast-dump-records-json.cpp clang/test/AST/ast-dump-records.c clang/test/AST/ast-dump-records.cpp clang/test/AST/ast-dump-stmt-json.m clang/test/ASTMerge/struct/test.c clang/test/Analysis/cfg.cpp clang/test/Analysis/padding_c.c clang/test/Index/print-type.c clang/test/Layout/ms-x86-alias-avoidance-padding.cpp clang/test/PCH/stmt-openmp_structured_block-bit.cpp clang/test/Sema/assign.c clang/test/SemaCXX/condition.cpp lldb/test/Shell/SymbolFile/DWARF/clang-ast-from-dwarf-unamed-and-anon-structs.cpp lldb/test/Shell/SymbolFile/DWARF/debug-types-missing-signature.test _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits