aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorNeil Booth <neilb@earthling.net>2000-11-28 21:13:35 +0000
committerNeil Booth <neil@gcc.gnu.org>2000-11-28 21:13:35 +0000
commitcf44ea523133ce4e91d097471bad44232c550a55 (patch)
treee48c58ce615d53fe8e02183447bad8c0843a2462 /gcc/cp
parent74d2f859d248c7181a01a6d54bd45a27ce22ae21 (diff)
downloadgcc-cf44ea523133ce4e91d097471bad44232c550a55.zip
gcc-cf44ea523133ce4e91d097471bad44232c550a55.tar.gz
gcc-cf44ea523133ce4e91d097471bad44232c550a55.tar.bz2
c-lex.h (parse_in): Change parse_in to a cpp_reader *.
* c-lex.h (parse_in): Change parse_in to a cpp_reader *. * c-decl.c (c_decode_option): Update to match. * c-lex.c (init_c_lex, yyparse): Update to match. * c-lang.c (lang_init_options): Use cpp_create_reader. * cppinit.c (cpp_init): Rename initialize. (cpp_reader_init): Rename cpp_create_reader. Create the reader. Initialize cpplib if appropriate. * cpplib.h (cpp_create_reader) New prototype. (cpp_init, cpp_reader_init): Delete prototypes. * cppmain.c (general_init, setup_callbacks): New functions. (main): Use them. * fix-header.c (scan_in): Change type to cpp_reader *. (read_scan_file): Update for new cpplib interface and scan_in type. * cp/decl.c (parse_in): Change to cpp_reader *. (lang_decode_option): Update. * cp/lex.c (lang_init_options): Use new cpplib interface. (init_cp_pragma, finish_parse, handle_pragma_implementation): Update. * cp/spew.c (read_token): Update. * objc/objc-act.c (lang_init_options): Update new cpplib interface. From-SVN: r37826
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/decl2.c4
-rw-r--r--gcc/cp/lex.c24
-rw-r--r--gcc/cp/spew.c4
3 files changed, 15 insertions, 17 deletions
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index c73cec3..00017aa 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -46,7 +46,7 @@ Boston, MA 02111-1307, USA. */
#include "ggc.h"
#include "timevar.h"
#include "cpplib.h"
-extern cpp_reader parse_in;
+extern cpp_reader *parse_in;
/* This structure contains information about the initializations
and/or destructions required for a particular priority level. */
@@ -569,7 +569,7 @@ lang_decode_option (argc, argv)
int strings_processed;
const char *p = argv[0];
- strings_processed = cpp_handle_option (&parse_in, argc, argv);
+ strings_processed = cpp_handle_option (parse_in, argc, argv);
if (!strcmp (p, "-ftraditional") || !strcmp (p, "-traditional"))
/* ignore */;
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c
index 79919f9..0565704 100644
--- a/gcc/cp/lex.c
+++ b/gcc/cp/lex.c
@@ -79,7 +79,6 @@ static void init_operators PARAMS ((void));
#endif
#include "cpplib.h"
-extern cpp_reader parse_in;
/* Pending language change.
Positive is push count, negative is pop count. */
@@ -246,8 +245,7 @@ static const char *cplus_tree_code_name[] = {
void
lang_init_options ()
{
- cpp_init ();
- cpp_reader_init (&parse_in, CLK_GNUCXX);
+ parse_in = cpp_create_reader (CLK_GNUCXX);
/* Default exceptions on. */
flag_exceptions = 1;
@@ -661,16 +659,16 @@ init_reswords ()
static void
init_cp_pragma ()
{
- cpp_register_pragma (&parse_in, 0, "vtable", handle_pragma_vtable);
- cpp_register_pragma (&parse_in, 0, "unit", handle_pragma_unit);
+ cpp_register_pragma (parse_in, 0, "vtable", handle_pragma_vtable);
+ cpp_register_pragma (parse_in, 0, "unit", handle_pragma_unit);
- cpp_register_pragma (&parse_in, 0, "interface", handle_pragma_interface);
- cpp_register_pragma (&parse_in, 0, "implementation",
+ cpp_register_pragma (parse_in, 0, "interface", handle_pragma_interface);
+ cpp_register_pragma (parse_in, 0, "implementation",
handle_pragma_implementation);
- cpp_register_pragma_space (&parse_in, "GCC");
- cpp_register_pragma (&parse_in, "GCC", "interface", handle_pragma_interface);
- cpp_register_pragma (&parse_in, "GCC", "implementation",
+ cpp_register_pragma_space (parse_in, "GCC");
+ cpp_register_pragma (parse_in, "GCC", "interface", handle_pragma_interface);
+ cpp_register_pragma (parse_in, "GCC", "implementation",
handle_pragma_implementation);
}
@@ -742,8 +740,8 @@ init_parse (filename)
void
finish_parse ()
{
- cpp_finish (&parse_in);
- errorcount += parse_in.errors;
+ cpp_finish (parse_in);
+ errorcount += parse_in->errors;
}
inline void
@@ -1150,7 +1148,7 @@ handle_pragma_implementation (dfile)
else
{
main_filename = TREE_STRING_POINTER (fname);
- if (cpp_included (&parse_in, main_filename))
+ if (cpp_included (parse_in, main_filename))
warning ("#pragma implementation for %s appears after file is included",
main_filename);
}
diff --git a/gcc/cp/spew.c b/gcc/cp/spew.c
index 38d8bd0..3fc1469 100644
--- a/gcc/cp/spew.c
+++ b/gcc/cp/spew.c
@@ -323,8 +323,8 @@ read_token (t)
#undef YYCODE
case CPP_EOF:
- cpp_pop_buffer (&parse_in);
- if (CPP_BUFFER (&parse_in))
+ cpp_pop_buffer (parse_in);
+ if (CPP_BUFFER (parse_in))
goto retry;
t->yychar = 0;
break;