+2003-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.c (validate_arglist): Eliminate libiberty VA_ macros,
+ always use stdarg.
+ * c-errors.c (pedwarn_c99): Likewise.
+ * c-format.c (status_warning): Likewise.
+ * c-semantics.c (build_stmt): Likewise.
+ * calls.c (emit_library_call, emit_library_call_value): Likewise.
+ * collect2.c (notice, fatal_perror, fatal, error): Likewise.
+ * cpperror.c (cpp_error, cpp_error_with_line): Likewise.
+ * diagnostic.c (build_message_string, output_printf,
+ output_verbatim, verbatim, inform, warning, pedwarn, error, sorry,
+ fatal_error, internal_error, warning_with_decl, pedwarn_with_decl,
+ error_with_decl, fnotice): Likewise.
+ * dwarf2asm.c (dw2_asm_output_data, dw2_asm_output_delta,
+ dw2_asm_output_offset, dw2_asm_output_pcrel, dw2_asm_output_addr,
+ dw2_asm_output_addr_rtx, dw2_asm_output_nstring,
+ dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128,
+ dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
+ dw2_asm_output_encoded_addr_rtx): Likewise.
+ * emit-rtl.c (gen_rtx, gen_rtvec): Likewise.
+ * errors.c (warning, error, fatal, internal_error): Likewise.
+ * final.c (output_operand_lossage, asm_fprintf): Likewise.
+ * fix-header.c (fatal): Likewise.
+ * gcc.c (fatal, error, notice): Likewise.
+ * gcov.c (fnotice): Likewise.
+ * genattrtab.c (attr_rtx, attr_printf): Likewise.
+ * gengtype.c (error_at_line, xasprintf, oprintf): Likewise.
+ * gensupport.c (message_with_line): Likewise.
+ * mips-tfile.c (fatal, error): Likewise.
+ * protoize.c (notice): Likewise.
+ * ra-debug.c (ra_debug_msg): Likewise.
+ * read-rtl.c (fatal_with_file_and_line): Likewise.
+ * rtl-error.c (error_for_asm, warning_for_asm): Likewise.
+ * tree.c (build, build_nt, build_function_type_list): Likewise.
+
2003-05-17 Neil Booth <neil@daikokuya.co.uk>
* defaults.h (TARGET_CPU_CPP_BUILTINS, CPP_PREDEFINES): Remove.
ellipses, otherwise the last specifier must be a VOID_TYPE. */
static int
-validate_arglist VPARAMS ((tree arglist, ...))
+validate_arglist (tree arglist, ...)
{
enum tree_code code;
int res = 0;
-
- VA_OPEN (ap, arglist);
- VA_FIXEDARG (ap, tree, arglist);
+ va_list ap;
+
+ va_start (ap, arglist);
do
{
/* We need gotos here since we can only have one VA_CLOSE in a
function. */
end: ;
- VA_CLOSE (ap);
+ va_end (ap);
return res;
}
/* Issue an ISO C99 pedantic warning MSGID. */
void
-pedwarn_c99 VPARAMS ((const char *msgid, ...))
+pedwarn_c99 (const char *msgid, ...)
{
diagnostic_info diagnostic;
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
-
+ va_list ap;
+
+ va_start (ap, msgid);
diagnostic_set_info (&diagnostic, msgid, &ap, input_filename, input_line,
flag_isoc99 ? pedantic_error_kind () : DK_WARNING);
report_diagnostic (&diagnostic);
- VA_CLOSE (ap);
+ va_end (ap);
}
it warns as usual by replicating the innards of the warning
function from diagnostic.c. */
static void
-status_warning VPARAMS ((int *status, const char *msgid, ...))
+status_warning (int *status, const char *msgid, ...)
{
diagnostic_info diagnostic ;
-
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, int *, status);
- VA_FIXEDARG (ap, const char *, msgid);
+ va_list ap;
+
+ va_start (ap, msgid);
if (status)
*status = 1;
report_diagnostic (&diagnostic);
}
- VA_CLOSE (ap);
+ va_end (ap);
}
/* Variables used by the checking of $ operand number formats. */
in the grammar. */
tree
-build_stmt VPARAMS ((enum tree_code code, ...))
+build_stmt (enum tree_code code, ...)
{
tree t;
int length;
int i;
-
- VA_OPEN (p, code);
- VA_FIXEDARG (p, enum tree_code, code);
+ va_list p;
+
+ va_start (p, code);
t = make_node (code);
length = TREE_CODE_LENGTH (code);
for (i = 0; i < length; i++)
TREE_OPERAND (t, i) = va_arg (p, tree);
- VA_CLOSE (p);
+ va_end (p);
return t;
}
or other LCT_ value for other types of library calls. */
void
-emit_library_call VPARAMS((rtx orgfun, enum libcall_type fn_type,
- enum machine_mode outmode, int nargs, ...))
+emit_library_call (rtx orgfun, enum libcall_type fn_type,
+ enum machine_mode outmode, int nargs, ...)
{
- VA_OPEN (p, nargs);
- VA_FIXEDARG (p, rtx, orgfun);
- VA_FIXEDARG (p, int, fn_type);
- VA_FIXEDARG (p, enum machine_mode, outmode);
- VA_FIXEDARG (p, int, nargs);
-
+ va_list p;
+
+ va_start (p, nargs);
emit_library_call_value_1 (0, orgfun, NULL_RTX, fn_type, outmode, nargs, p);
-
- VA_CLOSE (p);
+ va_end (p);
}
\f
/* Like emit_library_call except that an extra argument, VALUE,
If VALUE is nonzero, VALUE is returned. */
rtx
-emit_library_call_value VPARAMS((rtx orgfun, rtx value,
- enum libcall_type fn_type,
- enum machine_mode outmode, int nargs, ...))
+emit_library_call_value (rtx orgfun, rtx value,
+ enum libcall_type fn_type,
+ enum machine_mode outmode, int nargs, ...)
{
rtx result;
+ va_list p;
- VA_OPEN (p, nargs);
- VA_FIXEDARG (p, rtx, orgfun);
- VA_FIXEDARG (p, rtx, value);
- VA_FIXEDARG (p, int, fn_type);
- VA_FIXEDARG (p, enum machine_mode, outmode);
- VA_FIXEDARG (p, int, nargs);
-
+ va_start (p, nargs);
result = emit_library_call_value_1 (1, orgfun, value, fn_type, outmode,
nargs, p);
-
- VA_CLOSE (p);
+ va_end (p);
return result;
}
\f
/* Notify user of a non-error. */
void
-notice VPARAMS ((const char *msgid, ...))
+notice (const char *msgid, ...)
{
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
-
+ va_list ap;
+
+ va_start (ap, msgid);
vfprintf (stderr, _(msgid), ap);
- VA_CLOSE (ap);
+ va_end (ap);
}
/* Die when sys call fails. */
void
-fatal_perror VPARAMS ((const char * msgid, ...))
+fatal_perror (const char * msgid, ...)
{
int e = errno;
-
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
-
+ va_list ap;
+
+ va_start (ap, msgid);
fprintf (stderr, "collect2: ");
vfprintf (stderr, _(msgid), ap);
fprintf (stderr, ": %s\n", xstrerror (e));
- VA_CLOSE (ap);
+ va_end (ap);
collect_exit (FATAL_EXIT_CODE);
}
/* Just die. */
void
-fatal VPARAMS ((const char * msgid, ...))
+fatal (const char * msgid, ...)
{
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
+ va_list ap;
+ va_start (ap, msgid);
fprintf (stderr, "collect2: ");
vfprintf (stderr, _(msgid), ap);
fprintf (stderr, "\n");
- VA_CLOSE (ap);
+ va_end (ap);
collect_exit (FATAL_EXIT_CODE);
}
/* Write error message. */
void
-error VPARAMS ((const char * msgid, ...))
+error (const char * msgid, ...)
{
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
-
+ va_list ap;
+
+ va_start (ap, msgid);
fprintf (stderr, "collect2: ");
vfprintf (stderr, _(msgid), ap);
fprintf (stderr, "\n");
- VA_CLOSE(ap);
+ va_end(ap);
}
/* In case obstack is linked in, and abort is defined to fancy_abort,
+2003-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * error.c (cp_error_at, cp_warning_at, cp_pedwarn_at): Eliminate
+ libiberty VA_ macros, always use stdarg.
+ * rtti.c (create_pseudo_type_info): Likewise.
+ * tree.c (build_min_nt, build_min): Likewise.
+
2003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* ptree.c (cxx_print_type, cxx_print_xnode): Use string
void
-cp_error_at VPARAMS ((const char *msgid, ...))
+cp_error_at (const char *msgid, ...)
{
tree here;
diagnostic_info diagnostic;
+ va_list ap;
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
+ va_start (ap, msgid);
here = locate_error (msgid, ap);
- VA_CLOSE (ap);
-
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
+ va_end (ap);
+ va_start (ap, msgid);
diagnostic_set_info (&diagnostic, msgid, &ap,
cp_file_of (here), cp_line_of (here), DK_ERROR);
report_diagnostic (&diagnostic);
- VA_CLOSE (ap);
+ va_end (ap);
}
void
-cp_warning_at VPARAMS ((const char *msgid, ...))
+cp_warning_at (const char *msgid, ...)
{
tree here;
diagnostic_info diagnostic;
+ va_list ap;
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
+ va_start (ap, msgid);
here = locate_error (msgid, ap);
- VA_CLOSE (ap);
-
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
+ va_end (ap);
+ va_start (ap, msgid);
diagnostic_set_info (&diagnostic, msgid, &ap,
cp_file_of (here), cp_line_of (here), DK_WARNING);
report_diagnostic (&diagnostic);
- VA_CLOSE (ap);
+ va_end (ap);
}
void
-cp_pedwarn_at VPARAMS ((const char *msgid, ...))
+cp_pedwarn_at (const char *msgid, ...)
{
tree here;
diagnostic_info diagnostic;
+ va_list ap;
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
+ va_start (ap, msgid);
here = locate_error (msgid, ap);
- VA_CLOSE (ap);
-
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
+ va_end (ap);
+ va_start (ap, msgid);
diagnostic_set_info (&diagnostic, msgid, &ap,
cp_file_of (here), cp_line_of (here),
pedantic_error_kind());
report_diagnostic (&diagnostic);
- VA_CLOSE (ap);
+ va_end (ap);
}
tree fields;
tree field_decl;
tree result;
+ va_list ap;
- VA_OPEN (ap, ident);
- VA_FIXEDARG (ap, const char *, real_name);
- VA_FIXEDARG (ap, int, ident);
+ va_start (ap, ident);
/* Generate the pseudo type name. */
pseudo_name = (char *)alloca (strlen (real_name) + 30);
TINFO_PSEUDO_TYPE (result) =
cp_build_qualified_type (pseudo_type, TYPE_QUAL_CONST);
- VA_CLOSE (ap);
+ va_end (ap);
return result;
}
current line number. */
tree
-build_min_nt VPARAMS ((enum tree_code code, ...))
+build_min_nt (enum tree_code code, ...)
{
register tree t;
register int length;
register int i;
+ va_list p;
- VA_OPEN (p, code);
- VA_FIXEDARG (p, enum tree_code, code);
+ va_start (p, code);
t = make_node (code);
length = TREE_CODE_LENGTH (code);
TREE_OPERAND (t, i) = x;
}
- VA_CLOSE (p);
+ va_end (p);
return t;
}
line-number. */
tree
-build_min VPARAMS ((enum tree_code code, tree tt, ...))
+build_min (enum tree_code code, tree tt, ...)
{
register tree t;
register int length;
register int i;
+ va_list p;
- VA_OPEN (p, tt);
- VA_FIXEDARG (p, enum tree_code, code);
- VA_FIXEDARG (p, tree, tt);
+ va_start (p, tt);
t = make_node (code);
length = TREE_CODE_LENGTH (code);
TREE_OPERAND (t, i) = x;
}
- VA_CLOSE (p);
+ va_end (p);
return t;
}
/* Print an error at the location of the previously lexed token. */
void
-cpp_error VPARAMS ((cpp_reader * pfile, int level, const char *msgid, ...))
+cpp_error (cpp_reader * pfile, int level, const char *msgid, ...)
{
unsigned int line, column;
-
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, cpp_reader *, pfile);
- VA_FIXEDARG (ap, int, level);
- VA_FIXEDARG (ap, const char *, msgid);
+ va_list ap;
+
+ va_start (ap, msgid);
if (pfile->buffer)
{
if (_cpp_begin_message (pfile, level, line, column))
v_message (msgid, ap);
- VA_CLOSE (ap);
+ va_end (ap);
}
/* Print an error at a specific location. */
void
-cpp_error_with_line VPARAMS ((cpp_reader *pfile, int level,
- unsigned int line, unsigned int column,
- const char *msgid, ...))
+cpp_error_with_line (cpp_reader *pfile, int level,
+ unsigned int line, unsigned int column,
+ const char *msgid, ...)
{
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, cpp_reader *, pfile);
- VA_FIXEDARG (ap, int, level);
- VA_FIXEDARG (ap, unsigned int, line);
- VA_FIXEDARG (ap, unsigned int, column);
- VA_FIXEDARG (ap, const char *, msgid);
+ va_list ap;
+
+ va_start (ap, msgid);
if (_cpp_begin_message (pfile, level, line, column))
v_message (msgid, ap);
- VA_CLOSE (ap);
+ va_end (ap);
}
void
/* Return a malloc'd string containing MSG formatted a la printf. The
caller is responsible for freeing the memory. */
static char *
-build_message_string VPARAMS ((const char *msg, ...))
+build_message_string (const char *msg, ...)
{
char *str;
+ va_list ap;
- VA_OPEN (ap, msg);
- VA_FIXEDARG (ap, const char *, msg);
-
+ va_start (ap, msg);
vasprintf (&str, msg, ap);
-
- VA_CLOSE (ap);
+ va_end (ap);
return str;
}
/* Format a message into BUFFER a la printf. */
void
-output_printf VPARAMS ((struct output_buffer *buffer, const char *msgid, ...))
+output_printf (struct output_buffer *buffer, const char *msgid, ...)
{
text_info text;
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, output_buffer *, buffer);
- VA_FIXEDARG (ap, const char *, msgid);
+ va_list ap;
+ va_start (ap, msgid);
text.err_no = errno;
text.args_ptr = ≈
text.format_spec = _(msgid);
output_format (buffer, &text);
- VA_CLOSE (ap);
+ va_end (ap);
}
/* Print a message relevant to the given DECL. */
/* Output MESSAGE verbatim into BUFFER. */
void
-output_verbatim VPARAMS ((output_buffer *buffer, const char *msgid, ...))
+output_verbatim (output_buffer *buffer, const char *msgid, ...)
{
text_info text;
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, output_buffer *, buffer);
- VA_FIXEDARG (ap, const char *, msgid);
+ va_list ap;
+ va_start (ap, msgid);
text.err_no = errno;
text.args_ptr = ≈
text.format_spec = _(msgid);
output_do_verbatim (buffer, &text);
- VA_CLOSE (ap);
+ va_end (ap);
}
\f
/* Text to be emitted verbatim to the error message stream; this
produces no prefix and disables line-wrapping. Use rarely. */
void
-verbatim VPARAMS ((const char *msgid, ...))
+verbatim (const char *msgid, ...)
{
text_info text;
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
+ va_list ap;
+ va_start (ap, msgid);
text.err_no = errno;
text.args_ptr = ≈
text.format_spec = _(msgid);
output_do_verbatim (&global_dc->buffer, &text);
output_buffer_to_stream (&global_dc->buffer);
- VA_CLOSE (ap);
+ va_end (ap);
}
/* An informative note. Use this for additional details on an error
message. */
void
-inform VPARAMS ((const char *msgid, ...))
+inform (const char *msgid, ...)
{
diagnostic_info diagnostic;
+ va_list ap;
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
-
+ va_start (ap, msgid);
diagnostic_set_info (&diagnostic, msgid, &ap, input_filename, input_line,
DK_NOTE);
report_diagnostic (&diagnostic);
- VA_CLOSE (ap);
+ va_end (ap);
}
/* A warning. Use this for code which is correct according to the
relevant language specification but is likely to be buggy anyway. */
void
-warning VPARAMS ((const char *msgid, ...))
+warning (const char *msgid, ...)
{
diagnostic_info diagnostic;
+ va_list ap;
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
-
+ va_start (ap, msgid);
diagnostic_set_info (&diagnostic, msgid, &ap, input_filename, input_line,
DK_WARNING);
report_diagnostic (&diagnostic);
- VA_CLOSE (ap);
+ va_end (ap);
}
/* A "pedantic" warning: issues a warning unless -pedantic-errors was
of the -pedantic command-line switch. To get a warning enabled
only with that switch, write "if (pedantic) pedwarn (...);" */
void
-pedwarn VPARAMS ((const char *msgid, ...))
+pedwarn (const char *msgid, ...)
{
diagnostic_info diagnostic;
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
+ va_list ap;
+ va_start (ap, msgid);
diagnostic_set_info (&diagnostic, msgid, &ap, input_filename, input_line,
pedantic_error_kind ());
report_diagnostic (&diagnostic);
- VA_CLOSE (ap);
+ va_end (ap);
}
/* A hard error: the code is definitely ill-formed, and an object file
will not be produced. */
void
-error VPARAMS ((const char *msgid, ...))
+error (const char *msgid, ...)
{
diagnostic_info diagnostic;
+ va_list ap;
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
-
+ va_start (ap, msgid);
diagnostic_set_info (&diagnostic, msgid, &ap, input_filename, input_line,
DK_ERROR);
report_diagnostic (&diagnostic);
- VA_CLOSE (ap);
+ va_end (ap);
}
/* "Sorry, not implemented." Use for a language feature which is
required by the relevant specification but not implemented by GCC.
An object file will not be produced. */
void
-sorry VPARAMS ((const char *msgid, ...))
+sorry (const char *msgid, ...)
{
diagnostic_info diagnostic;
+ va_list ap;
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
-
+ va_start (ap, msgid);
diagnostic_set_info (&diagnostic, msgid, &ap, input_filename, input_line,
DK_SORRY);
report_diagnostic (&diagnostic);
- VA_CLOSE (ap);
+ va_end (ap);
}
/* An error which is severe enough that we make no attempt to
continue. Do not use this for internal consistency checks; that's
internal_error. Use of this function should be rare. */
void
-fatal_error VPARAMS ((const char *msgid, ...))
+fatal_error (const char *msgid, ...)
{
diagnostic_info diagnostic;
+ va_list ap;
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
-
+ va_start (ap, msgid);
diagnostic_set_info (&diagnostic, msgid, &ap, input_filename, input_line,
DK_FATAL);
report_diagnostic (&diagnostic);
- VA_CLOSE (ap);
+ va_end (ap);
/* NOTREACHED */
real_abort ();
a more specific message, or some other good reason, you should use
abort () instead of calling this function directly. */
void
-internal_error VPARAMS ((const char *msgid, ...))
+internal_error (const char *msgid, ...)
{
diagnostic_info diagnostic;
+ va_list ap;
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
-
+ va_start (ap, msgid);
diagnostic_set_info (&diagnostic, msgid, &ap, input_filename, input_line,
DK_ICE);
report_diagnostic (&diagnostic);
- VA_CLOSE (ap);
+ va_end (ap);
/* NOTREACHED */
real_abort ();
DECL node. These are deprecated. */
void
-warning_with_decl VPARAMS ((tree decl, const char *msgid, ...))
+warning_with_decl (tree decl, const char *msgid, ...)
{
diagnostic_info diagnostic;
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, tree, decl);
- VA_FIXEDARG (ap, const char *, msgid);
+ va_list ap;
+
+ va_start (ap, msgid);
/* Do not issue a warning about a decl which came from a system header,
unless -Wsystem-headers. */
DECL_SOURCE_FILE (decl), DECL_SOURCE_LINE (decl),
DK_WARNING);
diagnostic_for_decl (global_dc, &diagnostic, decl);
- VA_CLOSE (ap);
+ va_end (ap);
}
void
-pedwarn_with_decl VPARAMS ((tree decl, const char *msgid, ...))
+pedwarn_with_decl (tree decl, const char *msgid, ...)
{
diagnostic_info diagnostic;
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, tree, decl);
- VA_FIXEDARG (ap, const char *, msgid);
+ va_list ap;
+
+ va_start (ap, msgid);
/* Do not issue a warning about a decl which came from a system header,
unless -Wsystem-headers. */
pedantic_error_kind ());
diagnostic_for_decl (global_dc, &diagnostic, decl);
- VA_CLOSE (ap);
+ va_end (ap);
}
void
-error_with_decl VPARAMS ((tree decl, const char *msgid, ...))
+error_with_decl (tree decl, const char *msgid, ...)
{
diagnostic_info diagnostic;
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, tree, decl);
- VA_FIXEDARG (ap, const char *, msgid);
+ va_list ap;
+ va_start (ap, msgid);
diagnostic_set_info (&diagnostic, msgid, &ap,
DECL_SOURCE_FILE (decl), DECL_SOURCE_LINE (decl),
DK_ERROR);
diagnostic_for_decl (global_dc, &diagnostic, decl);
- VA_CLOSE (ap);
+ va_end (ap);
}
\f
/* Special case error functions. Most are implemented in terms of the
/* Print a diagnostic MSGID on FILE. This is just fprintf, except it
runs its second argument through gettext. */
void
-fnotice VPARAMS ((FILE *file, const char *msgid, ...))
+fnotice (FILE *file, const char *msgid, ...)
{
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, FILE *, file);
- VA_FIXEDARG (ap, const char *, msgid);
+ va_list ap;
+ va_start (ap, msgid);
vfprintf (file, _(msgid), ap);
- VA_CLOSE (ap);
+ va_end (ap);
}
/* Warn about a use of an identifier which was marked deprecated. */
/* Output an immediate constant in a given size. */
void
-dw2_asm_output_data VPARAMS ((int size, unsigned HOST_WIDE_INT value,
- const char *comment, ...))
+dw2_asm_output_data (int size, unsigned HOST_WIDE_INT value,
+ const char *comment, ...)
{
- VA_OPEN (ap, comment);
- VA_FIXEDARG (ap, int, size);
- VA_FIXEDARG (ap, unsigned HOST_WIDE_INT, value);
- VA_FIXEDARG (ap, const char *, comment);
+ va_list ap;
+
+ va_start (ap, comment);
if (size * 8 < HOST_BITS_PER_WIDE_INT)
value &= ~(~(unsigned HOST_WIDE_INT) 0 << (size * 8));
}
fputc ('\n', asm_out_file);
- VA_CLOSE (ap);
+ va_end (ap);
}
/* Output the difference between two symbols in a given size. */
symbol must appear after both symbols are defined. */
void
-dw2_asm_output_delta VPARAMS ((int size, const char *lab1, const char *lab2,
- const char *comment, ...))
+dw2_asm_output_delta (int size, const char *lab1, const char *lab2,
+ const char *comment, ...)
{
- VA_OPEN (ap, comment);
- VA_FIXEDARG (ap, int, size);
- VA_FIXEDARG (ap, const char *, lab1);
- VA_FIXEDARG (ap, const char *, lab2);
- VA_FIXEDARG (ap, const char *, comment);
+ va_list ap;
+
+ va_start (ap, comment);
#ifdef ASM_OUTPUT_DWARF_DELTA
ASM_OUTPUT_DWARF_DELTA (asm_out_file, size, lab1, lab2);
}
fputc ('\n', asm_out_file);
- VA_CLOSE (ap);
+ va_end (ap);
}
/* Output a section-relative reference to a label. In general this
Some targets have special relocations for this that we must use. */
void
-dw2_asm_output_offset VPARAMS ((int size, const char *label,
- const char *comment, ...))
+dw2_asm_output_offset (int size, const char *label,
+ const char *comment, ...)
{
- VA_OPEN (ap, comment);
- VA_FIXEDARG (ap, int, size);
- VA_FIXEDARG (ap, const char *, label);
- VA_FIXEDARG (ap, const char *, comment);
+ va_list ap;
+
+ va_start (ap, comment);
#ifdef ASM_OUTPUT_DWARF_OFFSET
ASM_OUTPUT_DWARF_OFFSET (asm_out_file, size, label);
}
fputc ('\n', asm_out_file);
- VA_CLOSE (ap);
+ va_end (ap);
}
/* Output a self-relative reference to a label, possibly in a
different section or object file. */
void
-dw2_asm_output_pcrel VPARAMS ((int size ATTRIBUTE_UNUSED,
- const char *label ATTRIBUTE_UNUSED,
- const char *comment, ...))
+dw2_asm_output_pcrel (int size ATTRIBUTE_UNUSED,
+ const char *label ATTRIBUTE_UNUSED,
+ const char *comment, ...)
{
- VA_OPEN (ap, comment);
- VA_FIXEDARG (ap, int, size);
- VA_FIXEDARG (ap, const char *, label);
- VA_FIXEDARG (ap, const char *, comment);
+ va_list ap;
+
+ va_start (ap, comment);
#ifdef ASM_OUTPUT_DWARF_PCREL
ASM_OUTPUT_DWARF_PCREL (asm_out_file, size, label);
}
fputc ('\n', asm_out_file);
- VA_CLOSE (ap);
+ va_end (ap);
}
/* Output an absolute reference to a label. */
void
-dw2_asm_output_addr VPARAMS ((int size, const char *label,
- const char *comment, ...))
+dw2_asm_output_addr (int size, const char *label,
+ const char *comment, ...)
{
- VA_OPEN (ap, comment);
- VA_FIXEDARG (ap, int, size);
- VA_FIXEDARG (ap, const char *, label);
- VA_FIXEDARG (ap, const char *, comment);
+ va_list ap;
+
+ va_start (ap, comment);
dw2_assemble_integer (size, gen_rtx_SYMBOL_REF (Pmode, label));
}
fputc ('\n', asm_out_file);
- VA_CLOSE (ap);
+ va_end (ap);
}
/* Similar, but use an RTX expression instead of a text label. */
void
-dw2_asm_output_addr_rtx VPARAMS ((int size, rtx addr,
- const char *comment, ...))
+dw2_asm_output_addr_rtx (int size, rtx addr,
+ const char *comment, ...)
{
- VA_OPEN (ap, comment);
- VA_FIXEDARG (ap, int, size);
- VA_FIXEDARG (ap, rtx, addr);
- VA_FIXEDARG (ap, const char *, comment);
+ va_list ap;
+
+ va_start (ap, comment);
dw2_assemble_integer (size, addr);
}
fputc ('\n', asm_out_file);
- VA_CLOSE (ap);
+ va_end (ap);
}
void
-dw2_asm_output_nstring VPARAMS ((const char *str, size_t orig_len,
- const char *comment, ...))
+dw2_asm_output_nstring (const char *str, size_t orig_len,
+ const char *comment, ...)
{
size_t i, len;
+ va_list ap;
- VA_OPEN (ap, comment);
- VA_FIXEDARG (ap, const char *, str);
- VA_FIXEDARG (ap, size_t, orig_len);
- VA_FIXEDARG (ap, const char *, comment);
+ va_start (ap, comment);
len = orig_len;
assemble_integer (const0_rtx, 1, BITS_PER_UNIT, 1);
}
- VA_CLOSE (ap);
+ va_end (ap);
}
\f
/* Output an unsigned LEB128 quantity. */
void
-dw2_asm_output_data_uleb128 VPARAMS ((unsigned HOST_WIDE_INT value,
- const char *comment, ...))
+dw2_asm_output_data_uleb128 (unsigned HOST_WIDE_INT value,
+ const char *comment, ...)
{
- VA_OPEN (ap, comment);
- VA_FIXEDARG (ap, unsigned HOST_WIDE_INT, value);
- VA_FIXEDARG (ap, const char *, comment);
+ va_list ap;
+
+ va_start (ap, comment);
#ifdef HAVE_AS_LEB128
fprintf (asm_out_file, "\t.uleb128 " HOST_WIDE_INT_PRINT_HEX , value);
#endif
fputc ('\n', asm_out_file);
- VA_CLOSE (ap);
+ va_end (ap);
}
/* Output a signed LEB128 quantity. */
void
-dw2_asm_output_data_sleb128 VPARAMS ((HOST_WIDE_INT value,
- const char *comment, ...))
+dw2_asm_output_data_sleb128 (HOST_WIDE_INT value,
+ const char *comment, ...)
{
- VA_OPEN (ap, comment);
- VA_FIXEDARG (ap, HOST_WIDE_INT, value);
- VA_FIXEDARG (ap, const char *, comment);
+ va_list ap;
+
+ va_start (ap, comment);
#ifdef HAVE_AS_LEB128
fprintf (asm_out_file, "\t.sleb128 " HOST_WIDE_INT_PRINT_DEC, value);
#endif
fputc ('\n', asm_out_file);
- VA_CLOSE (ap);
+ va_end (ap);
}
void
-dw2_asm_output_delta_uleb128 VPARAMS ((const char *lab1 ATTRIBUTE_UNUSED,
- const char *lab2 ATTRIBUTE_UNUSED,
- const char *comment, ...))
+dw2_asm_output_delta_uleb128 (const char *lab1 ATTRIBUTE_UNUSED,
+ const char *lab2 ATTRIBUTE_UNUSED,
+ const char *comment, ...)
{
- VA_OPEN (ap, comment);
- VA_FIXEDARG (ap, const char *, lab1);
- VA_FIXEDARG (ap, const char *, lab2);
- VA_FIXEDARG (ap, const char *, comment);
+ va_list ap;
+
+ va_start (ap, comment);
#ifdef HAVE_AS_LEB128
fputs ("\t.uleb128 ", asm_out_file);
}
fputc ('\n', asm_out_file);
- VA_CLOSE (ap);
+ va_end (ap);
}
void
-dw2_asm_output_delta_sleb128 VPARAMS ((const char *lab1 ATTRIBUTE_UNUSED,
- const char *lab2 ATTRIBUTE_UNUSED,
- const char *comment, ...))
+dw2_asm_output_delta_sleb128 (const char *lab1 ATTRIBUTE_UNUSED,
+ const char *lab2 ATTRIBUTE_UNUSED,
+ const char *comment, ...)
{
- VA_OPEN (ap, comment);
- VA_FIXEDARG (ap, const char *, lab1);
- VA_FIXEDARG (ap, const char *, lab2);
- VA_FIXEDARG (ap, const char *, comment);
+ va_list ap;
+
+ va_start (ap, comment);
#ifdef HAVE_AS_LEB128
fputs ("\t.sleb128 ", asm_out_file);
}
fputc ('\n', asm_out_file);
- VA_CLOSE (ap);
+ va_end (ap);
}
\f
static rtx dw2_force_const_mem PARAMS ((rtx));
/* Like dw2_asm_output_addr_rtx, but encode the pointer as directed. */
void
-dw2_asm_output_encoded_addr_rtx VPARAMS ((int encoding,
- rtx addr,
- const char *comment, ...))
+dw2_asm_output_encoded_addr_rtx (int encoding, rtx addr,
+ const char *comment, ...)
{
int size;
-
- VA_OPEN (ap, comment);
- VA_FIXEDARG (ap, int, encoding);
- VA_FIXEDARG (ap, rtx, addr);
- VA_FIXEDARG (ap, const char *, comment);
+ va_list ap;
+
+ va_start (ap, comment);
size = size_of_encoded_value (encoding);
}
fputc ('\n', asm_out_file);
- VA_CLOSE (ap);
+ va_end (ap);
}
#include "gt-dwarf2asm.h"
/*VARARGS2*/
rtx
-gen_rtx VPARAMS ((enum rtx_code code, enum machine_mode mode, ...))
+gen_rtx (enum rtx_code code, enum machine_mode mode, ...)
{
int i; /* Array indices... */
const char *fmt; /* Current rtx's format... */
rtx rt_val; /* RTX to return to caller... */
+ va_list p;
- VA_OPEN (p, mode);
- VA_FIXEDARG (p, enum rtx_code, code);
- VA_FIXEDARG (p, enum machine_mode, mode);
+ va_start (p, mode);
switch (code)
{
break;
}
- VA_CLOSE (p);
+ va_end (p);
return rt_val;
}
/*VARARGS1*/
rtvec
-gen_rtvec VPARAMS ((int n, ...))
+gen_rtvec (int n, ...)
{
int i, save_n;
rtx *vector;
+ va_list p;
- VA_OPEN (p, n);
- VA_FIXEDARG (p, int, n);
+ va_start (p, n);
if (n == 0)
return NULL_RTVEC; /* Don't allocate an empty rtvec... */
/* The definition of VA_* in K&R C causes `n' to go out of scope. */
save_n = n;
- VA_CLOSE (p);
+ va_end (p);
return gen_rtvec_v (save_n, vector);
}
/* Print a warning message - output produced, but there may be problems. */
void
-warning VPARAMS ((const char *format, ...))
+warning (const char *format, ...)
{
- VA_OPEN (ap, format);
- VA_FIXEDARG (ap, const char *, format);
-
+ va_list ap;
+
+ va_start (ap, format);
fprintf (stderr, "%s: warning: ", progname);
vfprintf (stderr, format, ap);
- VA_CLOSE (ap);
+ va_end (ap);
fputc('\n', stderr);
}
/* Print an error message - we keep going but the output is unusable. */
void
-error VPARAMS ((const char *format, ...))
+error (const char *format, ...)
{
- VA_OPEN (ap, format);
- VA_FIXEDARG (ap, const char *, format);
-
+ va_list ap;
+
+ va_start (ap, format);
fprintf (stderr, "%s: ", progname);
vfprintf (stderr, format, ap);
- VA_CLOSE (ap);
+ va_end (ap);
fputc('\n', stderr);
have_error = 1;
/* Fatal error - terminate execution immediately. Does not return. */
void
-fatal VPARAMS ((const char *format, ...))
+fatal (const char *format, ...)
{
- VA_OPEN (ap, format);
- VA_FIXEDARG (ap, const char *, format);
-
+ va_list ap;
+
+ va_start (ap, format);
fprintf (stderr, "%s: ", progname);
vfprintf (stderr, format, ap);
- VA_CLOSE (ap);
+ va_end (ap);
fputc('\n', stderr);
exit (FATAL_EXIT_CODE);
}
/* Similar, but say we got an internal error. */
void
-internal_error VPARAMS ((const char *format, ...))
+internal_error (const char *format, ...)
{
- VA_OPEN (ap, format);
- VA_FIXEDARG (ap, const char *, format);
-
+ va_list ap;
+
+ va_start (ap, format);
fprintf (stderr, "%s: Internal error: ", progname);
vfprintf (stderr, format, ap);
- VA_CLOSE (ap);
+ va_end (ap);
fputc ('\n', stderr);
exit (FATAL_EXIT_CODE);
}
In an `asm', it's the user's fault; otherwise, the compiler's fault. */
void
-output_operand_lossage VPARAMS ((const char *msgid, ...))
+output_operand_lossage (const char *msgid, ...)
{
char *fmt_string;
char *new_message;
const char *pfx_str;
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
+ va_list ap;
+
+ va_start (ap, msgid);
pfx_str = this_is_asm_operands ? _("invalid `asm': ") : "output_operand: ";
asprintf (&fmt_string, "%s%s", pfx_str, _(msgid));
free (fmt_string);
free (new_message);
- VA_CLOSE (ap);
+ va_end (ap);
}
\f
/* Output of assembler code from a template, and its subroutines. */
We handle alternate assembler dialects here, just like output_asm_insn. */
void
-asm_fprintf VPARAMS ((FILE *file, const char *p, ...))
+asm_fprintf (FILE *file, const char *p, ...)
{
char buf[10];
char *q, c;
-
- VA_OPEN (argptr, p);
- VA_FIXEDARG (argptr, FILE *, file);
- VA_FIXEDARG (argptr, const char *, p);
+ va_list argptr;
+
+ va_start (argptr, p);
buf[0] = '%';
default:
fputc (c, file);
}
- VA_CLOSE (argptr);
+ va_end (argptr);
}
\f
/* Split up a CONST_DOUBLE or integer constant rtx
}
static void
-fatal VPARAMS ((const char *str, ...))
+fatal (const char *str, ...)
{
- VA_OPEN (ap, str);
- VA_FIXEDARG (ap, const char *, str);
-
+ va_list ap;
+
+ va_start (ap, str);
v_fatal (str, ap);
- VA_CLOSE (ap);
+ va_end (ap);
}
/* Output an error message and exit */
void
-fatal VPARAMS ((const char *msgid, ...))
+fatal (const char *msgid, ...)
{
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
+ va_list ap;
+
+ va_start (ap, msgid);
fprintf (stderr, "%s: ", programname);
vfprintf (stderr, _(msgid), ap);
- VA_CLOSE (ap);
+ va_end (ap);
fprintf (stderr, "\n");
delete_temp_files ();
exit (1);
}
void
-error VPARAMS ((const char *msgid, ...))
+error (const char *msgid, ...)
{
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
-
+ va_list ap;
+
+ va_start (ap, msgid);
fprintf (stderr, "%s: ", programname);
vfprintf (stderr, _(msgid), ap);
- VA_CLOSE (ap);
+ va_end (ap);
fprintf (stderr, "\n");
}
static void
-notice VPARAMS ((const char *msgid, ...))
+notice (const char *msgid, ...)
{
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
-
+ va_list ap;
+
+ va_start (ap, msgid);
vfprintf (stderr, _(msgid), ap);
- VA_CLOSE (ap);
+ va_end (ap);
}
\f
static inline void
}
static void
-fnotice VPARAMS ((FILE *file, const char *msgid, ...))
+fnotice (FILE *file, const char *msgid, ...)
{
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, FILE *, file);
- VA_FIXEDARG (ap, const char *, msgid);
-
+ va_list ap;
+
+ va_start (ap, msgid);
vfprintf (file, _(msgid), ap);
- VA_CLOSE (ap);
+ va_end (ap);
}
/* More 'friendly' abort that prints the line and file.
}
static rtx
-attr_rtx VPARAMS ((enum rtx_code code, ...))
+attr_rtx (enum rtx_code code, ...)
{
rtx result;
+ va_list p;
- VA_OPEN (p, code);
- VA_FIXEDARG (p, enum rtx_code, code);
+ va_start (p, code);
result = attr_rtx_1 (code, p);
- VA_CLOSE (p);
+ va_end (p);
return result;
}
rtx attr_printf (len, format, [arg1, ..., argn]) */
char *
-attr_printf VPARAMS ((unsigned int len, const char *fmt, ...))
+attr_printf (unsigned int len, const char *fmt, ...)
{
char str[256];
-
- VA_OPEN (p, fmt);
- VA_FIXEDARG (p, unsigned int, len);
- VA_FIXEDARG (p, const char *, fmt);
+ va_list p;
+
+ va_start (p, fmt);
if (len > sizeof str - 1) /* Leave room for \0. */
abort ();
vsprintf (str, fmt, p);
- VA_CLOSE (p);
+ va_end (p);
return attr_string (str, strlen (str));
}
/* Report an error at POS, printing MSG. */
void
-error_at_line VPARAMS ((struct fileloc *pos, const char *msg, ...))
+error_at_line (struct fileloc *pos, const char *msg, ...)
{
- VA_OPEN (ap, msg);
- VA_FIXEDARG (ap, struct fileloc *, pos);
- VA_FIXEDARG (ap, const char *, msg);
+ va_list ap;
+
+ va_start (ap, msg);
fprintf (stderr, "%s:%d: ", pos->file, pos->line);
vfprintf (stderr, msg, ap);
fputc ('\n', stderr);
hit_error = 1;
- VA_CLOSE (ap);
+ va_end (ap);
}
/* vasprintf, but produces fatal message on out-of-memory. */
/* Wrapper for xvasprintf. */
char *
-xasprintf VPARAMS ((const char *format, ...))
+xasprintf (const char *format, ...)
{
char *result;
- VA_OPEN (ap, format);
- VA_FIXEDARG (ap, const char *, format);
+ va_list ap;
+
+ va_start (ap, format);
xvasprintf (&result, format, ap);
- VA_CLOSE (ap);
+ va_end (ap);
return result;
}
/* Print, like fprintf, to O. */
void
-oprintf VPARAMS ((outf_p o, const char *format, ...))
+oprintf (outf_p o, const char *format, ...)
{
char *s;
size_t slength;
+ va_list ap;
- VA_OPEN (ap, format);
- VA_FIXEDARG (ap, outf_p, o);
- VA_FIXEDARG (ap, const char *, format);
+ va_start (ap, format);
slength = xvasprintf (&s, format, ap);
if (o->bufused + slength > o->buflength)
memcpy (o->buf + o->bufused, s, slength);
o->bufused += slength;
free (s);
- VA_CLOSE (ap);
+ va_end (ap);
}
/* Open the global header file and the language-specific header files. */
static char *save_string PARAMS ((const char *, int));
\f
void
-message_with_line VPARAMS ((int lineno, const char *msg, ...))
+message_with_line (int lineno, const char *msg, ...)
{
- VA_OPEN (ap, msg);
- VA_FIXEDARG (ap, int, lineno);
- VA_FIXEDARG (ap, const char *, msg);
+ va_list ap;
+
+ va_start (ap, msg);
fprintf (stderr, "%s:%d: ", read_rtx_filename, lineno);
vfprintf (stderr, msg, ap);
fputc ('\n', stderr);
- VA_CLOSE (ap);
+ va_end (ap);
}
/* Make a version of gen_rtx_CONST_INT so that GEN_INT can be used in
\f
/* Output an error message and exit */
-/*VARARGS*/
void
-fatal VPARAMS ((const char *format, ...))
+fatal (const char *format, ...)
{
- VA_OPEN (ap, format);
- VA_FIXEDARG (ap, const char *, format);
+ va_list ap;
+
+ va_start (ap, format);
if (line_number > 0)
fprintf (stderr, "%s, %s:%ld ", progname, input_name, line_number);
fprintf (stderr, "%s:", progname);
vfprintf (stderr, format, ap);
- VA_CLOSE (ap);
+ va_end (ap);
fprintf (stderr, "\n");
if (line_number > 0)
fprintf (stderr, "line:\t%s\n", cur_line_start);
exit (1);
}
-/*VARARGS*/
void
-error VPARAMS ((const char *format, ...))
+error (const char *format, ...)
{
- VA_OPEN (ap, format);
- VA_FIXEDARG (ap, char *, format);
+ va_list ap;
+
+ va_start (ap, format);
if (line_number > 0)
fprintf (stderr, "%s, %s:%ld ", progname, input_name, line_number);
fprintf (stderr, "line:\t%s\n", cur_line_start);
had_errors++;
- VA_CLOSE (ap);
+ va_end (ap);
saber_stop ();
}
\f
/* Translate and output an error message. */
static void
-notice VPARAMS ((const char *msgid, ...))
+notice (const char *msgid, ...)
{
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, const char *, msgid);
-
+ va_list ap;
+
+ va_start (ap, msgid);
vfprintf (stderr, _(msgid), ap);
- VA_CLOSE (ap);
+ va_end (ap);
}
\f
have any bits in common. */
void
-ra_debug_msg VPARAMS ((unsigned int level, const char *format, ...))
+ra_debug_msg (unsigned int level, const char *format, ...)
{
- VA_OPEN (ap, format);
- VA_FIXEDARG (ap, unsigned int, level);
- VA_FIXEDARG (ap, const char *, format);
+ va_list ap;
+
+ va_start (ap, format);
if ((debug_new_regalloc & level) != 0 && rtl_dump_file != NULL)
vfprintf (rtl_dump_file, format, ap);
- VA_CLOSE (ap);
+ va_end (ap);
}
const char *read_rtx_filename = "<unknown>";
static void
-fatal_with_file_and_line VPARAMS ((FILE *infile, const char *msg, ...))
+fatal_with_file_and_line (FILE *infile, const char *msg, ...)
{
char context[64];
size_t i;
int c;
+ va_list ap;
- VA_OPEN (ap, msg);
- VA_FIXEDARG (ap, FILE *, infile);
- VA_FIXEDARG (ap, const char *, msg);
+ va_start (ap, msg);
fprintf (stderr, "%s:%d: ", read_rtx_filename, read_rtx_lineno);
vfprintf (stderr, msg, ap);
fprintf (stderr, "%s:%d: following context is `%s'\n",
read_rtx_filename, read_rtx_lineno, context);
- VA_CLOSE (ap);
+ va_end (ap);
exit (1);
}
}
void
-error_for_asm VPARAMS ((rtx insn, const char *msgid, ...))
+error_for_asm (rtx insn, const char *msgid, ...)
{
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, rtx, insn);
- VA_FIXEDARG (ap, const char *, msgid);
-
+ va_list ap;
+
+ va_start (ap, msgid);
diagnostic_for_asm (insn, msgid, &ap, DK_ERROR);
- VA_CLOSE (ap);
+ va_end (ap);
}
void
-warning_for_asm VPARAMS ((rtx insn, const char *msgid, ...))
+warning_for_asm (rtx insn, const char *msgid, ...)
{
- VA_OPEN (ap, msgid);
- VA_FIXEDARG (ap, rtx, insn);
- VA_FIXEDARG (ap, const char *, msgid);
-
+ va_list ap;
+
+ va_start (ap, msgid);
diagnostic_for_asm (insn, msgid, &ap, DK_WARNING);
- VA_CLOSE (ap);
+ va_end (ap);
}
void
Constants, decls, types and misc nodes cannot be. */
tree
-build VPARAMS ((enum tree_code code, tree tt, ...))
+build (enum tree_code code, tree tt, ...)
{
tree t;
int length;
int i;
int fro;
int constant;
+ va_list p;
- VA_OPEN (p, tt);
- VA_FIXEDARG (p, enum tree_code, code);
- VA_FIXEDARG (p, tree, tt);
+ va_start (p, tt);
t = make_node (code);
length = TREE_CODE_LENGTH (code);
}
}
}
- VA_CLOSE (p);
+ va_end (p);
TREE_CONSTANT (t) = constant;
return t;
or even garbage if their values do not matter. */
tree
-build_nt VPARAMS ((enum tree_code code, ...))
+build_nt (enum tree_code code, ...)
{
tree t;
int length;
int i;
+ va_list p;
- VA_OPEN (p, code);
- VA_FIXEDARG (p, enum tree_code, code);
+ va_start (p, code);
t = make_node (code);
length = TREE_CODE_LENGTH (code);
for (i = 0; i < length; i++)
TREE_OPERAND (t, i) = va_arg (p, tree);
- VA_CLOSE (p);
+ va_end (p);
return t;
}
\f
be terminated by NULL_TREE. */
tree
-build_function_type_list VPARAMS ((tree return_type, ...))
+build_function_type_list (tree return_type, ...)
{
tree t, args, last;
+ va_list p;
- VA_OPEN (p, return_type);
- VA_FIXEDARG (p, tree, return_type);
+ va_start (p, return_type);
t = va_arg (p, tree);
for (args = NULL_TREE; t != NULL_TREE; t = va_arg (p, tree))
TREE_CHAIN (last) = void_list_node;
args = build_function_type (return_type, args);
- VA_CLOSE (p);
+ va_end (p);
return args;
}