Commit 513d0519 by Jonathan Wakely Committed by Jonathan Wakely

* doc/extend.texi (Template Instantiation): Remove anachronisms.

From-SVN: r185584
parent 73f46872
2012-03-20 Jonathan Wakely <jwakely.gcc@gmail.com>
* doc/extend.texi (Template Instantiation): Remove anachronisms.
2012-03-20 Jakub Jelinek <jakub@redhat.com> 2012-03-20 Jakub Jelinek <jakub@redhat.com>
PR target/52607 PR target/52607
......
...@@ -15162,16 +15162,7 @@ GNU/Linux or Solaris 2, or on Microsoft Windows, G++ supports the ...@@ -15162,16 +15162,7 @@ GNU/Linux or Solaris 2, or on Microsoft Windows, G++ supports the
Borland model. On other systems, G++ implements neither automatic Borland model. On other systems, G++ implements neither automatic
model. model.
A future version of G++ will support a hybrid model whereby the compiler You have the following options for dealing with template instantiations:
will emit any instantiations for which the template definition is
included in the compile, and store template definitions and
instantiation context information into the object file for the rest.
The link wrapper will extract that information as necessary and invoke
the compiler to produce the remaining instantiations. The linker will
then combine duplicate instantiations.
In the mean time, you have the following options for dealing with
template instantiations:
@enumerate @enumerate
@item @item
...@@ -15233,9 +15224,10 @@ compile it without @option{-fno-implicit-templates} so you get all of the ...@@ -15233,9 +15224,10 @@ compile it without @option{-fno-implicit-templates} so you get all of the
instances required by your explicit instantiations (but not by any instances required by your explicit instantiations (but not by any
other files) without having to specify them as well. other files) without having to specify them as well.
G++ has extended the template instantiation syntax given in the ISO The ISO C++ 2011 standard allows forward declaration of explicit
standard to allow forward declaration of explicit instantiations instantiations (with @code{extern}). G++ supports explicit instantiation
(with @code{extern}), instantiation of the compiler support data for a declarations in C++98 mode and has extended the template instantiation
syntax to support instantiation of the compiler support data for a
template class (i.e.@: the vtable) without instantiating any of its template class (i.e.@: the vtable) without instantiating any of its
members (with @code{inline}), and instantiation of only the static data members (with @code{inline}), and instantiation of only the static data
members of a template class, without the support data or member members of a template class, without the support data or member
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment