This XFAILs the bogus diagnostic test and rectifies the expectation
on the optimization.
2021-11-10 Richard Biener <rguenther@suse.de>
PR testsuite/102690
* g++.dg/warn/Warray-bounds-16.C: XFAIL diagnostic part
and optimization.
(cherry picked from commit
b2cd32b743ba440e75505ce30c6b5c592ed144ea)
p = (int*) new unsigned char [sizeof (int) * m];
for (int i = 0; i < m; i++)
- new (p + i) int ();
+ new (p + i) int (); /* { dg-bogus "bounds" "pr102690" { xfail *-*-* } } */
}
};
S a (0);
-/* Verify the loop has been eliminated.
- { dg-final { scan-tree-dump-not "goto" "optimized" } } */
+/* The loop cannot be eliminated since the global 'new' can change 'm'. */
+/* { dg-final { scan-tree-dump-not "goto" "optimized" { xfail *-*-* } } } */