Commit Graph

31209 Commits

Author SHA1 Message Date
Neil Booth a5c3cccda4 cppfiles.c (stack_include_file): Check for stacked contexts here.
* cppfiles.c (stack_include_file): Check for stacked contexts
	here.
	* cpphash.h (_cpp_do__Pragma): New prototype.
	* cppinit.c (cpp_reader_init): Add _Pragma keyword to hash table.

	* cpplex.c (skip_escaped_newlines): Only process trigraphs and
	escaped newlines if !(buffer->from_stage3).
	(_cpp_lex_token): Warn about missing newlines iff
	!buffer->from_stage3.

	* cpplib.c (get__Pragma_string, destringize,
	_cpp_do__Pragma): New functions.
	(run_directive): Set output_line for _Pragma to avoid line
	markers in output.  Set from_stage3 and prevent macro expansion
	for _Pragma and command-line options.  Check buffer exhaustion.
	(cpp_push_buffer): Don't check for stacked macro contexts, as
	this is perfectly legitimate for _Pragma.  Move the check to
	stack_include_file instead. Set from_stage3 iff buffer is
	preprocessed input.

	* cpplib.h (struct cpp_buffer): Make warned_cplusplus_comments
	unsigned. New boolean from_stage3.
	(struct spec_nodes): Add n__Pragma.

	* cppmacro.c (enter_macro_context): Flip sense of return value.
	(_cpp_get_token): Handle _Pragma operator.

From-SVN: r37147
2000-10-30 22:29:00 +00:00
Phil Edwards dbdaea4110 gcc.texi: The C++ standard isn't "draft" anymore.
2000-10-30  Phil Edwards  <pme@sources.redhat.com>

	* gcc.texi:  The C++ standard isn't "draft" anymore.

From-SVN: r37146
2000-10-30 22:20:52 +00:00
Mark Mitchell b4b2a48720 acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT): Check for cabs, cabsf, and cabsl, too.
* acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT): Check
        for cabs, cabsf, and cabsl, too.
        * aclocal.m4: Regenerated.
        * config.h.in: Likewise.
        * configure: Likewise.
        * libmath/Makefile.am (libmath_la_SOURCES): Remove cabs.c and
        cabsf.c.
        * libmath/Makefile.in: Regenerated.
        * libmath/complex-stub.h (cabs): Don't declare if the system
        already provides this function.
        (cabsf): Likewise.
        (cabsl): Likewise.
        * src/complex.cc (abs): Directly use `hypot' since we can't call
        cabs on IRIX.

From-SVN: r37145
2000-10-30 21:30:30 +00:00
Joseph Myers 747dcaf1dd acinclude.m4: Update URL on egcs.cygnus.com to point to gcc.gnu.org.
* acinclude.m4: Update URL on egcs.cygnus.com to point to
	gcc.gnu.org.
	* aclocal.m4, configure: Regenerate.
	* src/gen-num-limits.cc, include/bits/c++config,
	include/bits/stl_config.h: Remove EGCS references.

From-SVN: r37144
2000-10-30 13:15:24 +00:00
Bryce McKinlay 67f279dfeb Reader.java: Merge docs from classpath.
* java/io/Reader.java: Merge docs from classpath.
	(skip): Synchronize on `lock'.
	* java/io/FileReader.java: Import correct implementation from
	classpath.
	* java/io/StringReader.java: Merge docs from classpath.
	(ready): Throw IOException if stream is closed.

From-SVN: r37143
2000-10-30 09:20:47 +00:00
Jeff Law b1628585d3 Daily bump.
From-SVN: r37142
2000-10-30 01:45:10 -07:00
Mark Mitchell 8a47978dd0 * cppmacro.c (builtin_macro): Use NT_VOID, not T_VOID.
From-SVN: r37141
2000-10-30 08:41:23 +00:00
Joseph Myers 90a0e73fee * etc: Remove directory from GCC.
From-SVN: r37140
2000-10-30 08:29:08 +00:00
Alexandre Petit-Bianco 2cb3951d32 parse.y (patch_method_invocation): NULLify this_arg when already inserted.
2000-10-25  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (patch_method_invocation): NULLify this_arg when already
	inserted.
	(maybe_use_access_method): Handle call to methods unrelated to the
	current class. Fixed comment.
	Fixes gcj/361.

