1 2 3 4 5 6 7 8 9 10 11 12 13
/* nodiscard attribute tests */ /* { dg-do compile { target c++20 } } */ /* { dg-options "-O" } */ struct A { [[nodiscard("bad constructor")]] A() {} }; struct B { [[nodiscard]] B() {} }; void test (void) { A{}; /* { dg-warning "nodiscard\[^\n\r]*bad constructor" } */ B{}; /* { dg-warning "nodiscard" } */ }