diff options
author | Jason Merrill <jason@gcc.gnu.org> | 2000-06-09 12:26:24 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2000-06-09 12:26:24 -0400 |
commit | 669ec2b4f0d25a10753a0c98ff786c4cb0e152a5 (patch) | |
tree | fdc9f3bc814a3a9dc10638c0528a97fecd63ad7b /gcc/invoke.texi | |
parent | ea11ca7ec12df7f53d437a738f984e26ef7ab85b (diff) | |
download | gcc-669ec2b4f0d25a10753a0c98ff786c4cb0e152a5.zip gcc-669ec2b4f0d25a10753a0c98ff786c4cb0e152a5.tar.gz gcc-669ec2b4f0d25a10753a0c98ff786c4cb0e152a5.tar.bz2 |
revert mangling patch
From-SVN: r34471
Diffstat (limited to 'gcc/invoke.texi')
-rw-r--r-- | gcc/invoke.texi | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/gcc/invoke.texi b/gcc/invoke.texi index 82720d3..39989b6 100644 --- a/gcc/invoke.texi +++ b/gcc/invoke.texi @@ -111,7 +111,7 @@ in the following sections. -fhuge-objects -fno-implicit-templates -finit-priority -fno-implement-inlines -fname-mangling-version-@var{n} -fno-default-inline -fno-operator-names -fno-optional-diags -fpermissive --frepo -fstrict-prototype -ftemplate-depth-@var{n} +-frepo -fstrict-prototype -fsquangle -ftemplate-depth-@var{n} -fuse-cxa-atexit -fvtable-thunks -nostdinc++ -Wctor-dtor-privacy -Wno-deprecated -Weffc++ -Wno-non-template-friend -Wnon-virtual-dtor -Wold-style-cast -Woverloaded-virtual -Wno-pmf-conversions -Wreorder @@ -1155,6 +1155,20 @@ errors if these functions are not inlined everywhere they are called. Disable pedwarns about constructs used in MFC, such as implicit int and getting a pointer to member function via non-standard syntax. +@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 + +Like all options that change the ABI, all C++ code, @emph{including +libgcc} must be built with the same setting of this option. + @item -fno-operator-names Do not treat the operator name keywords @code{and}, @code{bitand}, @code{bitor}, @code{compl}, @code{not}, @code{or} and @code{xor} as @@ -1197,6 +1211,18 @@ functions. This flag no longer affects declarations with C++ linkage. +@item -fsquangle +@itemx -fno-squangle +@samp{-fsquangle} will enable a compressed form of name mangling for +identifiers. In particular, it helps to shorten very long names by recognizing +types and class names which occur more than once, replacing them with special +short ID codes. This option also requires any C++ libraries being used to +be compiled with this option as well. The compiler has this disabled (the +equivalent of @samp{-fno-squangle}) by default. + +Like all options that change the ABI, all C++ code, @emph{including +libgcc.a} must be built with the same setting of this option. + @item -ftemplate-depth-@var{n} Set the maximum instantiation depth for template classes to @var{n}. A limit on the template instantiation depth is needed to detect |