diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 4e51b3d1f301..ddc30f80aba5 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2011-10-31 Jason Merrill + + * include/Makefile.am (install-freestanding-headers): Install + c++0x_warning.h. + * libsupc++/initializer_list: Include it. + 2011-10-31 Gerald Pfeifer * acinclude.m4 (GLIBCXX_CONFIGURE): Refer to GNU/Linux. diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am index 02deefc72228..74acbf0c88ab 100644 --- a/libstdc++-v3/include/Makefile.am +++ b/libstdc++-v3/include/Makefile.am @@ -1201,8 +1201,10 @@ endif # are installed by libsupc++, so only the first four and the sub-includes # are copied here. install-freestanding-headers: - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir} + $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/bits $(mkinstalldirs) $(DESTDIR)${host_installdir} + $(INSTALL_DATA) ${glibcxx_srcdir}/include/bits/c++0x_warning.h \ + $(DESTDIR)${gxx_include_dir}/bits for file in ${host_srcdir}/os_defines.h ${host_builddir}/c++config.h \ ${glibcxx_srcdir}/$(ABI_TWEAKS_SRCDIR)/cxxabi_tweaks.h \ ${glibcxx_srcdir}/$(CPU_DEFINES_SRCDIR)/cpu_defines.h; do \ diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in index e3e75a005119..8b805ba9acbf 100644 --- a/libstdc++-v3/include/Makefile.in +++ b/libstdc++-v3/include/Makefile.in @@ -1586,8 +1586,10 @@ ${pch3_output}: ${pch3_source} ${pch2_output} # are installed by libsupc++, so only the first four and the sub-includes # are copied here. install-freestanding-headers: - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir} + $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/bits $(mkinstalldirs) $(DESTDIR)${host_installdir} + $(INSTALL_DATA) ${glibcxx_srcdir}/include/bits/c++0x_warning.h \ + $(DESTDIR)${gxx_include_dir}/bits for file in ${host_srcdir}/os_defines.h ${host_builddir}/c++config.h \ ${glibcxx_srcdir}/$(ABI_TWEAKS_SRCDIR)/cxxabi_tweaks.h \ ${glibcxx_srcdir}/$(CPU_DEFINES_SRCDIR)/cpu_defines.h; do \ diff --git a/libstdc++-v3/include/bits/algorithmfwd.h b/libstdc++-v3/include/bits/algorithmfwd.h index cc0b98ed7d28..fbec55d0c36f 100644 --- a/libstdc++-v3/include/bits/algorithmfwd.h +++ b/libstdc++-v3/include/bits/algorithmfwd.h @@ -35,7 +35,9 @@ #include #include #include +#ifdef __GXX_EXPERIMENTAL_CXX0X__ #include +#endif namespace std _GLIBCXX_VISIBILITY(default) { diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h index 5708194bd012..0edb8b2f8df0 100644 --- a/libstdc++-v3/include/bits/basic_string.h +++ b/libstdc++-v3/include/bits/basic_string.h @@ -40,7 +40,9 @@ #include #include +#ifdef __GXX_EXPERIMENTAL_CXX0X__ #include +#endif namespace std _GLIBCXX_VISIBILITY(default) { diff --git a/libstdc++-v3/include/bits/forward_list.h b/libstdc++-v3/include/bits/forward_list.h index c80ee5087572..0fc8323767ba 100644 --- a/libstdc++-v3/include/bits/forward_list.h +++ b/libstdc++-v3/include/bits/forward_list.h @@ -33,7 +33,9 @@ #pragma GCC system_header #include +#ifdef __GXX_EXPERIMENTAL_CXX0X__ #include +#endif namespace std _GLIBCXX_VISIBILITY(default) { diff --git a/libstdc++-v3/include/bits/stl_bvector.h b/libstdc++-v3/include/bits/stl_bvector.h index bddecb0d4c51..8f286400aec7 100644 --- a/libstdc++-v3/include/bits/stl_bvector.h +++ b/libstdc++-v3/include/bits/stl_bvector.h @@ -57,7 +57,9 @@ #ifndef _STL_BVECTOR_H #define _STL_BVECTOR_H 1 +#ifdef __GXX_EXPERIMENTAL_CXX0X__ #include +#endif namespace std _GLIBCXX_VISIBILITY(default) { diff --git a/libstdc++-v3/include/bits/stl_deque.h b/libstdc++-v3/include/bits/stl_deque.h index 17ea01a96e9b..b92491793567 100644 --- a/libstdc++-v3/include/bits/stl_deque.h +++ b/libstdc++-v3/include/bits/stl_deque.h @@ -60,7 +60,9 @@ #include #include #include +#ifdef __GXX_EXPERIMENTAL_CXX0X__ #include +#endif namespace std _GLIBCXX_VISIBILITY(default) { diff --git a/libstdc++-v3/include/bits/stl_list.h b/libstdc++-v3/include/bits/stl_list.h index 56ee2fbfd2e4..fc1d8f8c6ea8 100644 --- a/libstdc++-v3/include/bits/stl_list.h +++ b/libstdc++-v3/include/bits/stl_list.h @@ -58,7 +58,9 @@ #define _STL_LIST_H 1 #include +#ifdef __GXX_EXPERIMENTAL_CXX0X__ #include +#endif namespace std _GLIBCXX_VISIBILITY(default) { diff --git a/libstdc++-v3/include/bits/stl_map.h b/libstdc++-v3/include/bits/stl_map.h index 889e52b388a9..45824f04079f 100644 --- a/libstdc++-v3/include/bits/stl_map.h +++ b/libstdc++-v3/include/bits/stl_map.h @@ -59,7 +59,9 @@ #include #include +#ifdef __GXX_EXPERIMENTAL_CXX0X__ #include +#endif namespace std _GLIBCXX_VISIBILITY(default) { diff --git a/libstdc++-v3/include/bits/stl_multimap.h b/libstdc++-v3/include/bits/stl_multimap.h index 6b74558948c2..fd5a5a8cffba 100644 --- a/libstdc++-v3/include/bits/stl_multimap.h +++ b/libstdc++-v3/include/bits/stl_multimap.h @@ -58,7 +58,9 @@ #define _STL_MULTIMAP_H 1 #include +#ifdef __GXX_EXPERIMENTAL_CXX0X__ #include +#endif namespace std _GLIBCXX_VISIBILITY(default) { diff --git a/libstdc++-v3/include/bits/stl_multiset.h b/libstdc++-v3/include/bits/stl_multiset.h index 8b25a9754804..ab467c80dc31 100644 --- a/libstdc++-v3/include/bits/stl_multiset.h +++ b/libstdc++-v3/include/bits/stl_multiset.h @@ -58,7 +58,9 @@ #define _STL_MULTISET_H 1 #include +#ifdef __GXX_EXPERIMENTAL_CXX0X__ #include +#endif namespace std _GLIBCXX_VISIBILITY(default) { diff --git a/libstdc++-v3/include/bits/stl_set.h b/libstdc++-v3/include/bits/stl_set.h index b30966a22922..18fd1176a132 100644 --- a/libstdc++-v3/include/bits/stl_set.h +++ b/libstdc++-v3/include/bits/stl_set.h @@ -58,7 +58,9 @@ #define _STL_SET_H 1 #include +#ifdef __GXX_EXPERIMENTAL_CXX0X__ #include +#endif namespace std _GLIBCXX_VISIBILITY(default) { diff --git a/libstdc++-v3/include/bits/stl_vector.h b/libstdc++-v3/include/bits/stl_vector.h index 869bcf744893..9b7b698925ff 100644 --- a/libstdc++-v3/include/bits/stl_vector.h +++ b/libstdc++-v3/include/bits/stl_vector.h @@ -60,7 +60,9 @@ #include #include #include +#ifdef __GXX_EXPERIMENTAL_CXX0X__ #include +#endif namespace std _GLIBCXX_VISIBILITY(default) { diff --git a/libstdc++-v3/include/ext/vstring.h b/libstdc++-v3/include/ext/vstring.h index 8e825e055d09..5720daf39197 100644 --- a/libstdc++-v3/include/ext/vstring.h +++ b/libstdc++-v3/include/ext/vstring.h @@ -32,7 +32,10 @@ #pragma GCC system_header +#ifdef __GXX_EXPERIMENTAL_CXX0X__ #include +#endif + #include #include #include diff --git a/libstdc++-v3/include/std/valarray b/libstdc++-v3/include/std/valarray index 3b155c525d85..a159aab51aeb 100644 --- a/libstdc++-v3/include/std/valarray +++ b/libstdc++-v3/include/std/valarray @@ -39,7 +39,9 @@ #include #include #include +#ifdef __GXX_EXPERIMENTAL_CXX0X__ #include +#endif namespace std _GLIBCXX_VISIBILITY(default) { diff --git a/libstdc++-v3/libsupc++/initializer_list b/libstdc++-v3/libsupc++/initializer_list index 0dc8ae90f066..0e2c58a43ae4 100644 --- a/libstdc++-v3/libsupc++/initializer_list +++ b/libstdc++-v3/libsupc++/initializer_list @@ -32,7 +32,9 @@ #pragma GCC system_header -#ifdef __GXX_EXPERIMENTAL_CXX0X__ +#ifndef __GXX_EXPERIMENTAL_CXX0X__ +# include +#endif // C++0x #pragma GCC visibility push(default) @@ -99,5 +101,4 @@ namespace std } #pragma GCC visibility pop -#endif // C++0x #endif // _INITIALIZER_LIST diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc index 60f5008d6903..006041dc5f78 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc @@ -18,7 +18,7 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1668 } +// { dg-error "no matching" "" { target *-*-* } 1670 } #include diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc index 2d84537e30a9..c7ed29a21048 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc @@ -18,7 +18,7 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1601 } +// { dg-error "no matching" "" { target *-*-* } 1603 } #include diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc index 2329a32a4d25..e390f44b565c 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc @@ -18,7 +18,7 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1601 } +// { dg-error "no matching" "" { target *-*-* } 1603 } #include #include diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc index 631d76c4aa63..ed81d582fdff 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc @@ -18,7 +18,7 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1752 } +// { dg-error "no matching" "" { target *-*-* } 1754 } #include diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc index 7dd46e1fb484..774c728ddab3 100644 --- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc @@ -1,6 +1,6 @@ // { dg-do compile } // { dg-options "-std=gnu++0x" } -// { dg-error "no matching" "" { target *-*-* } 1211 } +// { dg-error "no matching" "" { target *-*-* } 1213 } // Copyright (C) 2009, 2010, 2011 Free Software Foundation // diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc index e8e4d5700190..e19698d61405 100644 --- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc @@ -1,6 +1,6 @@ // { dg-do compile } // { dg-options "-std=gnu++0x" } -// { dg-error "no matching" "" { target *-*-* } 1211 } +// { dg-error "no matching" "" { target *-*-* } 1213 } // Copyright (C) 2009, 2010, 2011 Free Software Foundation // diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc index 0ea7d2b73359..1d7fdb8a2a33 100644 --- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc @@ -1,6 +1,6 @@ // { dg-do compile } // { dg-options "-std=gnu++0x" } -// { dg-error "no matching" "" { target *-*-* } 1211 } +// { dg-error "no matching" "" { target *-*-* } 1213 } // Copyright (C) 2009, 2010, 2011 Free Software Foundation // diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc index 8d7844cabe4d..12dd38e76e4e 100644 --- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc @@ -1,6 +1,6 @@ // { dg-do compile } // { dg-options "-std=gnu++0x" } -// { dg-error "no matching" "" { target *-*-* } 1211 } +// { dg-error "no matching" "" { target *-*-* } 1213 } // Copyright (C) 2009, 2010, 2011 Free Software Foundation // diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc index 974821f0e529..6349ea2ca4e3 100644 --- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc @@ -18,7 +18,7 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1549 } +// { dg-error "no matching" "" { target *-*-* } 1551 } #include diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc index 6683e78062d2..12f28fffd0f4 100644 --- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc @@ -18,7 +18,7 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1505 } +// { dg-error "no matching" "" { target *-*-* } 1507 } #include diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc index f3e70098ea0f..05993340af9b 100644 --- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc @@ -18,7 +18,7 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1505 } +// { dg-error "no matching" "" { target *-*-* } 1507 } #include #include diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc index 7e19c4205dc8..22acf3ad82d3 100644 --- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc @@ -18,7 +18,7 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1505 } +// { dg-error "no matching" "" { target *-*-* } 1507 } #include diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc index 00d18b74fd5a..1855fddafbd3 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc @@ -18,7 +18,7 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1223 } +// { dg-error "no matching" "" { target *-*-* } 1225 } #include diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc index 34c2ed1c6a84..9c05486e35b8 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc @@ -18,7 +18,7 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1153 } +// { dg-error "no matching" "" { target *-*-* } 1155 } #include diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc index 563def0e6664..152393c15dca 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc @@ -18,7 +18,7 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1153 } +// { dg-error "no matching" "" { target *-*-* } 1155 } #include #include diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc index fec41a39fdbf..f44ae63eb99d 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc @@ -18,7 +18,7 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1264 } +// { dg-error "no matching" "" { target *-*-* } 1266 } #include