5148a72b33
* gansidecl.h: Prepend a "G" to the macro wrapping this file (to distinguish it from the macro wrapping ansidecl.h.) Include libiberty's ansidecl.h. Remove all redundant definitions. Define the PROTO() style macros in terms of the PARAMS() ones. * calls.c (emit_library_call): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding whether to use ANSI variable args. (emit_library_call_value): Likewise. * cccp.c (error): Likewise. (warning): Likewise. (error_with_line): Likewise. (warning_with_line): Likewise. (pedwarn): Likewise. (pedwarn_with_line): Likewise. (pedwarn_with_file_and_line): Likewise. (fatal): Likewise. * cexp.y (error): Likewise. (pedwarn): Likewise. (warning): Likewise. * collect2.c (fatal_perror): Likewise. (fatal): Likewise. (error): Likewise. * combine.c (gen_rtx_combine): Likewise. * cpperror.c (cpp_message): Likewise. (cpp_fatal): Likewise. * cpplib.c (cpp_error): Likewise. (cpp_warning): Likewise. (cpp_pedwarn): Likewise. (cpp_error_with_line): Likewise. (cpp_warning_with_line): Likewise. (cpp_pedwarn_with_line): Likewise. (cpp_pedwarn_with_file_and_line): Likewise. * cpplib.h: Don't define PARAMS() macro. * demangle.h: Likewise. * doprint.c (checkit): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding whether to use ANSI variable args. * emit-rtl.c (gen_rtx): Likewise. (gen_rtvec): Likewise. * final.c (asm_fprintf): Likewise. * fix-header.c (cpp_message): Likewise. (fatal): Likewise. (cpp_fatal): Likewise. * gcc.c (concat): Likewise. (fatal): Likewise. (error): Likewise. * genattr.c (fatal): Likewise. * genattrtab.c (attr_rtx): Likewise. (attr_printf): Likewise. (fatal): Likewise. * gencodes.c (fatal): Likewise. * genconfig.c (fatal): Likewise. * genemit.c (fatal): Likewise. * genextract.c (fatal): Likewise. * genflags.c (fatal): Likewise. * genopinit.c (fatal): Likewise. * genoutput.c (fatal): Likewise. (error): Likewise. * genpeep.c (fatal): Likewise. * genrecog.c (fatal): Likewise. * halfpic.h: Switch on ANSI_PROTOTYPES, not __STDC__, when deciding whether to declare `tree_node' and `rtx_def'. * hash.h: Don't define stuff we get from gansidecl.h. * mips-tfile.c: Likewise. Define __proto() in terms of PARAMS(). (fatal): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding whether to use ANSI variable args. (error): Likewise. * prefix.c (concat): Likewise. * scan.h: Likewise. * system.h: Likewise. * toplev.c (error_with_file_and_line): Likewise. (error_with_decl): Likewise. (error_for_asm): Likewise. (error): Likewise. (fatal): Likewise. (warning_with_file_and_line): Likewise. (warning_with_decl): Likewise. (warning_for_asm): Likewise. (warning): Likewise. (pedwarn): Likewise. (pedwarn_with_decl): Likewise. (pedwarn_with_file_and_line): Likewise. (sorry): Likewise. (really_sorry): Likewise. * toplev.h: Switch on ANSI_PROTOTYPES, not __STDC__, when deciding whether to declare `tree_node' and `rtx_def'. * tree.c (build): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding whether to use ANSI variable args. (build_nt): Likewise. (build_parse_node): Likewise. From-SVN: r23577
78 lines
2.6 KiB
C
78 lines
2.6 KiB
C
/* scan.h - Utility declarations for scan-decls and fix-header programs.
|
|
Copyright (C) 1993 Free Software Foundation, Inc.
|
|
|
|
This program is free software; you can redistribute it and/or modify it
|
|
under the terms of the GNU General Public License as published by the
|
|
Free Software Foundation; either version 2, or (at your option) any
|
|
later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
|
|
|
#include <stdio.h>
|
|
|
|
typedef struct sstring
|
|
{
|
|
char *base;
|
|
char *ptr;
|
|
char *limit;
|
|
} sstring;
|
|
|
|
#define INIT_SSTRING(STR) ((STR)->base = 0, (STR)->ptr = 0, (STR)->limit = 0)
|
|
#define FREE_SSTRING(STR) do { if ((STR)->base) free (STR)->base; } while(0)
|
|
#define SSTRING_PUT(STR, C) do {\
|
|
if ((STR)->limit <= (STR)->ptr) make_sstring_space (STR, 1); \
|
|
*(STR)->ptr++ = (C); } while (0)
|
|
#define SSTRING_LENGTH(STR) ((STR)->ptr - (STR)->base)
|
|
#define MAKE_SSTRING_SPACE(STR, COUNT) \
|
|
if ((STR)->limit - (STR)->ptr < (COUNT)) make_sstring_space (STR, COUNT);
|
|
|
|
#ifndef _PARAMS
|
|
#if defined(ANSI_PROTOTYPES) || defined(__cplusplus)
|
|
#define _PARAMS(args) args
|
|
#else
|
|
#define _PARAMS(args) ()
|
|
#endif
|
|
#endif
|
|
|
|
struct partial_proto;
|
|
struct fn_decl
|
|
{
|
|
char *fname;
|
|
char *rtype;
|
|
char *params;
|
|
struct partial_proto *partial;
|
|
};
|
|
|
|
extern int lineno;
|
|
extern void sstring_append _PARAMS((sstring *, sstring *));
|
|
extern void make_sstring_space _PARAMS((sstring *, int));
|
|
extern int skip_spaces _PARAMS((FILE *, int));
|
|
extern int scan_ident _PARAMS((FILE *, sstring *, int));
|
|
extern int scan_string _PARAMS((FILE *, sstring *, int));
|
|
extern int read_upto _PARAMS((FILE *, sstring *, int));
|
|
extern char *xmalloc _PARAMS((unsigned));
|
|
extern char *xrealloc _PARAMS((char *, unsigned));
|
|
extern unsigned long hash _PARAMS((const char *));
|
|
extern void recognized_function _PARAMS((char *, int, int, char *, int, int, char *, int));
|
|
extern void recognized_extern _PARAMS((char *, int, char *, int));
|
|
|
|
/* get_token is a simple C lexer. */
|
|
#define IDENTIFIER_TOKEN 300
|
|
#define CHAR_TOKEN 301
|
|
#define STRING_TOKEN 302
|
|
#define INT_TOKEN 303
|
|
extern int get_token _PARAMS ((FILE *, sstring *));
|
|
|
|
/* Current file and line numer, taking #-directives into account */
|
|
extern int source_lineno;
|
|
extern sstring source_filename;
|
|
/* Current physical line number */
|
|
extern int lineno;
|