aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2019-06-06 16:34:56 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2019-06-06 16:34:56 +0100
commitbeb0086f592563ddd2b14444d4e2495b17b1d4bf (patch)
tree52e05cb8ed1b2cfac025a2012728c4fa8b8f6a8c /libstdc++-v3
parentad60f42883a5641d4d8e7f5e9017b473cec29f93 (diff)
downloadgcc-beb0086f592563ddd2b14444d4e2495b17b1d4bf.zip
gcc-beb0086f592563ddd2b14444d4e2495b17b1d4bf.tar.gz
gcc-beb0086f592563ddd2b14444d4e2495b17b1d4bf.tar.bz2
Avoid unnecessary inclusion of <stdexcept> header
This can greatly reduce the amount of preprocessed code that is included by other headers, because <stdexcept> depends on <string> which is huge. * include/std/array: Do not include <stdexcept>. * include/std/optional: Include <exception> and <bits/exception_defines.h> instead of <stdexcept>. * testsuite/20_util/function_objects/searchers.cc: Include <cctype> for std::isalnum. * testsuite/20_util/tuple/cons/deduction.cc: Include <memory> for std::allocator. * testsuite/23_containers/map/erasure.cc: Include <string>. * testsuite/23_containers/unordered_map/erasure.cc: Likewise. From-SVN: r272011
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog10
-rw-r--r--libstdc++-v3/include/std/array2
-rw-r--r--libstdc++-v3/include/std/optional4
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/searchers.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/deduction.cc1
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/erasure.cc1
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc1
7 files changed, 17 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index f1294f0..39f8b0e 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,15 @@
2019-06-06 Jonathan Wakely <jwakely@redhat.com>
+ * include/std/array: Do not include <stdexcept>.
+ * include/std/optional: Include <exception> and
+ <bits/exception_defines.h> instead of <stdexcept>.
+ * testsuite/20_util/function_objects/searchers.cc: Include <cctype>
+ for std::isalnum.
+ * testsuite/20_util/tuple/cons/deduction.cc: Include <memory> for
+ std::allocator.
+ * testsuite/23_containers/map/erasure.cc: Include <string>.
+ * testsuite/23_containers/unordered_map/erasure.cc: Likewise.
+
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Add
dg-prune-output for different C++98 diagnostic.
* testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
diff --git a/libstdc++-v3/include/std/array b/libstdc++-v3/include/std/array
index 02c6f4b..230e2b0 100644
--- a/libstdc++-v3/include/std/array
+++ b/libstdc++-v3/include/std/array
@@ -36,7 +36,7 @@
#else
#include <utility>
-#include <stdexcept>
+#include <bits/functexcept.h>
#include <bits/stl_algobase.h>
#include <bits/range_access.h>
diff --git a/libstdc++-v3/include/std/optional b/libstdc++-v3/include/std/optional
index ae825d3..79cd6c9 100644
--- a/libstdc++-v3/include/std/optional
+++ b/libstdc++-v3/include/std/optional
@@ -35,10 +35,10 @@
#include <utility>
#include <type_traits>
-#include <stdexcept>
+#include <exception>
#include <new>
#include <initializer_list>
-#include <bits/functexcept.h>
+#include <bits/exception_defines.h>
#include <bits/functional_hash.h>
#include <bits/enable_special_members.h>
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/searchers.cc b/libstdc++-v3/testsuite/20_util/function_objects/searchers.cc
index aae21d2..fc27886 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/searchers.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/searchers.cc
@@ -19,6 +19,7 @@
#include <functional>
#include <cstring>
+#include <cctype>
#ifdef _GLIBCXX_USE_WCHAR_T
# include <cwchar>
#endif
diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/deduction.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/deduction.cc
index fa91f8f..eb3f2f3 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/cons/deduction.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/cons/deduction.cc
@@ -19,6 +19,7 @@
// <http://www.gnu.org/licenses/>.
#include <tuple>
+#include <memory>
template<typename T, typename U> struct require_same;
template<typename T> struct require_same<T, T> { using type = void; };
diff --git a/libstdc++-v3/testsuite/23_containers/map/erasure.cc b/libstdc++-v3/testsuite/23_containers/map/erasure.cc
index d8a5716..5b211c3 100644
--- a/libstdc++-v3/testsuite/23_containers/map/erasure.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/erasure.cc
@@ -19,6 +19,7 @@
// <http://www.gnu.org/licenses/>.
#include <map>
+#include <string>
#include <testsuite_hooks.h>
#ifndef __cpp_lib_erase_if
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc
index 35190a0..17bb940 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc
@@ -19,6 +19,7 @@
// <http://www.gnu.org/licenses/>.
#include <unordered_map>
+#include <string>
#include <testsuite_hooks.h>
#ifndef __cpp_lib_erase_if