/* 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" } */ }