dblaikie added a comment.

In D138247#4217189 <https://reviews.llvm.org/D138247#4217189>, @efriedma wrote:

> The relevant text of the current Itanium ABI (which was updated in 
> https://github.com/itanium-cxx-abi/cxx-abi/commit/d8e9d102c83f177970f0db6cc8bee170f2779bc1)
>
>> In the following contexts, however, the one-definition rule requires closure 
>> types in different translation units to "correspond":
>>
>> - default arguments appearing in class definitions
>> - default member initializers
>> - the bodies of inline or templated functions
>> - the initializers of inline or templated variables
>
> Could you update the references to the ABI document to use the new text?

Oh, yeah - good call. Done.

> Given the new rules, I think ContextKind::StaticDataMember shouldn't exist?  
> It's not one of the given categories; should be subsumed by the existing 
> categories.

Fair - I assume the "initializers of inline or templated variables" is intended 
to cover the case of static member variables of class templates, though they 
aren't technically variable templates presumably they are "templated variables".

So I renamed the `VariableTemplate` kind to `TemplatedVariable` to match the 
ABI wording/semantics a bit better.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D138247

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to