[PATCH] D146386: [MS ABI] Fix mangling references to declarations.
Andrey Ali Khan Bolshakov via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 28 14:09:38 PDT 2023
bolshakov-a added inline comments.
================
Comment at: clang/lib/AST/MicrosoftMangle.cpp:1250
+ for (unsigned I = 1, IE = ID->getChainingSize(); I < IE; ++I)
+ mangleSourceName("<unnamed-tag>");
+
----------------
efriedma wrote:
> bolshakov-a wrote:
> > efriedma wrote:
> > > bolshakov-a wrote:
> > > > efriedma wrote:
> > > > > Weird indentation
> > > > I agree. Don't know why clang-format does so. Should I put `clang-format off` here?
> > > If clang-format won't cooperate, you can probably make it figure out what you're doing with something like
> > >
> > > if (const auto *ID = dyn_cast<IndirectFieldDecl>(ND)) {
> > > for (unsigned I = 1, IE = ID->getChainingSize(); I < IE; ++I)
> > > mangleSourceName("<unnamed-tag>");
> > > }
> > It doesn't help. Moreover, clang-format corrupts formatting in this function even without my changes. You can check it by yourself.
> I just tried "clang-format -i" on the file with your patch, and it seems to compute the correct indentation here. This with a source tree and clang-format binary from feb 28 because that's what I had handy... but I don't think anything relevant has changed here?
Running clang-format on the whole file really seems to produce correct formatting... But it is a lot of unrelated changes. Running clang-format only on the `mangleNestedName` function (`--lines=1185:1287` without my changes, `--lines=1242:1349` with my changes) produces bad formatting.
================
Comment at: clang/lib/AST/MicrosoftMangle.cpp:1816
- QualType T = Base.getType();
+ std::stack<char> EntryTypeStack;
+ SmallVector<std::function<void()>, 2> EntryManglers;
----------------
efriedma wrote:
> Please just use SmallVector instead of std::stack.
`std::stack` can be parameterized with container type (`std::stack<char, SmallVector<char, 2>>`). Or it should not be used for some other reason?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D146386/new/
https://reviews.llvm.org/D146386
More information about the cfe-commits
mailing list