https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106409
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=80922 Ever confirmed|0 |1 Keywords| |lto Last reconfirmed|2022-07-22 00:00:00 |2023-05-17 Status|UNCONFIRMED |NEW --- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I suspect the issue is for LTO we don't stream out the ignore part . Anyways confirmed, you can reproduce it with the following single file testcase: ``` typedef struct st_mysql_bind { int t; int t1; int t2; int t3; } bb; [[gnu::noipa]] void *f(unsigned long paramCount) { if (paramCount == 0) return nullptr; return new bb[paramCount](); } int main(void) { f(100); } ``` Compile it with `-flto -W -Wall -O2` and see the warning.