This is the mail archive of the mailing list for the glibc project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Don't document varargs.h

The glibc manual has documentation for varargs.h, support for which
was removed from GCC in version 3.3 (released 2003) along with the
rest of -traditional support.  I don't think it's useful to keep
documentation for a feature that hasn't been usable with current GCC
for nine years.  I propose this patch to remove that documentation,
except for the single existing paragraph:

    @strong{Compatibility Note:} Many older C dialects provide a similar,
    but incompatible, mechanism for defining functions with variable numbers
    of arguments, using @file{varargs.h}.

Testing with "make info html pdf".

2012-03-21  Joseph Myers  <>

	* manual/lang.texi (Old Varargs): Remove section.
	(How Variadic): Update menu.
	(va_start): Do not mention varargs.h.

diff --git a/manual/lang.texi b/manual/lang.texi
index 6cb7371..baaccaa 100644
--- a/manual/lang.texi
+++ b/manual/lang.texi
@@ -229,7 +229,6 @@ additional variable arguments.  @xref{Calling Variadics}.
 			  variable arguments functions.
 * Argument Macros::      Detailed specification of the macros
         		  for accessing variable arguments.
-* Old Varargs::		 The pre-ISO way of defining variadic functions.
 @end menu
 @node Variadic Prototypes
@@ -427,9 +426,6 @@ The type @code{va_list} is used for argument pointer variables.
 This macro initializes the argument pointer variable @var{ap} to point
 to the first of the optional arguments of the current function;
 @var{last-required} must be the last required argument to the function.
-@xref{Old Varargs}, for an alternate definition of @code{va_start}
-found in the header file @file{varargs.h}.
 @end deftypefn
 @comment stdarg.h
@@ -511,68 +507,6 @@ arguments facility.
 @include add.c.texi
 @end smallexample
-@node Old Varargs
-@subsubsection Old-Style Variadic Functions
-@pindex varargs.h
-Before @w{ISO C}, programmers used a slightly different facility for
-writing variadic functions.  The GNU C compiler still supports it;
-currently, it is more portable than the @w{ISO C} facility, since support
-for @w{ISO C} is still not universal.  The header file which defines the
-old-fashioned variadic facility is called @file{varargs.h}.
-Using @file{varargs.h} is almost the same as using @file{stdarg.h}.
-There is no difference in how you call a variadic function;
-see @ref{Calling Variadics}.  The only difference is in how you define
-them.  First of all, you must use old-style non-prototype syntax, like
-build (va_alist)
-     va_dcl
-@end smallexample
-Secondly, you must give @code{va_start} only one argument, like this:
-  va_list p;
-  va_start (p);
-@end smallexample
-These are the special macros used for defining old-style variadic
-@comment varargs.h
-@comment Unix
-@deffn Macro va_alist
-This macro stands for the argument name list required in a variadic
-@end deffn
-@comment varargs.h
-@comment Unix
-@deffn Macro va_dcl
-This macro declares the implicit argument or arguments for a variadic
-@end deffn
-@comment varargs.h
-@comment Unix
-@deftypefn {Macro} void va_start (va_list @var{ap})
-This macro, as defined in @file{varargs.h}, initializes the argument
-pointer variable @var{ap} to point to the first argument of the current
-@end deftypefn
-The other argument macros, @code{va_arg} and @code{va_end}, are the same
-in @file{varargs.h} as in @file{stdarg.h}; see @ref{Argument Macros}, for
-It does not work to include both @file{varargs.h} and @file{stdarg.h} in
-the same compilation; they define @code{va_start} in conflicting ways.
 @node Null Pointer Constant
 @section Null Pointer Constant
 @cindex null pointer constant

Joseph S. Myers

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]