Go to file
Zack Weinberg d35364d13e Convert cpplib to use libiberty/hashtab.c.
* cpplib.h (struct cpp_reader): Make hashtab and
	all_include_files of type 'struct htab *'.  Delete HASHSIZE
	and ALL_INCLUDE_HASHSIZE macros.

	* cpphash.h: Update prototypes.
	(struct hashnode): Remove next, prev, and bucket_hdr members.
	Make length a size_t.  Add hash member.
	(struct ihash): Remove next member.  Add hash member.  Make
	name a flexible array member.

	* cppfiles.c: Include hashtab.h.
	(include_hash): Delete.
	(IHASHSIZE): New macro.
	(hash_IHASH, eq_IHASH, _cpp_init_include_hash): New functions.
	(cpp_included): Do the hash lookup here.
	(_cpp_find_include_file): Rewrite.
	(cpp_read_file): Put the "fake" hash entry into the hash
	table.  Honor the control_macro, if it turns out we've seen
	the file before.  Don't push the buffer here.
	(_cpp_read_include_file): Push the buffer here.
	(OMODES): New macro.  Use it whenever we call open(2).

	* cpphash.c: Include hashtab.h.
	(hash_HASHNODE, eq_HASHNODE, del_HASHNODE, dump_hash_helper,
	_cpp_init_macro_hash, _cpp_dump_macro_hash, _cpp_make_hashnode,
	_cpp_lookup_slot): New functions.
	(HASHSIZE): new macro.
	(hashf, _cpp_install, _cpp_delete_macro): Delete.
	(_cpp_lookup): Use hashtab.h routines.

	* cppinit.c: Include hashtab.h.
	(cpp_reader_init): Call _cpp_init_macro_hash and
	_cpp_init_include_hash.  Don't allocate hashtab directly.
	(cpp_cleanup): Just call htab_delete on pfile->hashtab and
	pfile->all_include_files.
	(initialize_builtins): Use _cpp_make_hashnode and
	htab_find_slot to add hash entries.
	(cpp_finish): Just call _cpp_dump_macro_hash.
	* cpplib.c: Include hashtab.h.
	(do_define): Use _cpp_lookup_slot and _cpp_make_hashnode to
	create hash entries.
	(do_pragma_poison, do_assert): Likewise.
	(do_include): Don't push the buffer here.  Don't increment
	system_include_depth unless _cpp_read_include_file succeeds.
	(do_undef, do_unassert): Use _cpp_lookup_slot and htab_clear_slot
	or htab_remove_elt.
	(do_pragma_implementation): Use alloca to create copy.

	* Makefile.in: Update dependencies.

From-SVN: r32497
2000-03-12 23:46:05 +00:00
boehm-gc gc.h (dlopen): Define as GC_dlopen on Linux. 2000-02-14 21:53:27 +00:00
config Add support for sh-pe and arm-wince-pe targets. 2000-02-23 01:25:56 +00:00
contrib newcvsroot: Add check on the number of command-line arguments. 1999-12-18 14:34:56 +00:00
etc * configure.in: Use AC_PREREQ(2.12.1). 1998-11-23 13:51:40 +00:00
gcc Convert cpplib to use libiberty/hashtab.c. 2000-03-12 23:46:05 +00:00
include Changes in include: 2000-03-10 08:16:55 +00:00
INSTALL More mail address and web address updates. 1999-08-09 00:48:10 -06:00
libchill Alan Modra <alan@SPRI.Levels.UniSA.Edu.Au> 1999-10-27 01:14:18 -07:00
libf2c configure.in: Define IEEE_COMPLEX_DIVIDE. 2000-03-12 19:20:47 +00:00
libffi re GNATS gcj/168 (Build fails on Alpha) 2000-03-09 04:47:57 +00:00
libiberty Changes in include: 2000-03-10 08:16:55 +00:00
libio fstream.h (ifstream::ifstream): Add ios::in to mode. 2000-01-28 09:55:33 +00:00
libjava Key.java (serialVersionUID): Set to 0 for now. 2000-03-10 05:10:40 +00:00
libobjc Makefile.in: Add -DIN_TARGET_LIBS to ALL_CFLAGS. 2000-02-23 08:43:44 +00:00
libstdc++ bastring.h (basic_string<>::push_back): Was missing. 2000-03-10 21:20:08 +00:00
texinfo dummy checkin to prevent merge lossage 1999-09-04 09:09:22 -06:00
zlib configure: Rebuilt. 1999-10-04 22:08:42 +00:00
.cvsignore * .cvsignore (*-install): Remove. 1997-09-04 09:49:02 -06:00
ChangeLog * MAINTAINERS: Added myself for write-after-approval. 2000-03-12 17:24:42 +00:00
config-ml.in config-ml.in (sparc*-*-*): Disable sparcv9 support if the necessary libraries are missing. 1999-11-23 00:57:06 -07:00
config.guess config.guess: Synchronize with master repository. 2000-02-16 18:48:36 +00:00
config.if config.if (cxx_interface, [...]): Do not try to set these if the appropriate directories and files to not exist. 1998-10-18 11:37:10 -06:00
config.sub Add support for an OS of "wince" 2000-02-24 21:21:31 +00:00
configure configure (gcc_version): When setting, narrow search to lines containing `version_string'. 2000-02-16 16:22:47 +00:00
configure.in Add support for sh-pe and arm-wince-pe targets. 2000-02-23 01:25:56 +00:00
COPYING Initial revision 1997-08-21 18:57:35 -04:00
COPYING.LIB Update address. 1998-02-23 14:57:23 -07:00
install-sh Final changes from devo<->egcs merge. 1998-10-12 04:44:57 -06:00
ltconfig * ltconfig, ltmain.sh: Update to libtool 1.2f. 1999-06-21 20:36:09 -06:00
ltmain.sh * ltconfig, ltmain.sh: Update to libtool 1.2f. 1999-06-21 20:36:09 -06:00
MAINTAINERS * MAINTAINERS: Added myself for write-after-approval. 2000-03-12 17:24:42 +00:00
Makefile.in Makefile.in (CC_FOR_TARGET): Add new winsup directory structure stuff to -L library search. 2000-02-26 13:04:50 -07:00
missing missing: Update to version from automake 1.3. 1998-10-08 17:28:38 -06:00
mkinstalldirs Initial revision 1997-08-21 18:57:35 -04:00
move-if-change FSF address fix in copyright header. 1999-01-11 07:12:18 -07:00
README README: Remove installation instructions and refer to the INSTALL directory instead. 1998-10-02 09:22:08 +00:00
symlink-tree Initial revision 1997-08-21 18:57:35 -04:00
ylwrap ylwrap: Change absolute path checks to check for DOS style path names. 1998-10-08 17:26:54 -06:00

		   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.