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 [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
