Hi! On Sun, Dec 09, 2018 at 12:05:06PM +0100, Jakub Jelinek wrote: > The following testcase ICEs starting with my change to move offsetof-like > expression handling from the parsing to cp_fold - if the base expression > is not INTEGER_CST, but a constant VAR_DECL initialized with INTEGER_CST, > then we don't fold it as offsetof-like expression and as we use recursive > cp_fold only on functions, not initializers, we don't fold that VAR_DECL in > there into INTEGER_CST and the middle-end ICEs on it trying to fold it. > > Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok for > trunk? > > 2018-12-09 Jakub Jelinek <ja...@redhat.com> > > PR c++/88410 > * cp-gimplify.c (cp_fold) <case ADDR_EXPR>: For offsetof-like folding, > call maybe_constant_value on val to see if it is INTEGER_CST. > > * g++.dg/cpp0x/pr88410.C: New test.
I'd like to ping this patch. Thanks. Jakub