AaronBallman wrote:
> > Thanks! However, for the following piece of code
> > `getOriginalDecl()` called on the pointed-to type gives the
> > forward-declaration from the 3rd line, and the forward-declaration from the
> > 1st line for its canonical type.
>
> Yes that is correct.
>
> The 3rd line is what declaration was found by type lookup at that point, and
> the canonical declaration has long been established in clang as the first
> declaration.
The comments in this area are confusing me, FWIW:
```
/// Stores the TagDecl associated with this type. The decl may point to any
/// TagDecl that declares the entity.
TagDecl *decl;
...
TagDecl *getOriginalDecl() const { return decl; }
```
The function is called "get original decl" which implies you get the first
declaration seen in the TU, but the data member it returns has a comment saying
it may point to any declaration in the redeclaration chain. One of these is
wrong, correct?
https://github.com/llvm/llvm-project/pull/147835
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits