[PATCH] D153003: [ODRHash] Fix ODR hashing of template names

Richard Smith - zygoloid via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jun 29 13:51:26 PDT 2023


rsmith added a comment.

In D153003#4458323 <https://reviews.llvm.org/D153003#4458323>, @ChuanqiXu wrote:

> In D153003#4456595 <https://reviews.llvm.org/D153003#4456595>, @rsmith wrote:
>
>> How to we even get into the ODR hasher here? I thought we only applied it to function and class definitions (to which the ODR does apply).
>
> I think this comes from we add ODRHash for  RecordDecl.

The using-declarations in the testcase aren't inside RecordDecls.

Oh, I guess we're somehow adding a semi-resolved form of the base class type of `D` into the ODR hash, which then includes details of the using-declaration. That seems wrong -- we should either (preferably) be including only the syntactic form of the base specifier (because local syntax is what the ODR covers), or the canonical type (which should be the same for both using-declarations).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D153003/new/

https://reviews.llvm.org/D153003



More information about the cfe-commits mailing list