From 53567bbdcabd98fa6776b3ed2e5b5b19b35a417d Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Mon, 7 Dec 2009 14:27:59 +0000 Subject: [PATCH] re PR libstdc++/42319 (incomplete type char_traits if parallel mode is active) 2009-12-07 Paolo Carlini PR libstdc++/42319 * include/parallel/losertree.h: Include bits/stl_function.h instead of the whole . * include/parallel/base.h: Likewise. * include/parallel/numeric: Likewise. * include/parallel/balanced_quicksort.h: Likewise. * include/parallel/checkers.h: Likewise. * testsuite/17_intro/headers/c++200x/42319.cc: New. From-SVN: r155036 --- libstdc++-v3/ChangeLog | 11 ++++++++++ .../include/parallel/balanced_quicksort.h | 2 +- libstdc++-v3/include/parallel/base.h | 4 ++-- libstdc++-v3/include/parallel/checkers.h | 2 +- libstdc++-v3/include/parallel/losertree.h | 3 +-- libstdc++-v3/include/parallel/numeric | 2 +- .../17_intro/headers/c++200x/42319.cc | 22 +++++++++++++++++++ 7 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 libstdc++-v3/testsuite/17_intro/headers/c++200x/42319.cc diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 7a8ab6d7d395..29229d3600e7 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,14 @@ +2009-12-07 Paolo Carlini + + PR libstdc++/42319 + * include/parallel/losertree.h: Include bits/stl_function.h instead + of the whole . + * include/parallel/base.h: Likewise. + * include/parallel/numeric: Likewise. + * include/parallel/balanced_quicksort.h: Likewise. + * include/parallel/checkers.h: Likewise. + * testsuite/17_intro/headers/c++200x/42319.cc: New. + 2009-12-05 Ralf Wildenhues * Makefile.in: Regenerate. diff --git a/libstdc++-v3/include/parallel/balanced_quicksort.h b/libstdc++-v3/include/parallel/balanced_quicksort.h index 4619415a810e..6a6d03f24231 100644 --- a/libstdc++-v3/include/parallel/balanced_quicksort.h +++ b/libstdc++-v3/include/parallel/balanced_quicksort.h @@ -44,12 +44,12 @@ #include #include +#include #include #include #include #include -#include #if _GLIBCXX_ASSERTIONS #include diff --git a/libstdc++-v3/include/parallel/base.h b/libstdc++-v3/include/parallel/base.h index e67134c65340..75a8b75bbaa7 100644 --- a/libstdc++-v3/include/parallel/base.h +++ b/libstdc++-v3/include/parallel/base.h @@ -32,13 +32,13 @@ #ifndef _GLIBCXX_PARALLEL_BASE_H #define _GLIBCXX_PARALLEL_BASE_H 1 -#include +#include +#include #include #include #include #include - // Parallel mode namespaces. /** diff --git a/libstdc++-v3/include/parallel/checkers.h b/libstdc++-v3/include/parallel/checkers.h index 2a977acedf4f..32507fd8c647 100644 --- a/libstdc++-v3/include/parallel/checkers.h +++ b/libstdc++-v3/include/parallel/checkers.h @@ -32,9 +32,9 @@ #ifndef _GLIBCXX_PARALLEL_CHECKERS_H #define _GLIBCXX_PARALLEL_CHECKERS_H 1 -#include #include #include +#include namespace __gnu_parallel { diff --git a/libstdc++-v3/include/parallel/losertree.h b/libstdc++-v3/include/parallel/losertree.h index 425cf6d4b6f2..a1c23e53324e 100644 --- a/libstdc++-v3/include/parallel/losertree.h +++ b/libstdc++-v3/include/parallel/losertree.h @@ -32,9 +32,8 @@ #ifndef _GLIBCXX_PARALLEL_LOSERTREE_H #define _GLIBCXX_PARALLEL_LOSERTREE_H 1 -#include - #include +#include #include #include diff --git a/libstdc++-v3/include/parallel/numeric b/libstdc++-v3/include/parallel/numeric index 6c5607cedc5f..0fc6ddcf2fc7 100644 --- a/libstdc++-v3/include/parallel/numeric +++ b/libstdc++-v3/include/parallel/numeric @@ -39,7 +39,7 @@ #define _GLIBCXX_PARALLEL_NUMERIC_H 1 #include -#include +#include #include #include #include diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++200x/42319.cc b/libstdc++-v3/testsuite/17_intro/headers/c++200x/42319.cc new file mode 100644 index 000000000000..729fca1cbb3a --- /dev/null +++ b/libstdc++-v3/testsuite/17_intro/headers/c++200x/42319.cc @@ -0,0 +1,22 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING3. If not see +// . + +// libstdc++/42319 +#include