testsuite: Expect -Wdeprecated warning in warn/Wstrict-aliasing-bogus-union-2.C for...
authorJakub Jelinek <jakub@redhat.com>
Tue, 7 Feb 2023 09:23:13 +0000 (10:23 +0100)
committerJakub Jelinek <jakub@redhat.com>
Tue, 7 Feb 2023 09:23:13 +0000 (10:23 +0100)
On Mon, Feb 06, 2023 at 02:26:01PM +0000, Jonathan Wakely via Gcc-patches wrote:
> With the recent change to deprecate std::aligned_storage and
> std::aligned_union we need to adjust some tests that now fail with
> -std=c++23.

The g++.dg/warn/Wstrict-aliasing-bogus-union-2.C test is also affected:
PASS: g++.dg/warn/Wstrict-aliasing-bogus-union-2.C  -std=gnu++2b  (test for bogus messages, line 12)
FAIL: g++.dg/warn/Wstrict-aliasing-bogus-union-2.C  -std=gnu++2b (test for excess errors)
Excess errors:
.../gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-union-2.C:8:8: warning: 'template<long unsigned int _Len, long unsigned int _Align> struct std::aligned_storage' is deprecated [-

The following patch adds dg-warning for it.

2023-02-07  Jakub Jelinek  <jakub@redhat.com>

* g++.dg/warn/Wstrict-aliasing-bogus-union-2.C: Expect
-Wdeprecated warning for C++23.

gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-union-2.C

index 2b4895a..e0a27e8 100644 (file)
@@ -5,7 +5,7 @@
 
 struct foo
 {
-  std::aligned_storage<sizeof(long), alignof(long)>::type raw;
+  std::aligned_storage<sizeof(long), alignof(long)>::type raw; /* { dg-warning "deprecated" "" { target c++23 } } */
 
   long& cooked()
     {