Hi!

After recent libstdc++ header changes <functional> no longer includes
(parts of?) <array> and doesn't have to and <memory> no longer includes
(parts of?) <initializer_list>.
This patch fixes:
testsuite/g++.dg/pr71389.C:10:39: error: aggregate 'std::array<std::array<int, 
16>, 16> v13' has incomplete type and cannot be defined
as well as
testsuite/g++.dg/cpp0x/initlist48.C:11:6: error: 'initializer_list' in 
namespace 'std' does not name a template type; did you mean 
'uninitialized_fill'?

Tested on x86_64-linux, committed to trunk as obvious:

2021-07-29  Jakub Jelinek  <ja...@redhat.com>

        PR testsuite/101647
        * g++.dg/pr71389.C: Include <array> instead of <functional>.
        * g++.dg/cpp0x/initlist48.C: Include also <initializer_list>.

--- gcc/testsuite/g++.dg/cpp0x/initlist48.C
+++ gcc/testsuite/g++.dg/cpp0x/initlist48.C
@@ -2,6 +2,7 @@
 // { dg-do compile { target c++11 } }
 
 #include <memory>
+#include <initializer_list>
 
 struct Foo{
     int i;
--- gcc/testsuite/g++.dg/pr71389.C
+++ gcc/testsuite/g++.dg/pr71389.C
@@ -1,7 +1,7 @@
 // { dg-do compile { target i?86-*-* x86_64-*-* } }
 // { dg-options "-std=c++11 -O3 -march=ivybridge" }
 
-#include <functional>
+#include <array>
 
 extern int le_s6, le_s9, le_s11;
 long foo_v14[16][16];


        Jakub

Reply via email to