(http://sources.redhat.com/ml/java-prs/2000-q4/msg00072.html
 http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00993.html)

From-SVN: r37139
2000-10-29 18:37:25 -08:00
Bryce McKinlay 661a98d17a BitSet.java: Updated @specnote.
2000-10-30  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/util/BitSet.java: Updated @specnote.

From-SVN: r37138
2000-10-30 01:51:34 +00:00
Mark Mitchell 23d3495f45 mkcheck.in (test_file): Use -rpath, rather than --rpath, when building shared executables.
* mkcheck.in (test_file): Use -rpath, rather than --rpath, when
	building shared executables.

From-SVN: r37137
2000-10-30 00:28:41 +00:00
Mark Mitchell d3d6410dbf * gcc_build: Save the output from CVS into the logfile as well.
From-SVN: r37136
2000-10-29 23:04:48 +00:00
Neil Booth 1641a8238a * cpplib.c (skip_rest_of_line): Use _cpp_get_token.
From-SVN: r37135
2000-10-29 22:45:13 +00:00
Benjamin Kosnik 5e53dba6a8 configure.in: Simplify use of AC_CACHE_SAVE.
2000-10-29  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.in: Simplify use of AC_CACHE_SAVE.  Put linked files
	in $(top_builddir)/include/bits, not $(top_builddir)/bits, to help
	with libgcj build issues and improve consistency with the source
	directory's include directory setup.
	* configure: Regenerate.
	* acinclude.m4: Same here.
	* aclocal.m4: Regenerate.
	* mknumeric_limits (OUT_H): Also change paths here.
	* mkcheck.in (C_DIR): And here.
	* mkc++config (OUT_H): And here.
	* libmath/Makefile.am (INCLUDES): And here.
	* src/Makefile.am (INCLUDES): Change to $(top_builddir)/include.
	* libio/Makefile.am: Ditto.
	* libsupc++/Makefile.am (INCLUDES): Ditto.

From-SVN: r37134
2000-10-29 22:32:30 +00:00
Mark Mitchell 37ab89b9cf Fix copyright date
From-SVN: r37133
2000-10-29 22:31:16 +00:00
Mark Harig a50372f5fd Makefile.am: Change logic for include dir options.
2000-10-29   Mark Harig <mharig@landmark.com>

	* src/Makefile.am: Change logic for include dir options.
	* src/Makefile.in: Regenerate.
	* libsupc++/Makefile.am: Ditto.
	* libsupc++/Makefile.in: Regenerate.

From-SVN: r37132
2000-10-29 22:30:28 +00:00
Mark Mitchell 3c97056f54 c_io_libio.cc (basic_file<char>::__basic_file): Don't pass a NULL _IO_wide_data to _IO_no_init when...
* config/c_io_libio.cc (basic_file<char>::__basic_file):
	Don't pass a NULL _IO_wide_data to _IO_no_init when
	_GLIBCPP_USE_WCHAR_T is not defined.
	* config/c_io_libio.h (_IO_codecvt): Don't declare when
	_GLIBCPP_USE_WCHAR_T is not defined.
	* config/c_io_libio_codecvt.c: Don't compile it
	when _GLIBCPP_USE_WCHAR_T is not defined.
	* include/bits/codecvt.h (codecvt<_InternT, _ExternT, __enc_traits):
	Don't define this specialization when _GLIBCPP_USE_WCHAR_T
	is not defined.
	* include/bits/locale_facets.h (<bits/std_cwctype.h>): Don't
	include it when _GLIBCPP_USE_WCHAR_T is not defined.
	* src/codecvt.cc (__enc_traits::_S_max_size): Don't define
	when _GLIBCPP_USE_WCHAR_T is not defined.
	* src/localename.cc (locale::_Impl::_M_construct_collate):
	Don't call wide-character functions when _GLIBCPP_USE_WCHAR_T is
	not defined.
	(locale::_Impl::_M_construct_ctype): Likewise.
	(locale::_Impl::_M_construct_monetary): Likewise.
	(locale::_Impl::_M_construct_numeric): Likewise.
	(locale::_Impl::_M_construct_time): Likewise.
	(locale::_Impl::_M_construct_messages): Likewise.

	* iofopen.c (_IO_new_fopen): Don't define `_IO_wide_data wd'
	if _GLIBCPP_USE_WCHAR_T is not defined.
	* iofwide.c: Don't define codecvt functions when
	_GLIBCPP_USE_WCHAR_T is not defined.
	(_IO_fwide): Don't try to put the stream in wide mode when
	_GLIBCPP_USE_WCHAR_T is not defined.
	* libio.h (_IO_wide_data): Define it as an incomplete struct
	when _GLIBCPP_USE_WCHAR_T is not defined.
	* wfiledoalloc.c: Don't define anything when
	_GLIBCPP_USE_WCHAR_T is not defined.
	* wfileops.c: Likewise.
	* wgenops.c: Likewise.

