On Fri, Feb 24, 2023 at 12:15:04PM +0000, Richard Biener wrote: > > > Also, I think it needs to be MAX (N, 2) instead of N, because auto_vec > > > ctors use MAX (N, 2). We could also change all those to MAX (N, 1) > > > now, but it can't be N because m_data[sizeof (T) * 0] is invalid in > > > standard C. > > I've removed the MAX (N, 2) now, I think that N == 0 cannot happen > because we have a specialization covering that. So we know N is > at least 1.
I think you're right. > > > Anyway, I wonder if you get the -Werror=stringop-overflow= errors during > > > bootstrap that I got with my version or not. > > Yes, I get this as well, not sure how to suppress it. I guess there's > no standard way to get at the address after some object without going > through uintptr obfuscation - and obviously we do not want to have > that (and if we optimize it away that doesn't help the diagnostic ...) I think we need to look at the exact IL on which it warns and see what our options are. Jakub