eandrews added a comment.

In D69950#1770138 <https://reviews.llvm.org/D69950#1770138>, @mstorsjo wrote:

> This (when reapplied in 
> https://reviews.llvm.org/rG878a24ee244a24c39d1c57e9af2) broke compilation of 
> code that earlier built fine. A reduced example:
>
>   namespace glslang {
>   class TPoolAllocator {
>     void operator=(TPoolAllocator);
>   };
>   template <class> class a {
>     TPoolAllocator *b;
>     void c() { allocator = *b; }
>     TPoolAllocator allocator;
>   };
>   } // namespace glslang
>


With this patch, some errors in templates are diagnosed earlier (i.e. does not 
wait till instantiation). Since 'allocator' and 'b' aren't dependent, I think 
this is a valid diagnosis. GCC throws an error on this code upon instantiation. 
https://godbolt.org/z/X9Y-Vy


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D69950



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

Reply via email to