Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
513d0519
Commit
513d0519
authored
Mar 20, 2012
by
Jonathan Wakely
Committed by
Jonathan Wakely
Mar 20, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* doc/extend.texi (Template Instantiation): Remove anachronisms.
From-SVN: r185584
parent
73f46872
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
9 additions
and
13 deletions
+9
-13
gcc/ChangeLog
+4
-0
gcc/doc/extend.texi
+5
-13
No files found.
gcc/ChangeLog
View file @
513d0519
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
...
...
gcc/doc/extend.texi
View file @
513d0519
...
@@ -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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment