From: Antonio Quartulli <a...@unstable.cc> Date: Wed, 20 May 2020 10:39:33 +0200
> I don't think it's BUILD_BUG_ON()'s fault, because qcb->data is passed > to sizeof() first. > > My best guess is that gcc is somewhat optimizing the sizeof(gcb->data) > and thus leaving the gcb variable unused. If you remove the argument from the function but leave the BUILD_BUG_ON() calls the same, the compilation will fail. Any such optimization is therefore unreasonable. The variable is used otherwise compilation would not fail when you remove it right?