junaire added inline comments.
================ Comment at: clang/test/Interpreter/pretty-print.cpp:107 +p2 +// CHECK-NEXT: (std::_MakeUniq<int>::__single_object &) std::unique_ptr -> [[Addr:@0x.*]] + ---------------- junaire wrote: > Hi @mizvekov, do you have a clue about why it doesn't print the correct type? > So in `ValuePrinter.cpp:50` I dumped the type it shows: > ``` > AutoType 0x62d000533c00 'typename _MakeUniq<int>::__single_object' sugar > `-ElaboratedType 0x62d000450500 'typename _MakeUniq<int>::__single_object' > sugar > `-TypedefType 0x62d0004501e0 'std::_MakeUniq<int>::__single_object' sugar > |-Typedef 0x62d000450160 '__single_object' > `-ElaboratedType 0x62d000450100 'unique_ptr<int>' sugar > `-TemplateSpecializationType 0x62d0004500b0 'unique_ptr<int>' sugar > unique_ptr > |-TemplateArgument type 'int':'int' > | `-SubstTemplateTypeParmType 0x62d00044fd50 'int' sugar typename > depth 0 index 0 _Tp > | |-ClassTemplateSpecialization 0x62d00044fa08 '_MakeUniq' > | `-BuiltinType 0x621000019220 'int' > `-RecordType 0x62d000450080 'class std::unique_ptr<int>' > `-ClassTemplateSpecialization 0x62d00044ff70 'unique_ptr' > ``` > > But in Cling it only has the RecordType. Do you think it's affected by your > type resugaring patches? Looks like below diff fixes this: ``` diff --git a/clang/lib/Interpreter/InterpreterUtils.cpp b/clang/lib/Interpreter/InterpreterUtils.cpp index 05e6be0e9df2..da5da55e8e95 100644 --- a/clang/lib/Interpreter/InterpreterUtils.cpp +++ b/clang/lib/Interpreter/InterpreterUtils.cpp @@ -425,7 +425,7 @@ QualType GetFullyQualifiedType(QualType QT, const ASTContext &Ctx) { // Strip deduced types. if (const auto *AutoTy = dyn_cast<AutoType>(QT.getTypePtr())) { if (!AutoTy->getDeducedType().isNull()) - return GetFullyQualifiedType(AutoTy->getDeducedType(), Ctx); + return GetFullyQualifiedType(AutoTy->getDeducedType().getDesugaredType(Ctx), Ctx); } ``` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146809/new/ https://reviews.llvm.org/D146809 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits