diff options
author | Jason Merrill <jason@redhat.com> | 2009-04-07 13:48:52 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2009-04-07 13:48:52 -0400 |
commit | 6ea2bd47dd50fdf50e5b71e7349dae094f2920fe (patch) | |
tree | aaa87a15f5942f4f114e17e7f79c23571f506e9b /gcc/doc/invoke.texi | |
parent | a2dc5812ff7b8d195399c4f9513dcf0376eba4d5 (diff) | |
download | gcc-6ea2bd47dd50fdf50e5b71e7349dae094f2920fe.zip gcc-6ea2bd47dd50fdf50e5b71e7349dae094f2920fe.tar.gz gcc-6ea2bd47dd50fdf50e5b71e7349dae094f2920fe.tar.bz2 |
re PR c++/25185 (deep typedef substitution in error message)
PR c++/25185
* c-common.h, c-common.c: Add flag_pretty_templates.
* c-opts.c (c_common_handle_option): Set it.
* c.opt: Add -fno-pretty-templates.
* doc/invoke.texi (C++ Dialect Options): Likewise.
* error.c (dump_function_decl): Don't pretty-print templates
if -fno-pretty-templates.
(count_non_default_template_args): Print all args if
-fno-pretty-templates.
From-SVN: r145697
Diffstat (limited to 'gcc/doc/invoke.texi')
-rw-r--r-- | gcc/doc/invoke.texi | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 5eb9776..b5d795a 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -188,6 +188,7 @@ in the following sections. -fno-implement-inlines -fms-extensions @gol -fno-nonansi-builtins -fno-operator-names @gol -fno-optional-diags -fpermissive @gol +-fno-pretty-templates @gol -frepo -fno-rtti -fstats -ftemplate-depth-@var{n} @gol -fno-threadsafe-statics -fuse-cxa-atexit -fno-weak -nostdinc++ @gol -fno-default-inline -fvisibility-inlines-hidden @gol @@ -1834,6 +1835,19 @@ Downgrade some diagnostics about nonconformant code from errors to warnings. Thus, using @option{-fpermissive} will allow some nonconforming code to compile. +@item -fno-pretty-templates +@opindex fno-pretty-templates +When an error message refers to a specialization of a function +template, the compiler will normally print the signature of the +template followed by the template arguments and any typedefs or +typenames in the signature (e.g. @code{void f(T) [with T = int]} +rather than @code{void f(int)}) so that it's clear which template is +involved. When an error message refers to a specialization of a class +template, the compiler will omit any template arguments which match +the default template arguments for that template. If either of these +behaviors make it harder to understand the error message rather than +easier, using @option{-fno-pretty-templates} will disable them. + @item -frepo @opindex frepo Enable automatic template instantiation at link time. This option also |