+2007-12-10 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * docs/html/17_intro/backwards_compatibility.html: Fix markup.
+ * docs/html/17_intro/howto.html: Likewise.
+ * docs/html/18_support/howto.html: Likewise.
+ * docs/html/ext/concurrence.html: Likewise.
+ * docs/html/documentation.html: Likewise.
+
2007-12-10 Paolo Carlini <pcarlini@suse.de>
* testsuite/tr1/5_numerical_facilities/random/linear_congruential/
dnl
dnl @category Cxx
dnl @author Todd Veldhuizen
-dnl @author Luc Maisonobe <luc@spaceroots.org>
+dnl @author Luc Maisonobe <luc@spaceroots.org>
dnl @version 2004-02-04
dnl @license AllPermissive
AC_DEFUN([AC_CXX_NAMESPACE_STD], [
ac_cv_cxx_have_std_namespace,
[AC_LANG_SAVE
AC_LANG_CPLUSPLUS
- AC_TRY_COMPILE([#include <iostream>
- std::istream& is = std::cin;],,
+ AC_TRY_COMPILE([#include <iostream>
+ std::istream& is = std::cin;],,
ac_cv_cxx_have_std_namespace=yes, ac_cv_cxx_have_std_namespace=no)
AC_LANG_RESTORE
])
AC_LANG_CPLUSPLUS
ac_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS -Werror"
- AC_TRY_COMPILE([#include <ext/hash_map>], [using __gnu_cxx::hash_map;],
+ AC_TRY_COMPILE([#include <ext/hash_map>], [using __gnu_cxx::hash_map;],
ac_cv_cxx_ext_hash_map=yes, ac_cv_cxx_ext_hash_map=no)
CXXFLAGS="$ac_save_CXXFLAGS"
AC_LANG_RESTORE
AC_LANG_CPLUSPLUS
ac_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS -Werror"
- AC_TRY_COMPILE([#include <ext/hash_set>], [using __gnu_cxx::hash_set;],
+ AC_TRY_COMPILE([#include <ext/hash_set>], [using __gnu_cxx::hash_set;],
ac_cv_cxx_ext_hash_set=yes, ac_cv_cxx_ext_hash_set=no)
CXXFLAGS="$ac_save_CXXFLAGS"
AC_LANG_RESTORE
typedef check<int> check_type;
check_type c;
- check_type&& cr = c;],,
+ check_type&& cr = c;],,
ac_cv_cxx_compile_cxx0x_native=yes, ac_cv_cxx_compile_cxx0x_native=no)
AC_LANG_RESTORE
])
typedef check<int> check_type;
check_type c;
- check_type&& cr = c;],,
+ check_type&& cr = c;],,
ac_cv_cxx_compile_cxx0x_cxx=yes, ac_cv_cxx_compile_cxx0x_cxx=no)
CXXFLAGS="$ac_save_CXXFLAGS"
AC_LANG_RESTORE
typedef check<int> check_type;
check_type c;
- check_type&& cr = c;],,
+ check_type&& cr = c;],,
ac_cv_cxx_compile_cxx0x_gxx=yes, ac_cv_cxx_compile_cxx0x_gxx=no)
CXXFLAGS="$ac_save_CXXFLAGS"
AC_LANG_RESTORE
<center><table border="1"><caption>TR1 Headers for C Library Facilities</caption>
<tr><td><tr1/cmath></td><td><tr1/cfloat></td><td><tr1/cstdarg></td><td><tr1/cstdio></td><td><tr1/ctime></td></tr>
<tr><td><tr1/ccomplex></td><td><tr1/cinttypes></td><td><tr1/cstdbool></td><td><tr1/cstdlib></td><td><tr1/cwchar></td></tr>
-<tr><td><tr1/cfenv></td><td><tr1/climits></td><td><tr1/cstdint></td><td><tr1/ctgmath></td><td><tr1/cwctype><td></tr>
+<tr><td><tr1/cfenv></td><td><tr1/climits></td><td><tr1/cstdint></td><td><tr1/ctgmath></td><td><tr1/cwctype></td></tr>
</table></center>
<p>Also included are files for the C++ ABI interface:
<center><table border="1"><caption>Extension Headers</caption>
<tr><td><ext/algorithm></td><td><ext/debug_allocator.h></td><td><ext/mt_allocator.h></td><td><ext/pod_char_traits.h></td><td><ext/stdio_sync_filebuf.h></td></tr>
<tr><td><ext/array_allocator.h></td><td><ext/enc_filebuf.h></td><td><ext/new_allocator.h></td><td><ext/pool_allocator.h></td><td><ext/throw_allocator.h></td></tr>
-<tr><td><ext/atomicity.h></td><td><ext/functional></td><td><ext/numeric></td><td><ext/rb_tree></td><td><ext/typelist.h><td></tr>
+<tr><td><ext/atomicity.h></td><td><ext/functional></td><td><ext/numeric></td><td><ext/rb_tree></td><td><ext/typelist.h></td></tr>
<tr><td><ext/bitmap_allocator.h></td><td><ext/iterator></td><td><ext/numeric_traits.h></td><td><ext/rope></td><td><ext/type_traits.h></td></tr>
<tr><td><ext/codecvt_specializations.h></td><td><ext/malloc_allocator.h></td><td><ext/pb_ds/assoc_container.h></td><td><ext/slist></td><td><ext/vstring.h></td></tr>
<tr><td><ext/concurrence.h></td><td><ext/memory></td><td><ext/pb_ds/priority_queue.h></td><td><ext/stdio_filebuf.h></td></tr>
</table></center>
<hr />
-<h2><a name="2.1">Recipes for mixing headers</code></a></h2>
+<h2><a name="2.1">Recipes for mixing headers</a></h2>
<p> A few simple rules.
</p>
<pre>
g++ -v hello.cc
-#include <...> search starts here:
+#include <...> search starts here:
/mnt/share/bld/H-x86-gcc.20071201/include/c++/4.3.0
...
End of search list.
print this stuff, it prompted him to run this code through current
compilers to see what the state of the art is with respect to member
template functions. He posted
- <a href="http://groups.google.com/groups?oi=djq&selm=an_644660779">an
- article to Usenet</a> after discovering that the code above is not
+ <a href="http://groups.google.com/groups?oi=djq&selm=an_644660779">
+ an article to Usenet</a> after discovering that the code above is not
valid! Even though it has no data members, it still needs a
user-defined constructor (which means that the class needs a type name
after all). The ctor can have an empty body; it just needs to be
struct argument_error : public std::runtime_error
{
- argument_error(const std::string& s): std::runtime_error(s) { }
+ argument_error(const std::string& s): std::runtime_error(s) { }
};
int main(int argc)
<li>Namespaces
<ul>
- <li><a href="17_intro/howto.html#3.0">Available namespaces</li>
+ <li><a href="17_intro/howto.html#3.0">Available namespaces</a></li>
<li><a href="17_intro/howto.html#3.1">Namespace <code>std::</code></a></li>
<li><a href="17_intro/howto.html#3.2">Using namespace composition</a></li>
</ul>
</li>
</ul>
-</p>
+<p>
These functions forward to one of several specialized helper
functions, depending on the circumstances. For instance,
</p>
</p>
<p>
<code>
-GLIBCXX_WRITE_MEM_BARRIER
+_GLIBCXX_WRITE_MEM_BARRIER
</code>
</p>
<a name="pthread_api">Pthread Interface</a>
</h3>
-<p>A thin layer above IEEE 1003.1 (ie pthreads) is used to abastract
+<p>A thin layer above IEEE 1003.1 (ie pthreads) is used to abstract
the thread interface for GCC. This layer is called "gthread," and is
comprised of one header file that wraps the host's default thread layer with
-a POSIX-like interfaces.
+a POSIX-like interface.
</p>
<p> The file <gthr-default.h> points to the deduced wrapper for
foo()
{
__gnu_cxx::__scoped_lock sentry(safe_base_mutex);
- for (int i = 0; i < max; ++i)
+ for (int i = 0; i < max; ++i)
{
_Safe_iterator_base* __old = __iter;
- __iter = __iter->_M_next;
- __old->_M_detach_single();
+ __iter = __iter-<_M_next;
+ __old-<_M_detach_single();
}
}
</pre>