Commit f57a2e3a by Ben Elliston Committed by Ben Elliston

re PR c++/1607 ([3.3 only] Format attributes on methods undocumented)

	PR c++/1607
	* doc/extend.texi (Function Attributes): Document the effect of
	the C++ "this" parameter on the counting of arguments for the
	"format" and "format_arg" attributes.

From-SVN: r63030
parent 69c107ef
2003-02-18 Ben Elliston <bje@redhat.com>
PR c++/1607
* doc/extend.texi (Function Attributes): Document the effect of
the C++ "this" parameter on the counting of arguments for the
"format" and "format_arg" attributes.
2003-02-17 Aldy Hernandez <aldyh@redhat.com> 2003-02-17 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/spe.h (__ev_stdd): Cast 2nd arg. * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
......
...@@ -2101,6 +2101,9 @@ functions where the arguments are not available to be checked (such as ...@@ -2101,6 +2101,9 @@ functions where the arguments are not available to be checked (such as
@code{vprintf}), specify the third parameter as zero. In this case the @code{vprintf}), specify the third parameter as zero. In this case the
compiler only checks the format string for consistency. For compiler only checks the format string for consistency. For
@code{strftime} formats, the third parameter is required to be zero. @code{strftime} formats, the third parameter is required to be zero.
Since non-static C++ methods have an implicit @code{this} argument, the
arguments of such methods should be counted from two, not one, when
giving values for @var{string-index} and @var{first-to-check}.
In the example above, the format string (@code{my_format}) is the second In the example above, the format string (@code{my_format}) is the second
argument of the function @code{my_print}, and the arguments to check argument of the function @code{my_print}, and the arguments to check
...@@ -2153,7 +2156,9 @@ string argument is not constant; this would generate a warning when ...@@ -2153,7 +2156,9 @@ string argument is not constant; this would generate a warning when
without the attribute. without the attribute.
The parameter @var{string-index} specifies which argument is the format The parameter @var{string-index} specifies which argument is the format
string argument (starting from 1). string argument (starting from one). Since non-static C++ methods have
an implicit @code{this} argument, the arguments of such methods should
be counted from two.
The @code{format-arg} attribute allows you to identify your own The @code{format-arg} attribute allows you to identify your own
functions which modify format strings, so that GCC can check the functions which modify format strings, so that GCC can check the
......
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