From-SVN: r37131
2000-10-29 21:52:54 +00:00
Mark Mitchell f80c00cc55 _G_config.h (_G_USING_THUNKS): Allow overrides from OS-configuration files.
* _G_config.h (_G_USING_THUNKS): Allow overrides from
	OS-configuration files.
	* libioP.h: Test _G_USING_THUNKS with #if, rather than #ifdef.

From-SVN: r37130
2000-10-29 21:21:51 +00:00
Mark Mitchell 9ece5af645 acinclue.m4 (GLIBCPP_ENABLE_ATOMICITY): Handle IRIX.
* acinclue.m4 (GLIBCPP_ENABLE_ATOMICITY): Handle IRIX.
	* aclocal.m4: Regenerated.
	* configure: Likewise.
	* config/os/irix/bits/atomicity.h: New file.
	* config/os/irix/bits/os_defines.h (_POSIX_SOURCE): Undefine.
	(__off_t): Define.
	(__off64_t): Likewise.
	(__ssize_t): Likewise.
	(_G_USING_THUNKS): Define to zero.

From-SVN: r37129
2000-10-29 21:05:07 +00:00
Mark Mitchell 2f974bd2f9 atomicity.h: New file.
* config/os/irix/bits/atomicity.h: New file.
	* config/os/irix/bits/os_defines.h (_POSIX_SOURCE): Undefine.
	(__off_t): Define.
	(__off64_t): Likewise.
	(__ssize_t): Likewise.
	(_G_USING_THUNKS): Define to zero.

From-SVN: r37128
2000-10-29 20:47:00 +00:00
Joseph Myers 526aba2811 toplev.c, [...]: Change comments mentioning C9X to refer to C99 instead.
* toplev.c, flags.h, fold-const.c, real.c, rtl.c,
	fixinc/inclhack.def: Change comments mentioning C9X to refer to
	C99 instead.

From-SVN: r37127
2000-10-29 19:34:53 +00:00
Neil Booth 9f6ef6bcaf defined.c, [...]: New tests.
* gcc.dg/cpp/defined.c, include1.c, paste11.c, skipping.c:
	New tests.
	* gcc.dg/cpp/macsyntx.c: Move test to defined.c.
	* gcc.dg/cpp/mi3.c, mi3.h: New test for over-enthusiastic
	optimisation.

From-SVN: r37126
2000-10-29 17:43:57 +00:00
Joseph Myers 8c7b74b939 invoke.texi: Document that -V will only work for very similar versions of driver and compiler.
* invoke.texi: Document that -V will only work for very similar
	versions of driver and compiler.

From-SVN: r37125
2000-10-29 17:37:50 +00:00
Neil Booth 00c83d4661 macro4.c, macro5.c: New tests.
* gcc.dg/cpp/macro4.c, macro5.c: New tests.
        * mi1.c, mi1c.h: Add null directives to multiple-include test.
        * mi5.c: Test multiple includes work with -C.
        * trigraphs.c: Test ^= version.

From-SVN: r37124
2000-10-29 11:49:09 +00:00
Neil Booth 44ed91a1d6 cppmacro.c (_cpp_create_definition): Optimize the case of a macro defined to itself.
* cppmacro.c (_cpp_create_definition): Optimize the case of
        a macro defined to itself.

