diff options
author | Mark Mitchell <mmitchell@usa.net> | 1997-09-28 19:59:54 +0000 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 1997-09-28 15:59:54 -0400 |
commit | 37f6b6bfd2e1c127fa597f4949f62ecd12fcd187 (patch) | |
tree | 557a4cc1c19a40c72c34dac014fb6edece85096b /gcc/invoke.texi | |
parent | a3a5b5b7bf729dda824c4b644bbe28f830e4fbc4 (diff) | |
download | gcc-37f6b6bfd2e1c127fa597f4949f62ecd12fcd187.zip gcc-37f6b6bfd2e1c127fa597f4949f62ecd12fcd187.tar.gz gcc-37f6b6bfd2e1c127fa597f4949f62ecd12fcd187.tar.bz2 |
cplus-dem.c (demangle_template): Add new parameter.
Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
* cplus-dem.c (demangle_template): Add new parameter. Handle new
template-function mangling.
(consume_count_with_underscores): New function.
(demangle_signature): Handle new name-mangling scheme.
From-SVN: r15780
Diffstat (limited to 'gcc/invoke.texi')
-rw-r--r-- | gcc/invoke.texi | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/gcc/invoke.texi b/gcc/invoke.texi index 7332f62..0437f25 100644 --- a/gcc/invoke.texi +++ b/gcc/invoke.texi @@ -104,8 +104,9 @@ in the following sections. @smallexample -fall-virtual -fdollars-in-identifiers -felide-constructors -fenum-int-equiv -fexternal-templates -ffor-scope -fno-for-scope --fhandle-signatures -fmemoize-lookups -fno-default-inline -fno-gnu-keywords --fnonnull-objects -foperator-names -fstrict-prototype -fthis-is-variable +-fhandle-signatures -fmemoize-lookups -fname-mangling-version-@var{n} +-fno-default-inline -fno-gnu-keywords -fnonnull-objects -fguiding-decls +-foperator-names -fstrict-prototype -fthis-is-variable -ftemplate-depth-@var{n} -nostdinc++ -traditional +e@var{n} @end smallexample @@ -925,11 +926,15 @@ Cause template instantiations to obey @samp{#pragma interface} and to the location of the template definition. @xref{Template Instantiation}, for more information. +This option is deprecated. + @item -falt-external-templates Similar to -fexternal-templates, but template instances are emitted or not according to the place where they are first instantiated. @xref{Template Instantiation}, for more information. +This option is deprecated. + @item -ffor-scope @item -fno-for-scope If -ffor-scope is specified, the scope of variables declared in @@ -952,6 +957,18 @@ words as identifiers. You can use the keywords @code{__classof__}, @code{__typeof__} instead. @samp{-ansi} implies @samp{-fno-gnu-keywords}. +@item -fguiding-decls +Treat a function declaration with the same type as a potential function +template instantiation as though it declares that instantiation, not a +normal function. If a definition is given for the function later in the +translation unit (or another translation unit if the target supports +weak symbols), that definition will be used; otherwise the template will +be instantiated. This behavior reflects the C++ language prior to +September 1996, when guiding declarations were removed. + +This option implies @samp{-fname-mangling-version-0}, and will not work +with other name mangling versions. + @item -fno-implicit-templates Never emit code for templates which are instantiated implicitly (i.e. by use); only emit code for explicit instantiations. @xref{Template @@ -1029,6 +1046,17 @@ overridden with @samp{-fno-strict-prototype}. This flag no longer affects declarations with C++ linkage. +@item -fname-mangling-version-@var{n} +Control the way in which names are mangled. Version 0 is compatible +with versions of g++ before 2.8. Version 1 is the default. Version 1 +will allow correct mangling of function templates. For example, +version 0 mangling does not mangle foo<int, double> and foo<int, char> +given this declaration: + +@example +template <class T, class U> void foo(T t); +@end example + @item -fno-nonnull-objects Don't assume that a reference is initialized to refer to a valid object. Although the current C++ Working Paper prohibits null references, some |