aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include
diff options
context:
space:
mode:
authorBenjamin Kosnik <bkoz@redhat.com>2006-09-04 15:41:18 +0000
committerBenjamin Kosnik <bkoz@gcc.gnu.org>2006-09-04 15:41:18 +0000
commit06e744948bac604868ec7bbedf726b8d1a19b9e8 (patch)
tree7f2637fee890ffe0f197fbb576c636fd5787cce5 /libstdc++-v3/include
parent88525e1bd3ae53b899101a20b59703c623f4c571 (diff)
downloadgcc-06e744948bac604868ec7bbedf726b8d1a19b9e8.zip
gcc-06e744948bac604868ec7bbedf726b8d1a19b9e8.tar.gz
gcc-06e744948bac604868ec7bbedf726b8d1a19b9e8.tar.bz2
re PR c++/28871 (massive C++ compile time slowdown)
2006-09-04 Benjamin Kosnik <bkoz@redhat.com> PR c++/28871 * include/ext/bitmap_allocator.h: Add comment for end of anonymous namespace. * include/ext/rope: Same. * include/bits/cpp_type_traits.h: Same. * include/tr1/tuple: Same. * include/tr1/functional_iterate.h: Same. * include/bits/cpp_type_traits.h: Revert anonymous namespace change, use nested detail instead. * testsuite/lib/libstdc++.exp (libstdc++_init): PCHFLAGS revert to stdc++.h. From-SVN: r116680
Diffstat (limited to 'libstdc++-v3/include')
-rw-r--r--libstdc++-v3/include/bits/cpp_type_traits.h30
-rw-r--r--libstdc++-v3/include/ext/bitmap_allocator.h2
-rw-r--r--libstdc++-v3/include/ext/rope2
-rw-r--r--libstdc++-v3/include/tr1/functional_iterate.h2
-rw-r--r--libstdc++-v3/include/tr1/tuple2
5 files changed, 19 insertions, 19 deletions
diff --git a/libstdc++-v3/include/bits/cpp_type_traits.h b/libstdc++-v3/include/bits/cpp_type_traits.h
index f796b0c..a79c1be 100644
--- a/libstdc++-v3/include/bits/cpp_type_traits.h
+++ b/libstdc++-v3/include/bits/cpp_type_traits.h
@@ -83,6 +83,19 @@ struct __false_type { };
_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace detail
+{
+ // NB: g++ can not compile these if declared within the class
+ // __is_pod itself.
+ typedef char __one;
+ typedef char __two[2];
+
+ template<typename _Tp>
+ __one __test_type(int _Tp::*);
+ template<typename _Tp>
+ __two& __test_type(...);
+} // namespace detail
+
template<bool>
struct __truth_type
{ typedef __false_type __type; };
@@ -339,27 +352,14 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
: public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> >
{ };
- // NB: g++ can not compile these if declared within the class
- // __is_pod itself.
- namespace
- {
- typedef char __one;
- typedef char __two[2];
-
- template<typename _Tp>
- __one __test_type(int _Tp::*);
-
- template<typename _Tp>
- __two& __test_type(...);
- }
-
// For the immediate use, the following is a good approximation.
template<typename _Tp>
struct __is_pod
{
enum
{
- __value = (sizeof(__test_type<_Tp>(0)) != sizeof(__one))
+ __value = (sizeof(detail::__test_type<_Tp>(0))
+ != sizeof(detail::__one))
};
};
diff --git a/libstdc++-v3/include/ext/bitmap_allocator.h b/libstdc++-v3/include/ext/bitmap_allocator.h
index 42109b4..0f90307 100644
--- a/libstdc++-v3/include/ext/bitmap_allocator.h
+++ b/libstdc++-v3/include/ext/bitmap_allocator.h
@@ -82,7 +82,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
* else do no use any synchronization primitives.
*/
bool const __threads_enabled = __gthread_active_p();
- }
+ } // anonymous namespace
#endif
#if defined __GTHREADS
diff --git a/libstdc++-v3/include/ext/rope b/libstdc++-v3/include/ext/rope
index 059342f..d24366c 100644
--- a/libstdc++-v3/include/ext/rope
+++ b/libstdc++-v3/include/ext/rope
@@ -71,7 +71,7 @@ namespace
{
enum { _S_max_rope_depth = 45 };
enum _Tag {_S_leaf, _S_concat, _S_substringfn, _S_function};
-}
+} // anonymous namespace
_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
diff --git a/libstdc++-v3/include/tr1/functional_iterate.h b/libstdc++-v3/include/tr1/functional_iterate.h
index 0b08a69..c29e341 100644
--- a/libstdc++-v3/include/tr1/functional_iterate.h
+++ b/libstdc++-v3/include/tr1/functional_iterate.h
@@ -396,7 +396,7 @@ namespace placeholders
namespace
{
_Placeholder<_GLIBCXX_NUM_ARGS> _GLIBCXX_JOIN(_,_GLIBCXX_NUM_ARGS);
-}
+} // anonymous namespace
}
#endif
diff --git a/libstdc++-v3/include/tr1/tuple b/libstdc++-v3/include/tr1/tuple
index 15c944f..bd1a81fa 100644
--- a/libstdc++-v3/include/tr1/tuple
+++ b/libstdc++-v3/include/tr1/tuple
@@ -258,7 +258,7 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
namespace
{
swallow_assign ignore;
- };
+ }; // anonymous namespace
#define _GLIBCXX_CAT(x,y) _GLIBCXX_CAT2(x,y)
#define _GLIBCXX_CAT2(x,y) x##y