aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/acinclude.m4
diff options
context:
space:
mode:
authorPhil Edwards <pme@gcc.gnu.org>2001-11-01 15:46:48 +0000
committerPhil Edwards <pme@gcc.gnu.org>2001-11-01 15:46:48 +0000
commit4d16bdbbf65dc1c75e80887eb4fcb418f91e56b7 (patch)
treeaa55ff5e180aa3c1a2053c66b0ce396ae67ab5d5 /libstdc++-v3/acinclude.m4
parent93cacb72d049165e92864ef505cf2f936cc33af3 (diff)
downloadgcc-4d16bdbbf65dc1c75e80887eb4fcb418f91e56b7.zip
gcc-4d16bdbbf65dc1c75e80887eb4fcb418f91e56b7.tar.gz
gcc-4d16bdbbf65dc1c75e80887eb4fcb418f91e56b7.tar.bz2
re PR libstdc++/3666 (Invalid concept-checking code.)
2001-11-01 Phil Edwards <pme@gcc.gnu.org> * acinclude.m4: Fix spacing. (GLIBCPP_ENABLE_CONCEPT_CHECKS): New macro. * configure.in: Call here. * acconfig.h: Add _GLIBCPP_CONCEPT_CHECKS. * include/bits/boost_concept_check.h: Fix headers. (__function_requires): Make inline. * include/bits/c++config (_GLIBCPP_CONCEPT_CHECKS): Remove. * aclocal.m4: Regenerate. * config.h.in: Regenerate. * configure: Regenerate. Move trailing ';' inside macro, PR libstdc++/3666. * include/bits/concept_check.h: Add semicolon. * include/bits/stl_algo.h: Remove semicolon. * include/bits/stl_algobase.h: Likewise. * include/bits/stl_deque.h: Likewise. * include/bits/stl_heap.h: Likewise. * include/bits/stl_iterator_base_funcs.h: Likewise. * include/bits/stl_list.h: Likewise. * include/bits/stl_map.h: Likewise. * include/bits/stl_multimap.h: Likewise. * include/bits/stl_multiset.h: Likewise. * include/bits/stl_numeric.h: Likewise. * include/bits/stl_queue.h: Likewise. * include/bits/stl_set.h: Likewise. * include/bits/stl_stack.h: Likewise. * include/bits/stl_vector.h: Likewise. * include/ext/hash_map: Likewise. * include/ext/hash_set: Likewise. * include/ext/slist: Likewise. * src/concept-inst.cc: New file with explicit instantiations. * src/Makefile.am (sources): Add here, with special build rules. * src/Makefile.in: Regenerate. From-SVN: r46697
Diffstat (limited to 'libstdc++-v3/acinclude.m4')
-rw-r--r--libstdc++-v3/acinclude.m431
1 files changed, 30 insertions, 1 deletions
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index 803af90..1f5eedc 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -1355,7 +1355,7 @@ AC_DEFUN(GLIBCPP_ENABLE_C99, [dnl
AC_ARG_ENABLE(c99,
changequote(<<, >>)dnl
- <<--enable-c99 turns on 'ISO/IEC 9899:1999 support' [default=>>GLIBCPP_ENABLE_C99_DEFAULT],
+ <<--enable-c99 turns on 'ISO/IEC 9899:1999 support' [default=>>GLIBCPP_ENABLE_C99_DEFAULT],
changequote([, ])dnl
[case "$enableval" in
yes) enable_c99=yes ;;
@@ -1922,3 +1922,32 @@ AC_DEFUN(AC_LC_MESSAGES, [
])
])
+
+dnl
+dnl Check for whether the Boost-derived checks should be turned on.
+dnl
+dnl GLIBCPP_ENABLE_CONCEPT_CHECKS
+dnl --enable-concept-checks turns them on.
+dnl --disable-concept-checks leaves them off.
+dnl + Usage: GLIBCPP_ENABLE_CONCEPT_CHECKS[(DEFAULT)]
+dnl Where DEFAULT is either `yes' or `no'. If ommitted, it
+dnl defaults to `no'.
+AC_DEFUN(GLIBCPP_ENABLE_CONCEPT_CHECKS, [dnl
+define([GLIBCPP_ENABLE_CONCEPT_CHECKS_DEFAULT], ifelse($1, yes, yes, no))dnl
+AC_ARG_ENABLE(concept-checks,
+changequote(<<, >>)dnl
+<< --enable-concept-checks use Boost-derived template checks [default=>>GLIBCPP_ENABLE_CONCEPT_CHECKS_DEFAULT],
+changequote([, ])dnl
+[case "$enableval" in
+ yes) enable_concept_checks=yes ;;
+ no) enable_concept_checks=no ;;
+ *) AC_MSG_ERROR([Unknown argument to enable/disable concept checks]) ;;
+ esac],
+enable_concept_checks=GLIBCPP_ENABLE_CONCEPT_CHECKS_DEFAULT)dnl
+dnl Option parsed, now set things appropriately
+if test x"$enable_concept_checks" = xyes; then
+ AC_DEFINE(_GLIBCPP_CONCEPT_CHECKS)
+fi
+])
+
+