rjmccall added a comment.

In https://reviews.llvm.org/D52339#1242241, @aaron.ballman wrote:

> In https://reviews.llvm.org/D52339#1242202, @erik.pilkington wrote:
>
> > From the last line in the paper, it seems that C++ compatibility is a goal 
> > of the paper (or at least a consideration). We should probably think about 
> > this if/when the final wording gets accepted though.
>
>
> Agreed. WG14's charter explicitly prefers compatibility with C++ when 
> possible.
>
> The part that I wasn't quite sure on were the type constraints in the 
> proposal. C++ allows any integral type and ignores cv qualifiers, but the 
> proposal lists specific types and doesn't discuss qualifiers. By my reading, 
> this is code allowed in C++ but prohibited in the proposed wording:
>
>   enum E : const int32_t {
>     One
>   };
>
>
> (Because the type is int32_t and is cv-qualified.) However, it's possible 
> that's an oversight rather than an intentional design. I'll bring it up with 
> Clive to see, but perhaps we can spot other divergences and can provide him 
> with a list of concerns on the implementation side.


Not accepting `typedef`s would be negligence on behalf of the committee, since 
generally people use this feature specifically to control the size of the 
`enum`, which you can't do portably without a `typedef`.  Not accepting 
qualified types is a justifiable decision.

There's no reason to make this an `ObjC2`-only feature; we should probably 
eliminate that distinction throughout the compiler.


Repository:
  rC Clang

https://reviews.llvm.org/D52339



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

Reply via email to