[PATCH] D26843: Make sizeof expression context partially evaluated
Paulo Matos via cfe-commits
cfe-commits at lists.llvm.org
Fri Nov 18 07:36:08 PST 2016
pmatos added a comment.
In https://reviews.llvm.org/D26843#599673, @EricWF wrote:
> > But that is not valid in C afaik and in C++ I get:
> >
> > error: invalid use of non-static data member 'm'
> > int x = sizeof(T::m);
> > ~~~^
> >
> >
> > Can you post a full reproducible example of what the change breaks?
>
> That is a full reproducible example because it's valid C++. Clang currently compiles it <http://melpon.org/wandbox/permlink/tSMVyoCLPsrKfZ2P>.
But what was in the link was:
typedef struct { int m; } T;
int x = sizeof(T);
int main() {}
This is different from your initial snippet and compiles fine with my patch.
https://reviews.llvm.org/D26843
More information about the cfe-commits
mailing list