Go to file
Zack Weinberg 0e5921e8a0 Integrated preprocessor.
top level:
	* Makefile.in: Remove all references to c-parse.gperf,
	c-gperf.h, and c-parse.h.  Remove -d from yacc command line
	generating c-parse.c.  Update dependencies.
	* c-parse.gperf, c-gperf.h: Delete.

	* c-common.c: Don't define parse_options, cpp_token, yy_cur,
	yy_lim, or yy_get_token.  Don't define get_directive_line if
	USE_CPPLIB.
	* c-common.h: Add multiple include guard.  Define RID values
	for every keyword in C, C++, and Objective C.  Put all the
	modifiers first.
	(struct c_fileinfo, get_fileinfo, dump_time_statistics): New.
	* c-decl.c (c_decode_option): Handle -lang-objc here.
	(print_lang_identifier): Handle C_IS_RESERVED_WORD case.
	(grokdeclarator): Adjust for new RID scheme.
	(extract_interface_info): New stub.
	* c-lang.c: Don't declare yy_cur or parse_options.
	(lang_init_options): Call cpp_init.  Don't call
	cpp_options_init.
	(lang_init): Don't call check_newline if USE_CPPLIB.

	* c-lex.c: Don't include c-parse.h.  Do include timevar.h.
	Elide lots of unnecessary code if USE_CPPLIB.  Delete code
	rendered unnecessary by new architecture.  Move routines not
	shared with C++ to c-parse.in.  Maintain a local idea of the
	line number.    Handle C++ as well as C.
	[USE_CPPLIB]: Declare and register callbacks for #ident and
	for entering/leaving files.
	(init_c_lex, c_lex): Are now the entry points to this file.
	(check_newline): Break out directive handling to
	process_directive.
	(read_ucs, is_extended_char, utf8_extend_token): Moved here
	from C++ front end.
	(readescape, parse_float): Overhaul.
	(lex_number, lex_string, lex_charconst): Break out of c_lex
	(n'ee yylex).
	(get_fileinfo, update_header_times, dump_one_header,
	dump_time_statistics): New and/or moved here from C++.
	Support per-file data needed by C++ and per-header timing
	statistics (C++ only, at the moment).
	* c-lex.h: Update prototypes.  Add multiple include guard.
	* c-tree.h (struct lang_identifier): Add rid_code field.
	(C_IS_RESERVED_WORD, C_RID_CODE): New.

	* c-parse.in: Include c-pragma.h. Remove unnecesary calls to
	reinit_parse_for_function and/or position_after_white_space.
	(save_filename, save_lineno): Look ahead before saving.
	(label -> identifier ':'): Save file and line before shifting ':'.
	(reservedwords): No need to call get_identifier.
	(init_parse, finish_parse, yyerror, yylex, yyprint,
	make_pointer_declarator): Are now here for C/ObjC.
	(rid_to_yy): Conversion table from RID constants to Yacc codes.

	* c-pragma.c: Rewrite parsing logic to fit with cpplib's
	#pragma registry.  Provide dummy implementation of that
	interface if !USE_CPPLIB.
	* c-pragma.h: Update to match.

	* flags.h: Add multiple include guard.
	(flag_detailed_statistics): Moved here from C++.
	* toplev.c: Define flag_detailed_statistics.

	* gcc.c (C specs): Use %(trad_capable_cpp) for -E|-M|-MM case
	#if USE_CPPLIB.
	* timevar.def (TV_CPP, TV_LEX): New.
	* timevar.h: Add multiple include guard.

	* objc/lang-specs.h: Use %(trad_capable_cpp) for -E|-M|-MM case
	#if USE_CPPLIB.
	* objc/objc-act.c: Don't mention yy_cur or parse_options.
	Initialize cpplib properly.  Force lineno to 0 after first
	call to check_newline.  Don't handle -lang-objc here.
	Move forget_protocol_qualifiers and remember_protocol_qualifiers here.

cp:
	* Make-lang.in, Makefile.in: Remove all references to input.c,
	gxx.gperf, and hash.h.  Add ../c-lex.o to C_OBJS.
	* gxx.gperf, hash.h, input.c: Delete.
	* lang-specs.h: Pass -lang-c++ to cc1plus so cpplib is
	initialized properly.

	* class.c (fixup_pending_inline): Take a tree, not a
	struct pending_inline *.  All callers changed.
	(init_class_processing): Set RID_PUBLIC, RID_PRIVATE,
	RID_PROTECTED entries in ridpointers[] array here.
	* decl.c (duplicate_decls): Do not refer to struct
	pending_inline.
	(record_builtin_type, init_decl_processing): Use RID_MAX not
	CP_RID_MAX.
	(grokdeclarator): Use C_IS_RESERVED_WORD.
	* decl2.c (lang_decode_option): Ignore -lang-c++ for sake of
	cpplib.
	(grok_x_components): Do not inspect pending_inlines chain.

	* cp-tree.h (struct lang_identifier): Add rid_code entry.
	(C_IS_RESERVED_WORD, C_RID_CODE, C_RID_YYCODE): New.
	(flag_no_gnu_keywords, flag_operator_names, rid_to_yy): Declare.
	(DEFARG_LENGTH, struct pending_inline, TIME_IDENTIFIER_TIME,
	TIME_IDENTIFIER_FILEINFO): Kill.
	Update prototypes.
	* lex.h: Expunge cp_rid.  Rewrite RIDBIT macros to use just a
	single 32-bit word.
	* parse.y: Call do_pending_inlines unconditionally.
	reinit_parse_for_method is now snarf_method.  fn.defpen is no
	longer necessary.  Remove unnecessary <itype> annotation on
	SCOPE.  Do not refer to end_of_file or struct pending_inline.
	* semantics.c (begin_inline_definitions): Call
	do_pending_inlines unconditionally.

	* lex.c: Remove all code now shared with C front end.
	Initialize cpplib properly if USE_CPPLIB.  Put reserved words
	into the get_identifier table.  Rewrite pragma handling to
	work with the registry.  Move code to save tokens for later
	processing to spew.c.

	* spew.c: Rewrite everything in terms of token streams instead
	of text.  Move routines here from lex.c / input.c as
	appropriate.  GC-mark trees hanging off the pending inlines
	chain.

testsuite:
	* g++.old-deja/g++.benjamin/13478.C: Put meaningful tags on
	ERROR markers.
	* g++.old-deja/g++.brendan/crash8.C: Move ERROR marker up one line.
	* gcc.dg/c99-array-nonobj-1.c: Don't expect func[] cases to fail.
	* gcc.dg/wtr-label-1.c: Don't use unconstrained .* in error regexps.
	* gcc.dg/wtr-suffix-1.c: Correct error regexps.
	* gcc.dg/cpp/unc1.c, gcc.dg/cpp/unc2.c, gcc.dg/cpp/unc3.c:
	Preprocess only.
	* gcc.dg/cpp/unc4.c: Adjust line number in dg-error line.
	* gcc.dg/noncompile/const-ll-1.c: Generalize error regexp.

From-SVN: r36216
2000-09-07 00:37:14 +00:00
boehm-gc re GNATS libgcj/230 (Function GC_debug_object_start does not exist) 2000-09-04 21:46:26 +00:00
config mh-djgpp: Conditionally set 'target_alias' to djgpp. 2000-08-04 10:17:37 -06:00
contrib gcc_update: Execute touch_files_reexec even if cvs update failed. 2000-08-30 21:56:42 +00:00
etc * standards.texi, make-stds.texi: Update to FSF version of May 13. 2000-05-18 07:17:15 +00:00
gcc Integrated preprocessor. 2000-09-07 00:37:14 +00:00
include John David Anglin <dave@hiauly1.hia.nrc.ca> 2000-09-05 23:10:12 -07:00
INSTALL More mail address and web address updates. 1999-08-09 00:48:10 -06:00
libchill Makefile.in (STROBJS): Get memmove.o from configure. 2000-05-31 16:54:07 -07:00
libf2c Daily bump. 2000-09-06 01:45:08 -06:00
libffi configure.in [...] (TARGET, TARGETDIR): Set. 2000-08-24 01:01:57 +00:00
libiberty cp-demangle.c (demangle_encoding): Rename variable. 2000-09-05 22:37:17 +00:00
libio editbuf.h (edit_streambuf): Fix syntax error in friend-declaration. 2000-08-18 10:20:52 +00:00
libjava jvm.h (_Jv_HashCode): Cast object ptr to `unsigned long' to avoid long long division. 2000-09-06 22:25:56 +00:00
libobjc * configure: Rebuilt with new libtool.m4. 2000-09-06 14:08:04 +00:00
libstdc++ bitset (bitset::_M_is_any): Don't use __BITSET_WORDS macro on _Nw since _Nw is already the number of words... 2000-08-22 13:24:01 -06:00
libstdc++-v3 string.tcc: Fix up more parameter names. 2000-09-06 21:59:52 +00:00
texinfo dummy checkin to prevent merge lossage 1999-09-04 09:09:22 -06:00
zlib configure.in (multilib): Enable by default only for target. 2000-09-06 19:13:01 +00:00
.cvsignore merge with /cvs/src 2000-07-22 04:08:22 -04:00
ChangeLog * Makefile.in (all-zlib): Added dummy target. 2000-09-06 18:58:34 +00:00
config-ml.in config-ml.in (CC, CXX): Avoid trailing whitespace. 2000-08-22 05:02:48 +00:00
config.guess Checked in for recognition of x86_64 2000-09-05 10:33:51 +00:00
config.if config.if: Tweak. 2000-05-02 00:51:59 +00:00
config.sub Checked in for recognition of x86_64 2000-09-05 10:33:51 +00:00
configure top level: 2000-08-14 18:08:46 +00:00
configure.in Configure changes required for zlib. 2000-09-03 21:09:10 +00:00
COPYING
COPYING.LIB
djunpack.bat merge with /cvs/src 2000-07-22 04:08:22 -04:00
install-sh Final changes from devo<->egcs merge. 1998-10-12 04:44:57 -06:00
libtool.m4 ltconfig, [...]: Updated from libtool multi-language branch. 2000-09-06 13:59:29 +00:00
ltcf-c.sh ltconfig, [...]: Updated from libtool multi-language branch. 2000-09-06 13:59:29 +00:00
ltcf-cxx.sh ltconfig, [...]: Updated from libtool multi-language branch. 2000-09-06 13:59:29 +00:00
ltcf-gcj.sh ltconfig, [...]: Updated from libtool multi-language branch. 2000-09-06 13:59:29 +00:00
ltconfig ltconfig, [...]: Updated from libtool multi-language branch. 2000-09-06 13:59:29 +00:00
ltmain.sh ltconfig, [...]: Updated from libtool multi-language branch. 2000-09-06 13:59:29 +00:00
MAINTAINERS MAINTAINERS: Add self to Write After Approval list. 2000-08-30 20:40:25 +00:00
Makefile.in * Makefile.in (all-zlib): Added dummy target. 2000-09-06 18:58:34 +00:00
missing merge with /cvs/src 2000-07-22 04:08:22 -04:00
mkdep merge with /cvs/src 2000-07-22 04:08:22 -04:00
mkinstalldirs
move-if-change FSF address fix in copyright header. 1999-01-11 07:12:18 -07:00
README
symlink-tree * symlink-tree: Check number of arguments. 2000-07-07 07:18:48 -06:00
ylwrap

		   README for GNU development tools

This directory contains various GNU compilers, assemblers, linkers, 
debuggers, etc., plus their support routines, definitions, and documentation.


Check the INSTALL directory for detailed configuration and installation
instructions.


Much of the code and documentation enclosed is copyright by
the Free Software Foundation, Inc.  See the file COPYING or
COPYING.LIB in the various directories, for a description of the
GNU General Public License terms under which you can copy the files.

REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info
on where and how to report problems.