[PATCH] D69950: Reapply "Fix crash on switch conditions of non-integer types in templates"
Elizabeth Andrews via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Dec 5 09:46:07 PST 2019
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
More information about the cfe-commits
mailing list