From 4c2b10d6a487ab040398152bf5326741432ae762 Mon Sep 17 00:00:00 2001
From: Jonathan Wakely
Date: Tue, 18 Aug 2015 19:04:32 +0100
Subject: [PATCH] re PR libstdc++/67066 (libstdc++-v3/src/filesystem/dir.cc
fails to compile with --enable-concept-checks)
PR libstdc++/67066
* doc/xml/manual/configure.xml (manual.intro.setup.configure): Add
caveats for --enable-concept-checks. Improve link text.
* doc/xml/manual/diagnostics.xml (std.diagnostics.concept_checking):
Clarify caveats.
* doc/html/*: Regenerate.
* include/bits/stl_deque.h (deque): Only use concept checks in C++03.
* include/bits/stl_stack.h (stack): Likewise.
* include/bits/stl_vector.h (vector): Likewise.
From-SVN: r226984
---
libstdc++-v3/ChangeLog | 12 ++++++++++++
libstdc++-v3/doc/html/manual/concept_checking.html | 5 +++--
libstdc++-v3/doc/html/manual/configure.html | 8 +++++---
libstdc++-v3/doc/html/manual/status.html | 2 +-
libstdc++-v3/doc/xml/manual/configure.xml | 8 +++++---
libstdc++-v3/doc/xml/manual/diagnostics.xml | 5 +++--
libstdc++-v3/include/bits/stl_deque.h | 2 ++
libstdc++-v3/include/bits/stl_stack.h | 2 ++
libstdc++-v3/include/bits/stl_vector.h | 2 ++
9 files changed, 35 insertions(+), 11 deletions(-)
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 0753951ef72..fed9a28cb37 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,15 @@
+2015-08-18 Jonathan Wakely
+
+ PR libstdc++/67066
+ * doc/xml/manual/configure.xml (manual.intro.setup.configure): Add
+ caveats for --enable-concept-checks. Improve link text.
+ * doc/xml/manual/diagnostics.xml (std.diagnostics.concept_checking):
+ Clarify caveats.
+ * doc/html/*: Regenerate.
+ * include/bits/stl_deque.h (deque): Only use concept checks in C++03.
+ * include/bits/stl_stack.h (stack): Likewise.
+ * include/bits/stl_vector.h (vector): Likewise.
+
2015-08-14 Jonathan Wakely
* include/experimental/any (any::operator=(const any&)): Move check
diff --git a/libstdc++-v3/doc/html/manual/concept_checking.html b/libstdc++-v3/doc/html/manual/concept_checking.html
index 883eb5a7721..df7f22f7fcd 100644
--- a/libstdc++-v3/doc/html/manual/concept_checking.html
+++ b/libstdc++-v3/doc/html/manual/concept_checking.html
@@ -35,8 +35,9 @@
-D_GLIBCXX_CONCEPT_CHECKS
.
Please note that the checks are based on the requirements in the original
- C++ standard, some of which have changed in the new C++11 revision.
- Additionally, some correct code might be rejected by the concept checks,
+ C++ standard, many of which were relaxed in the C++11 standard and so valid
+ C++11 code may be incorrectly rejected by the concept checks. Additionally,
+ some correct C++03 code might be rejected by the concept checks,
for example template argument types may need to be complete when used in
a template definition, rather than at the point of instantiation.
There are no plans to address these shortcomings.
diff --git a/libstdc++-v3/doc/html/manual/configure.html b/libstdc++-v3/doc/html/manual/configure.html
index 251c70e9da3..565d75e3e25 100644
--- a/libstdc++-v3/doc/html/manual/configure.html
+++ b/libstdc++-v3/doc/html/manual/configure.html
@@ -169,10 +169,12 @@
Mostly useful together with shared memory allocators, see PR
libstdc++/16612 for details.
--enable-concept-checks
This turns on additional compile-time checks for instantiated
- library templates, in the form of specialized templates,
- described here. They
+ library templates, in the form of specialized templates described in
+ the Concept
+ Checking section. They
can help users discover when they break the rules of the STL, before
- their programs run.
+ their programs run. These checks are based on C++03 rules and some of
+ them are not compatible with correct C++11 code.
--enable-symvers[=style]
In 3.1 and later, tries to turn on symbol versioning in the
shared library (if a shared library has been
requested). Values for 'style' that are currently supported
diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html
index 4ec871f1127..9052ce64a0c 100644
--- a/libstdc++-v3/doc/html/manual/status.html
+++ b/libstdc++-v3/doc/html/manual/status.html
@@ -630,4 +630,4 @@ particular release.