From-SVN: r37123
2000-10-29 11:37:18 +00:00
Neil Booth 3542203b30 * cpplex.c (save_comment): Don't store new lines in C++ comments.
From-SVN: r37122
2000-10-29 09:56:00 +00:00
Michael Hayes 6f268adf3b * integrate.c (copy_insn_list): Copy the unchanging flag for calls.
From-SVN: r37121
2000-10-29 09:14:22 +00:00
Jeff Law 2bf9b928a5 Daily bump.
From-SVN: r37120
2000-10-29 01:45:08 -06:00
Geoff Keating 926c56780f cpphash.c (cpp_forall_identifiers): Add context variable for callback routine.
* cpphash.c (cpp_forall_identifiers): Add context variable
	for callback routine.
	* cppmain.c (dump_macro): Update to match cpp_forall_identifiers
	change.
	(main): Call cpp_forall_identifiers with null context.
	* cpplib.h (cpp_forall_identifiers): Update prototype.

	* cppmain.c: Make `parse_in' and `print' static.

From-SVN: r37119
2000-10-29 07:07:20 +00:00
Alan Modra 69f4cc4b9e * c-decl.c (finish_function): Clear c_function_name_declared_p.
From-SVN: r37118
2000-10-28 22:59:58 -07:00
Richard Henderson ce73761f15 regrename.c (scan_rtx_address): Frob action, not class, when trying to disable optimization.
* regrename.c (scan_rtx_address): Frob action, not class,
        when trying to disable optimization.

