Go to file
Zack Weinberg bfb9dc7faa cpplib.h (struct cpp_name): Now struct cpp_string.
* cpplib.h (struct cpp_name): Now struct cpp_string.
	(CPP_INT, CPP_FLOAT, CPP_NUMBER, CPP_COMMENT,
	CPP_HEADER_NAME): Change to type S.
	(struct cpp_token): Rename 'name' field to 'str'.  Add 'node'
	field, a cpp_hashnode *.  All references to val.name updated
	to use val.str or val.node as appropriate.
	(struct cpp_reader): Add spec_nodes field.
	(cpp_idcmp): Now cpp_ideq; takes a token * and a char *.

	* cpphash.h (struct spec_nodes): New.
	(enum spell_type): Reorder.  Only SPELL_STRING tokens use
	val.str.  All references to 'spelling > SPELL_NONE' updated to
	match.

	(CPP_IN_SYSTEM_HEADER): Check pfile->buffer and
	pfile->buffer->inc are not NULL before dereferencing them.

	* cpplex.c (parse_name): Take a pointer to the current token,
	plus current position and limit as args; return the new
	position; don't copy the text of a name into the string
	buffer, instead call cpp_lookup and store the node pointer.
	If extending a token, copy out the text of the old into a
	scratch buffer, append the new, look that up and store the new
	node pointer.  Inline.
	(maybe_paste_with_next): If the result of paste is a NAME,
	then look up the pasted text and store its node pointer.
	(lex_line): Adjust for new parse_name interface.
	Check for L"str", L'str' using spec_nodes->n_L.
	(spell_token): SPELL_IDENT tokens have their spelling in
	val.node->name.  Handle SPELL_STRING tokens that don't have
	string delimiters.
	(_cpp_expand_name_space,
	(can_paste): Check for L ## "str" using spec_nodes->n_L.
	(cpp_get_token, special_symbol): No need to call cpp_lookup.
	(cpp_idcmp): Now cpp_ideq; take a token * and a const char *;
	return 1=equal 0=not, not a tristate.

	* cpphash.c (var_args_str): Delete.
	(find_param): Compare node fields directly.
	(is__va_args__): Use CPP_PEDANTIC.  Just compare
	token->val.node with spec_nodes->n__VA_ARGS__.
	(dump_funlike_macro): Don't use var_args_str.

	* cpplib.c (_cpp_check_directive): Just walk through
	spec_nodes->dirs comparing pointers.
	(get_define_node, do_pragma_poison, detect_if_not_defined,
	parse_ifdef): The identifier has already been looked up.
	(do_ifdef, do_ifndef): parse_ifdef won't return a poisoned
	node.
	(do_if): Only call detect_if_not_defined at beginning of file.
	(_cpp_parse_assertion): Only copy string pointers for
	SPELL_STRING tokens.
	(pragma_dispatch): Take a node pointer and examine its name
	field.
	(_cpp_init_stacks): Also initialize the spec_nodes structure.

	* cppinit.c (cpp_reader_init): Call _cpp_init_stacks after
	_cpp_init_macros.
	(cpp_cleanup): Free pfile->spec_nodes.  Call _cpp_cleanup_* in
	reverse order from the corresponding _cpp_init_* routines.

	* cppexp.c (parse_number, parse_charconst, parse_defined,
	lex): Check val.node->type instead of calling cpp_defined.
	Use spec_nodes entries where appropriate.

	* fix-header.c, scan-decls.c: Update for interface changes.

From-SVN: r34926
2000-07-08 19:00:39 +00:00
boehm-gc Imported version 5.1. 2000-06-20 02:04:58 +01:00
config mh-sparcpic: Use single instead of double quotes. 2000-06-21 16:22:41 -06:00
contrib * newcvsroot: Handle filenames that contain spaces. 2000-06-04 17:33:50 +00:00
etc
gcc cpplib.h (struct cpp_name): Now struct cpp_string. 2000-07-08 19:00:39 +00:00
include in include/ChangeLog: 2000-06-23 03:58:44 +00:00
INSTALL
libchill
libf2c Daily bump. 2000-07-08 01:45:08 -06:00
libffi
libiberty cplus-dem.c (main): fflush() after emitting last char before waiting for input. 2000-07-07 13:50:49 +00:00
libio in libiberty/ChangeLog: 2000-06-30 15:25:33 +00:00
libjava natClassLoader.cc (_Jv_PrepareCompiledClass): Initialize static final String fields. 2000-07-07 20:54:32 +00:00
libobjc
libstdc++ gslice_array.h, [...]: Do not paste anything after 'operator' keyword. 2000-07-06 17:42:14 +00:00
libstdc++-v3 configure.in (AC_OUTPUT_COMMANDS): Link $THREADS.h and c++threads.h instead of copying. 2000-07-08 01:25:04 +00:00
texinfo
zlib
.cvsignore
ChangeLog * symlink-tree: Check number of arguments. 2000-07-07 07:18:48 -06:00
config-ml.in
config.guess config.guess: Updated to latest version. 2000-06-05 23:23:43 +00:00
config.if
config.sub config.guess: Updated to latest version. 2000-06-05 23:23:43 +00:00
configure
configure.in
COPYING
COPYING.LIB
install-sh
ltconfig
ltmain.sh
MAINTAINERS * MAINTAINERS: Add myself as loop discovery maintainer. 2000-06-29 11:22:59 +00:00
Makefile.in Fix CXX_FOR_TARGET to add -L libstdc++ 2000-07-06 00:50:01 +00:00
missing
mkinstalldirs
move-if-change
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.