From-SVN: r37117
2000-10-28 22:41:44 -07:00
Bryce McKinlay 3a73757880 AbstractCollection.java (addAll): Use size() instead of hasNext() in iterator loop.
2000-10-29  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/util/AbstractCollection.java (addAll): Use size() instead of
	hasNext() in iterator loop.
	(clear): Ditto.
	(contains): Ditto. Simplify loop.
	(containsAll): Ditto.
	(remove): Ditto.
	(removeAll): Ditto.
	(retainAll): Ditto.
	(toArray): Ditto.
	(toString): Ditto. Use string concatenation operators, not
	StringBuffer.
	* java/util/AbstractList.java (addAll): Use size() instead of
	hasNext() in iterator loop.
	(equals): Ditto.
	(hashCode): Ditto.
	(indexOf): Ditto. Don't take null check outside of the loop.
	(iterator): Return an AbstractListItr instead of anonymous class.
	(lastIndexOf): Use a for loop bounded by size() instead of
	hasPrevious() in iterator loop.
	(listIterator): Return an AbstractListItr.
	(removeRange): Remove bounds checking code and docs.
	(AbstractListItr): New inner class. Code moved here from
	listIterator().
	(SubList.iterator): Removed. Use default implementation from
	AbstractList instead.
	(SubList.listIterator): As above.
	* java/util/AbstractMap.java (clear): Use a for loop bounded by size()
	instead of hasNext() in iterator loop.
	(containsValue): Ditto.
	(equals): Ditto.
	(get): Ditto.
	(put): Ditto.
	(putAll): Ditto.
	(remove): Ditto.
	(toString): Ditto. Use string concatenation operators, not
	StringBuffer.
	* java/util/AbstractSequentialList.java (addAll): Use a for loop
	bounded by size() instead of hasNext() in iterator loop.
	* java/util/AbstractSet.java (hashCode): Don't catch exception as
	part of normal execution flow. Do an explicit null check instead.
	* java/util/ArrayList.java (_iSize): Rename to `size'.
	(_arData): Rename to `data'.
	(get): Check lower bounds also. Simplify IndexOutOfBoundsException
	message.
	(remove): Ditto.
	(removeRange): Make protected. Don't check bounds.
	(add): Check lower bounds also. Simplify IndexOutOfBoundsException
	message.
	(addAll (Collection)): Use a size-bounded for loop instead of hasNext()
	check.
	(addAll (int, Collection)): Check lower bounds. Simplify exception
	string.
	(clone): Clone the data array too.
	(indexOf): Inline doesEqual().
	(lastIndexOf): Ditto.
	(clear): Don't set array data to null.
	(set): Check lower bounds. Simplify exception string.
	(toArray): Correct comment.
	(trimToSize): Don't update modCount, this is not a structural change.
	Add comment.

	* java/util/BitSet.java: Merged with classpath, new JDK 1.2 methods
	implemented.
	(toString): Declare `bit' as long, not int.
	(data): Made package-private, not private.

From-SVN: r37116
2000-10-29 05:06:10 +00:00
Bryce McKinlay e2d7960734 Re-indent in preparation for diff.
From-SVN: r37115
2000-10-29 04:46:45 +00:00
Bryce McKinlay db50e427f6 Re-indent in preparation for diff.
From-SVN: r37114
2000-10-29 04:44:10 +00:00
Mark Mitchell 7d3af72b0a New test
From-SVN: r37113
2000-10-29 02:30:21 +00:00
Mark Mitchell 2c21b2473c c-semantics.c (make_rtl_for_local_static): Don't clobber DECL_ASSEMBLER_NAME.
* c-semantics.c (make_rtl_for_local_static): Don't clobber
	DECL_ASSEMBLER_NAME.

From-SVN: r37112
2000-10-29 02:26:16 +00:00
Joseph Myers 8763704d9b configure.in: Determine and substitute gcc_version_full.
* configure.in: Determine and substitute gcc_version_full.
	* configure: Regenerate.
	* gccbug.in: Use it to give full version.  Don't allow
	confidential PRs.

From-SVN: r37111
2000-10-28 22:44:52 +01:00
Richard Henderson 76b0dc5ef2 recog.c (split_all_insns): Run cleanup_subreg_operands after reload.
* recog.c (split_all_insns): Run cleanup_subreg_operands
        after reload.

From-SVN: r37110
2000-10-28 14:43:29 -07:00
Richard Henderson 85941a0abc regrename.c (regrename_optimize): Verify that all registers of a multiple register mode are available.
* regrename.c (regrename_optimize): Verify that all registers of
        a multiple register mode are available.
        (scan_rtx_address): Accept the mode of the address; all callers
        changed.

From-SVN: r37109
2000-10-28 14:41:24 -07:00
Richard Henderson 7b03adc677 * cpplib.c (run_directive): Fix prototype.
From-SVN: r37108
2000-10-28 14:40:43 -07:00
Mark Mitchell 930cd7963b pt.c (instantiate_decl): Always instantiate static data members initialized in-class.
* pt.c (instantiate_decl): Always instantiate static data members
	initialized in-class.

From-SVN: r37107
2000-10-28 21:37:21 +00:00
Mark Mitchell cea1f697a4 string-inst.cc (basic_string<C>::npos): Explicitly instantiate it.
* src/string-inst.cc (basic_string<C>::npos): Explicitly
	instantiate it.

From-SVN: r37106
2000-10-28 21:28:44 +00:00
Bernd Schmidt 55d8cb78ce Use dynamic branch prediction hint in more cases.
From-SVN: r37105
2000-10-28 19:42:48 +00:00
Bernd Schmidt 005f39ceb2 Better RTX_COSTS for ia64.
From-SVN: r37104
2000-10-28 19:39:58 +00:00
Bernd Schmidt 4c3a264944 Never set reload_override_in for optional reloads.
From-SVN: r37103
2000-10-28 19:36:04 +00:00
Bernd Schmidt 69add2a8a5 Fix computation of goal_alternative_matched
From-SVN: r37102
2000-10-28 19:33:09 +00:00
Neil Booth 66cb3475e4 *** empty log message ***
From-SVN: r37101
2000-10-28 18:10:41 +00:00
Neil Booth e7f7ca12e2 *** empty log message ***
From-SVN: r37100
2000-10-28 18:02:28 +00:00
Neil Booth 74f215d7e0 19960224-2.c, [...]: Update tests for new diagnostic messages.
* gcc.dg/cpp/19960224-2.c, 20000625-2.c, cxxcom2.c, directiv.c,
	endif.c, if-4.c, if-5.c, if-mop.c, macsyntx.c, paste2.c, paste6.c,
	paste8.c, redef2.c, strify2.c, strp1.c, tr-warn1.c, tr-warn3.c,
	tr-warn6.c, undef1.c, undef2.c, widestr1.c: Update tests for
	new diagnostic messages.

	* gcc.dg/cpp/macro3.c: New tests.

From-SVN: r37099
2000-10-28 18:01:40 +00:00
Neil Booth 93c80368d9 New macro expander.
2000-10-28  Neil Booth  <neilb@earthling.net>

	New macro expander.

	* cpplib.c (struct answer): New.
	(struct if_stack): Use cpp_lexer_pos rather than line and col.
	Rename cmacro mi_cmacro.
	(struct directive, KANDR, STDC89, EXTENSION, COND, IF_COND, INCL,
	IN_I): New directive and flags.
	(skip_rest_of_line, check_eol, run_directive, glue_header_name,
	parse_answer, parse_assertion, find_answer): New functions.
	(parse_ifdef, detect_if_not_defined, validate_else): Remove.
	(lex_macro_node): New function to replace parse_ifdef and
	get_define_node.

	(_cpp_handle_directive): New function, combines _cpp_check_directive
	and _cpp_check_linemarker.

	(do_define, do_undef, parse_include, do_include, do_import,
	do_include_next, read_line_number, do_line, do_ident, do_pragma,
	do_pragma_once, do_pragma_poison, do_pragma_dependency):
	Update for new token getting interface.

	(do_ifdef, do_ifndef, do_if, do_else, do_endif, push_conditional)
	: Update for new multiple-include optimisation technique.
	(do_elif): Don't forget to invalidate controlling macros.

	(unwind_if_stack, cpp_defined, cpp_push_buffer, cpp_pop_buffer): Update.
	(parse_assertion, parse_answer, find_answer, _cpp_test_assertion):
	Functions to handle assertions with the new token interface.
	(do_assert, do_unassert): Use them.

	(cpp_define, _cpp_define_builtin, cpp_undef, cpp_assert, cpp_unassert):
	Use run_directive.

	(_cpp_init_stacks): Register directive names.  Don't register special
	nodes.

	* cpperror.c (print_containing_files, _cpp_begin_message): Update to
	new position recording regime.
	(cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
	cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
	cpp_pedwarn_with_file_and_line): Update for _cpp_begin_message changes.
	(cpp_type2name): Move to cpplex.c.

	* cppexp.c (parse_charconst): spec_nodes is no longer a pointer.
	(parse_defined): Update to handle new multiple include optimisation
	method.  Remove poisoned identifier warning.
	(parse_assertion, TYPE_NAME): Delete.
	(lex): Update for multiple include optimisation, removal of
	CPP_DEFINED, to use _cpp_test_assertion for assertions and
	cpp_token_as_text.
	(_cpp_parse_expr): Update for MI optimisation, and to use op_as_text.
	(op_as_text): New function, to wrap cpp_token_as_text.

	* cppfiles.c (stack_include_file, _cpp_pop_file_buffer):
	Update for MI optimisation.
	(_cpp_execute_include): Take a token rather than 3 arguments.  Fix
	segfault on diagnostic.
	(_cpp_compare_file_date): Take a token rather than 3 args.
	(cpp_read_file): Work correctly for zero-length files.

	* cpphash.c (_cpp_init_macros, _cpp_cleanup_macros): Rename
	_cpp_init_hashtable and _cpp_cleanup_hashtable.
	(cpp_lookup): Place identifiers at front of identifier pool
	for _cpp_lookup_with_hash.
	(_cpp_lookup_with_hash): Require identifiers to be at the front of
	the identifier pool.  Commit the memory if not already in the
	hash table.

	* cppinit.c (cpp_reader_init): Move cpp_init_completed test to top.
	Initialise various members of cpp_reader, memory pools, and the
	special nodes.
	(cpp_printer_init): Delete.
	(cpp_cleanup): Update.
	(struct builtin, builtin_array, initialize_builtins): Update for new
	hashnode definition and builtin handling.
	(cpp_start_read, cpp_finish): Don't take or initialise a
	printer.  Update.

	* cpplib.h (cpp_printer, cpp_toklist, CPP_DEFINED, BOL,
	PASTED, VAR_ARGS, BEG_OF_FILE, IN_DIRECTIVE, KNOWN_DIRECTIVE,
	T_VOID, T_SPECLINE, T_DATE, T_FILE, T_BASE_FILE, T_INCLUDE_LEVEL,
	T_TIME, T_STDC, T_OPERATOR, T_POISON, T_MACRO, T_ASSERTION): Delete.
	(struct cpp_pool, struct cpp_macro, struct cpp_lexer_pos,
	struct cpp_lookahead, CPP_DHASH, enum mi_state, enum mi_ind,
	NO_EXPAND, VARARGS_FIRST, struct cpp_token_with_pos,
	struct toklist, struct cpp_context, struct specnodes,
	TOKEN_LOOKAHEAD, TOKEN_BUFFSIZE, NODE_OPERATOR, NODE_POISONED,
	NODE_BUILTIN, NODE_DIAGNOSTIC, NT_VOID, NT_MACRO, NT_ASSERTION,
	enum builtin_type, cpp_can_paste): New.
	(struct cpp_token): Delete line and col members.
	(struct cpp_buffer): New member output_lineno.
	(struct lexer_state): Delete indented, in_lex_line, seen_dot.
	Add va_args_ok, poisoned_ok, prevent_expansion, parsing_args.
	(struct cpp_reader): New members lexer_pos, macro_pos, directive_pos,
	ident_pool, temp_string_pool, macro_pool, argument_pool, string_pool,
	base_context, context, directive, mi_state, mi_if_not_defined,
	mi_lexed, mi_cmacro, mi_ind_cmacro, la_read, la_write, la_unused,
	mlstring_pos, macro_buffer, macro_buffer_len.
	Delete members mls_line, mls_column, token_list, potential_control_macro,
	temp_tokens, temp_cap, temp_alloced, temp_used, first_directive_token,
	context_cap, cur_context, no_expand_level, paste_level, contexts, args,
	save_parameter_spellings, need_newline, .
	Change type of date, time and spec_nodes members.
	Change prototypes for include and ident callbacks.
	(struct cpp_hashnode): Change type of name.  Remove union members
	expansion and code.  Add members macro, operator and builtin.

	(cpp_token_len, cpp_token_as_text, cpp_spell_token, cpp_start_read,
	cpp_finish, cpp_avoid_paste, cpp_get_token, cpp_get_line,
	cpp_get_output_line, cpp_macro_definition, cpp_start_lookahead,
	cpp_stop_lookahead): New prototypes.
	(cpp_printer_init, cpp_dump_definition): Delete prototypes.

	(U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr, ufputs):
	Move from cpphash.h.

	* cpphash.h (U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr,
	ufputs): Move to cpplib.h.
	(enum spell_type, struct token_spelling, _cpp_token_spellings, TOKEN_SPELL,
	TOKEN_NAME, struct answer, FREE_ANSWER, KANDR, STDC89, EXTENSION,
	COND, EXPAND, INCL, COMMENTS, IN_I, struct directive, directive_handler,
	struct spec_nodes, _cpp_digraph_spellings, _cpp_free_temp_tokens,
	_cpp_init_input_buffer, _cpp_grow_token_buffer, _cpp_init_toklist,
	_cpp_clear_toklist, _cpp_expand_token_space, _cpp_expand_name_space,
	_cpp_equiv_tokens, _cpp_equiv_toklists, _cpp_process_directive,
	_cpp_run_directive, _cpp_get_line, _cpp_get_raw_token, _cpp_glue_header_name,
	_cpp_can_paste, _cpp_check_directive, _cpp_check_linemarker,
	_cpp_parse_assertion, _cpp_find_answer): Delete.
	(VALID_SIGN, ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE, POOL_SIZE,
	POOL_USED, POOL_COMMIT, struct cpp_chunk, _cpp_lex_token, _cpp_init_pool,
	_cpp_free_pool, _cpp_pool_reserve, _cpp_pool_alloc, _cpp_next_chunk,
	_cpp_lock_pool, _cpp_unlock_pool, _cpp_test_assertion,
	_cpp_handle_directive, DSC): New.
	(struct include_file): New member defined.

	(DO_NOT_REREAD, _cpp_begin_message, _cpp_execute_include,
	_cpp_compare_file_date): Update.
	(_cpp_pop_context, _cpp_get_token, _cpp_free_lookaheads, _cpp_push_token): New.
	(_cpp_init_macros, _cpp_cleanup_macros): Rename to _cpp_init_hashtable,
	_cpp_cleanup_hashtable.

	* Makefile.in: Remove cppoutput.c.

	* cppoutput.c: Delete

	* fixheader.c (read_scan_file): Update for new cpp_get_token
	prototype.
	(recognized_function): New argument LINE.

	* scan-decls.c (skip_to_closing_brace, scan_decls): Update for
	new cpp_get_token prototype.

	* scan.h (recognized_function): Update prototype.

	* po/POTFILES.in: Remove cppoutput.c.

From-SVN: r37098
2000-10-28 17:59:06 +00:00