Commit Graph

51588 Commits

Author SHA1 Message Date
GCC Administrator
4284a08d87 Daily bump.
From-SVN: r69281
2003-07-13 00:16:06 +00:00
Kazu Hirata
9a9f7594fd alpha.c: Fix comment typos.
* config/alpha/alpha.c: Fix comment typos.
	* config/alpha/alpha.md: Likewise.
	* config/arm/arm.c: Likewise.
	* config/arm/arm.md: Likewise.
	* config/arm/lib1funcs.asm: Likewise.
	* config/avr/avr.md: Likewise.
	* config/arm/README-interworking: Fix typos.

From-SVN: r69277
2003-07-12 23:02:23 +00:00
Kazu Hirata
4ed432168c c-format.c: Fix comment formatting.
* c-format.c: Fix comment formatting.
	* c-typeck.c: Likewise.
	* coverage.c: Likewise.
	* cppcharset.c: Likewise.
	* cpplib.c: Likewise.
	* dbxout.c: Likewise.
	* gcov-io.h: Likewise.
	* toplev.c: Likewise.

From-SVN: r69276
2003-07-12 22:49:48 +00:00
Zack Weinberg
0c6a2903e5 * gcc_update: gcc/acconfig.h no longer exists.
From-SVN: r69275
2003-07-12 21:32:36 +00:00
Nathanael Nerode
c3a5b1e9d4 inclhack.def (alpha_sbrk): Note that OpenBSD needs this fix.
* fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
	fix.

From-SVN: r69274
2003-07-12 20:12:52 +00:00
Zack Weinberg
3d1ebd63de Regenerate again, oops
From-SVN: r69273
2003-07-12 20:05:24 +00:00
Zack Weinberg
8ada417fa1 aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE...
* aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
	uses three-argument AC_DEFINE so no acconfig.h entries are
	needed.
	(_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
	which contains the GAS version number as a scaled integer.
	(gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers.  Add
	ability to check for ELF assembler.
	(gcc_GAS_CHECK_FEATURE): New macro.
	* configure.in: Use gcc_AC_CHECK_TYPE.  Rewrite all
	assembler feature checks using gcc_GAS_CHECK_FEATURE.
	Use three-argument AC_DEFINE everywhere.
	* acconfig.h: Deleted.
	* config.in, configure: Regenerate.

From-SVN: r69272
2003-07-12 20:03:14 +00:00
Nathanael Nerode
d33fb69b53 (fix dumb changelog omission)
(fix dumb changelog omission)
	* fixinc/fixincl.x: Regenerate.

From-SVN: r69271
2003-07-12 19:55:44 +00:00
Nathanael Nerode
3b57c56391 inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in (on OpenBSD).
* fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
	(on OpenBSD).

From-SVN: r69270
2003-07-12 19:39:44 +00:00
Nathanael Nerode
d5d16b5f41 * fixinc/inclhack.def (gnu_types): Improve comment.
From-SVN: r69269
2003-07-12 19:25:59 +00:00
Andreas Jaeger
cd01ef5bca * Make-lang.in (treelang/tree-convert.o): Depend on TM_H.
From-SVN: r69268
2003-07-12 20:54:06 +02:00
Andreas Jaeger
439f7bc3e8 fp-test.c (main): Use ISO C90 prototype.
* fp-test.c (main): Use ISO C90 prototype.

	* version.c: Remove unneded include of ansidecl.h.

	* cgraph.h: Convert prototypes to ISO C90.
	* cgraph.c: Likewise.
	* fix-header.c: Likewise.
	* ra.h: Likewise.
	* protoize.c: Likewise.

From-SVN: r69265
2003-07-12 13:29:18 +02:00
Jan Hubicka
1a5c570100 cgraphunit.c (cgraph_inlined_into, [...]): Fix warning.
* cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
warning.

From-SVN: r69264
2003-07-12 04:10:36 +00:00
Nathanael Nerode
d59e375e9e re PR bootstrap/7126 (zlib version is wrong in zlib/configure.in)
PR bootstrap/7126
	* configure.in: Correct zlib version number.
	* configure: Regenerate.

From-SVN: r69263
2003-07-12 02:04:33 +00:00
Jan Hubicka
b58b11577a cgraph.c (cgraph_max_uid): New global variable.
* cgraph.c (cgraph_max_uid): New global variable.
	(cgraph_node): Set uid field.
	(create_edge): Keep inline flags consistent.
	(dump_cgraph): Dump more info.
	* cgraph.h (struct cgraph_local_info): Remove inline_many and
	can_inline_once; add inlinable, disgread_inline_limits, and self_insn
	(struct cgraph_global_info): Add insns, calls, cloned_times,
	will_be_output.
	(struct cgraph_node): Add uid.
	(struct cgraph_edge): Add inline_call.
	(cgraph_max_uid, cgraph_inline_p): Declare.
	* cgraph.c: Include params.h and fibheap.h
	(cgraph_mark_functions_to_inline_once): Kill.
	(INSNS_PER_CALL): New constant.
	(ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
	static variables.
	(cgraph_finalize_function): Do not analyze inlining.
	(cgraph_finalize_compilation_unit): Set inlining attributes.
	(cgraph_mark_functions_to_output): More consistency checks.
	(cgraph_optimize_function): Set current_function_decl to NULL.
	(cgraph_expand_function): Use new inline flags.
	(cgraph_postorder): Expand from cgraph_expand_functions.
	(INLINED_TIMES, SET_INLINED_TIMES): New macros.
	(cgraph_inlined_into, cgraph_inlined_callees,
	cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
	cgraph_mark_inline, cgraph_check_inline_limits,
	cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
	cgraph_decide_inlining, cgraph_inline_p): New functions.
	* params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
	PARAM_INLINE_UNIT_GROWTH): New parameters.
	* tree-inline.c (struct inline_data): New field current_decl.
	(expand_call_inline): Avoid forward declarations; use
	inlinable_function_p.
	(optimize_inline_calls): Set id.current_decl.

Co-Authored-By: Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>

From-SVN: r69262
2003-07-12 01:07:40 +00:00
Andrew Pinski
27b8e366f8 Patch from Andrew Pinksi.
* configure.in: Remove wrongly added definition of
	local_prefix.
	* configure: Regenerate.

From-SVN: r69261
2003-07-11 17:35:14 -07:00
GCC Administrator
76d558c0bd Daily bump.
From-SVN: r69259
2003-07-12 00:16:07 +00:00
Dan Nicolaescu
80fa0b4c1b * rtl.def (NOTE): Do not use padding.
From-SVN: r69257
2003-07-11 23:49:43 +00:00
Dara Hazeghi
1ea6f4c805 Patch from Dara Hazeghi.
* doc/install.tex: Update required binutils for i?86-*-linux*

From-SVN: r69255
2003-07-11 16:04:48 -07:00
Nathanael Nerode
e05f79742f re PR c++/11437 (ICE in lookup_name_real)
PR c++/11437
	* operators.def: Add definitions for __imag__, __real__.

From-SVN: r69254
2003-07-11 23:01:53 +00:00
Tom Tromey
783b7a595b verify.exp: New file.
* libjava.verify/verify.exp: New file.
	* libjava.verify/README.verify: New file.

From-SVN: r69253
2003-07-11 22:23:13 +00:00
Gerald Pfeifer
fc0e6222b1 README: Note that libffi is not part of GCC.
* README: Note that libffi is not part of GCC.  Update the project
	URL and status.

From-SVN: r69250
2003-07-11 22:13:16 +00:00
Richard Henderson
ed2d8944ae * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
From-SVN: r69249
2003-07-11 15:00:09 -07:00
Gerald Pfeifer
21e7cbd2b5 * README: Note that zlib is not part of GCC.
From-SVN: r69247
2003-07-11 21:54:40 +00:00
Gerald Pfeifer
971b79c5cf * README: Note that FastJar is not part of GCC.
From-SVN: r69245
2003-07-11 21:48:39 +00:00
Mark Mitchell
a44cea75a7 varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of TRANSLATION_UNIT_DECL as top_level.
* varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
	TRANSLATION_UNIT_DECL as top_level.

From-SVN: r69244
2003-07-11 21:20:18 +00:00
Jakub Jelinek
358b8f0114 optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists, then fall back to cmpstrM.
* optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
	then fall back to cmpstrM.
	* builtins.c (expand_builtin_memcmp): Likewise.
	* config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
	(s390_expand_cmpmem): ... this.
	* config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
	cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
	from cmpstr* patterns.  Rename call to s390_expand_cmpstr
	to s390_expand_cmpmem.
	* config/s390/s390.c (s390_expand_cmpstr): Rename to...
	(s390_expand_cmpstr): ... this.  Rename cmpstr* instructions
	to cmpmem*.
	* config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
	cmpstr* patterns.
	* doc/md.texi (cmpstrM): Describe as String compare insn, not
	Block compare insn.
	(cmpmemM): Add.

	* gcc.dg/20030711-1.c: New test.

From-SVN: r69243
2003-07-11 23:04:56 +02:00
Loren J. Rittle
8634e925a9 freebsd.h (SET_ASM_OP): Remove.
* config/i386/freebsd.h (SET_ASM_OP): Remove.
	(SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
	(ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
	 MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.

From-SVN: r69242
2003-07-11 20:22:34 +00:00
Matt Kraai
d3276d3574 SharedLibLoader.java: Fix misspelling.
2003-07-11  Matt Kraai  <kraii@alumni.cmu.edu>

	* gnu/gcj/runtime/SharedLibLoader.java: Fix misspelling.
	* gnu/gcj/runtime/natSharedLibLoader.cc: Likewise.
	* java/awt/im/InputContext.java: Remove a redundant
	partial line.

From-SVN: r69238
2003-07-11 18:27:54 +00:00
Richard Henderson
48144cd490 function.c (assign_parms): Don't recombine complex args if fnargs is unchanged from orig_fnargs.
* function.c (assign_parms): Don't recombine complex args if
        fnargs is unchanged from orig_fnargs.
        (split_complex_args): Return args without complex before copying.
        Re-layout the modified parameters.

From-SVN: r69236
2003-07-11 09:28:22 -07:00
Jerry Quinn
e2fcbaa3e4 basic_ios.h (copyfmt): Document.
2003-07-11  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/basic_ios.h (copyfmt): Document.
	* include/bits/ios_base.h (event, event_callback, register_callback,
	xalloc, iword, pword):  Document.
	(imbue, ~ios_base): Update docs on callbacks.

From-SVN: r69235
2003-07-11 14:25:09 +00:00
J"orn Rennecke
fee226d25f regclass.c (choose_hard_reg_mode): Add third argument.
* regclass.c (choose_hard_reg_mode): Add third argument.
	Changed all callers.
	* rtl.h (choose_hard_reg_mode): Update declaration.
	* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
	Take HARD_REGNO_CALL_PART_CLOBBERED into account.

From-SVN: r69234
2003-07-11 15:09:29 +01:00
Nathan Sidwell
7efa3e22e5 re PR c++/11050 ("some string" __FUNCTION__ is accepted)
cp:
	PR c++/11050
	* parser.c (cp_parser_expression_list): Rename to ...
	(cp_parser_parenthesized_expression_list): ... here. Add attribute
	parameter, parse the surounding parentheses.
	(cp_parser_skip_to_closing_parenthesis): Add recover and or_comma
	parameters. Return int.
	(cp_parser_skip_to_closing_parenthesis or comma): Remove.
	(cp_parser_postfix_expression): Adjust function call parsing.
	(cp_parser_new_placement): Adjust.
	(cp_parser_new_initializer): Likewise.
	(cp_parser_cast_expression): Likewise.
	(cp_parser_selection_statement): Likewise.
	(cp_parser_mem_initializer): Likewise.
	(cp_parser_asm_definition): Likewise.
	(cp_parser_init_declarator): Likewise.
	(cp_parser_declarator): Make
	cdtor_or_conv_p an int ptr.
	(cp_parser_direct_declarator): Likewise. Check for a parameter
	list on cdtors & conv functions.
	(cp_parser_initializer): Adjust.
	(cp_parser_member_declaration): Adjust.
	(cp_parser_attribute_list): Move code into
	cp_parser_parens_expression_list.
	(cp_parser_functional_cast): Adjust.
	* pt.c (type_dependent_expression_p): Erroneous expressions are
	non-dependent.
testsuite:
	PR c++/11050
	* g++.dg/parse/args1.C: New test.
	* g++.pt/defarg8.C: Change expected errors.

From-SVN: r69230
2003-07-11 09:18:01 +00:00
Mark Mitchell
87ca53f644 re PR c++/8164 (ICE when using different const expressions as template parameter)
PR c++/8164
	* decl.c (duplicate_decls): Avoid mangling names unnecessarily.

	PR c++/8164
	* g++.dg/template/nontype2.C: New test.

	PR c++/10558
	* g++.dg/parse/template8.C: New test.

From-SVN: r69229
2003-07-11 08:53:59 +00:00
Mark Mitchell
a6b602cafd re PR c++/10558 (Segfault on illegal use of template without template args)
PR c++/10558
	* g++.dg/parse/template8.C: New test.

From-SVN: r69226
2003-07-11 08:41:44 +00:00
Geoffrey Keating
d1bd0ded61 Index: ChangeLog
2003-07-10  Geoffrey Keating  <geoffk@apple.com>

	* c-decl.c (finish_decl): Handle 'used' here...
	* cgraphunit.c (cgraph_finalize_function): ... and here ...
	* c-common.c: (handle_used_attribute): ... not here.

	* configure.in (onstep): Support --enable-intermodule.
	* Makefile.in (OBJS-common): New.
	(OBJS-md): New.
	(OBJS-archive): New.
	(OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
	(OBJS-onestep): New.
	(libbackend.a): Support @onestep@.
	(libbackend.o): New.
	* configure: Regenerate.

	* c-common.h (c_reset_state): New prototype.
	(c_parse_file): New prototype.
	(finish_file): Move prototype from c-tree.h.
	* c-decl.c: Include <hashtab.h>.
	(builtin_decls): New.
	(current_file_decl): New.
	(duplicate_decls): Add extra parameter. Change all callers.  Don't
	output duplicate common symbols.
	(link_hash_hash): New.
	(link_hash_eq): New.
	(poplevel): Handle popping of the top level.
	(warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
	(pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
	(pushdecl_top_level): Likewise.
	(redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
	(c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
	(finish_decl): Handle TRANSLATION_UNIT_DECL.
	(merge_translation_unit_decls): New.
	(c_write_global_declarations): New.
	(c_reset_state): New.
	(implicitly_declare): Handle TRANSLATION_UNIT_DECL.
	* c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
	* c-objc-common.c (c_cannot_inline_tree_fn): Handle
	TRANSLATION_UNIT_DECL.
	(c_objc_common_finish_file): Call merge_translation_unit_decls.
	* c-opts.c (in_fnames): Rename from in_fname.
	(c_common_decode_option): Handle multiple input filenames.
	(c_common_post_options): Likewise.
	(c_common_parse_file): Likewise; also, call c_parse_file rather than
	yyparse.
	* c-parse.in: Move cleanup code to c_parse_file.
	(free_parser_stacks): Move contents to c_parse_file.
	(c_parse_file): New.
	* c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
	for integer types.
	(C_DECL_FILE_SCOPE): New.
	(finish_file): Move prototype to c-common.h.
	(merge_translation_unit_decls): New prototype.
	(comptypes): Add extra parameter to prototype.
	(c_write_global_declarations): New prototype.
	* c-typeck.c (tagged_types_tu_compatible_p): New.
	(function_types_compatible_p): Add extra parameter, change all callers.
	(type_lists_compatible_p): Likewise.
	(comptypes): Likewise.
	(struct tagged_tu_seen): New.
	(tagged_tu_seen_base): New.
	(build_unary_op): Handle TRANSLATION_UNIT_DECL.
	(c_mark_addressable): Remove #if 0 code.
	* calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
	comment explaining why it shouldn't have to.
	* cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
	options.
	* cppinit.c (cpp_read_next_file): New.
	(cpp_read_main_file): Use it.
	* cpplib.c (undefine_macros): New.
	(cpp_undef_all): New.
	* cpplib.h (cpp_read_next_file): Prototype.
	(cpp_undef_all): Prototype.
	* langhooks-def.h (write_global_declarations): Remove prototype.
	* toplev.h (write_global_declarations): Add prototype.
	* tree.c (decl_type_context): Use switch statement, handle
	TRANSLATION_UNIT_DECL.
	* tree.def: Update documentation for TRANSLATION_UNIT_DECL.
	(TRANSLATION_UNIT_DECL): New kind of tree.
	* tree.h: Update documentation for TRANSLATION_UNIT_DECL.
	* Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
	* doc/invoke.texi: Make attempt to document new functionality.

	2003-05-19  Per Bothner <bothner@apple.com>

	* gcc.c (combine_inputs): New.
	(process_command): Set combine_inputs.
	(do_spec_1): Handle combine_inputs.
	(main): Likewise.

Index: cp/ChangeLog
2003-07-10  Geoffrey Keating  <geoffk@apple.com>

	* decl.c (cp_finish_decl): Handle 'used' attribute.

	* cp-lang.c (c_reset_state): New dummy routine.
	* cp-tree.h (finish_file): Move prototype to c-common.h.
	* parser.c (c_parse_file): Rename from yyparse; don't call finish_file.

From-SVN: r69224
2003-07-11 08:33:21 +00:00
Mark Mitchell
6eeba0cc43 re PR c++/8327 (In definition of template static member value of static const member isn't known)
PR c++/8327
	* pt.c (tsubst_qualified_id): Implement suggested resolution for
	Core Issue 2.
	(type_dependent_expression_p): Likewise.

	PR c++/8327
	* g++.dg/template/scope1.C: New test.

From-SVN: r69223
2003-07-11 08:20:19 +00:00
Mark Mitchell
7d48af3049 typeck.c (build_binary_op): Do not warn about signed vs.
* typeck.c (build_binary_op): Do not warn about signed
	vs. unsigned comparisons in the bodies of templates.

	* g++.dg/warn/Wsign-compare-1.C: New test.

From-SVN: r69222
2003-07-11 08:13:58 +00:00
James E Wilson
ac8354b1da re PR rtl-optimization/9745 ([powerpc] miscompiles libmcrypt (alias problem during loop))
PR optimization/9745
* loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
loop_insn_emit_before.
(loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.

From-SVN: r69220
2003-07-10 23:44:40 -07:00
Matthias Klose
c3c3593270 test_installed: Add options to run objc tests.
2003-07-11  Matthias Klose  <doko@debian.org>

        * test_installed: Add options to run objc tests.
        In generated site.exp, initialize rootme, CFLAGS, CXXFLAGS.

From-SVN: r69219
2003-07-11 06:05:01 +00:00
Zack Weinberg
dea55da563 cppcharset.c: Fix comment.
* cppcharset.c: Fix comment.
	(iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
	(EILSEQ): #define to EINVAL if not already defined.
	(convert_using_iconv): #if out when !HAVE_ICONV.
	(init_iconv_desc): Handle !HAVE_ICONV here...
	(cpp_init_iconv): ...not here.

From-SVN: r69218
2003-07-11 05:49:47 +00:00
Neil Booth
f3fdaec48d common.opt: More --help messages.
* common.opt: More --help messages.
	* opts.c (print_help): Use puts().
	* toplev.c (f_options): Remove help text.
	(display_help): Don't dump f_options.

From-SVN: r69217
2003-07-11 05:35:06 +00:00
Nathanael Nerode
7ebbf1ea7d mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
* fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
	Move i?86-*-interix* to the don't-fix list.
	* fixinc/fixinc.interix: Delete with extreme prejudice.

From-SVN: r69216
2003-07-11 05:24:48 +00:00
Dara Hazeghi
959a73a4fa re PR bootstrap/10758 (bootstrap failure on HP-UX 11.22/IPF)
Patch from Dara Hazeghi.
PR bootstrap/10758
* doc/install.texi: Document requirements for ia64-*-hpux* target.

From-SVN: r69214
2003-07-10 21:59:35 -07:00
Phil Edwards
204956e6f7 Missed one spot from the previous change.
From-SVN: r69213
2003-07-11 04:32:25 +00:00
Phil Edwards
58579a27aa acinclude.m4 (GLIBCC_ENABLE_SYMVERS): Tweak comments.
2003-07-11  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4 (GLIBCC_ENABLE_SYMVERS):  Tweak comments.  Add
	warning messages if the environment cannot support symbol versioning.
	(port_specific_symbol_file):  It's plural, add an 's' on the end.
	* configure.host:  Likewise.
	* src/Makefile.am:  Likewise.
	* config/linker-map.gnu:  Remove one semicolon, heh.
	* scripts/extract_symvers:  Don't assume useful 'export' syntax.
	Set LANG as well as LC_ALL for possibly-broken sort(1)s.
	* aclocal.m4, configure, src/Makefile.in:  Regenerated.

From-SVN: r69212
2003-07-11 04:04:49 +00:00
Kazu Hirata
1dc9efda91 * gcc.dg/20021018-1.c: Disable if the sizeof (int) < 4.
From-SVN: r69210
2003-07-11 03:28:56 +00:00
Roger Sayle
9959901c6b * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
From-SVN: r69209
2003-07-11 03:10:48 +00:00
GCC Administrator
bd7d241486 Daily bump.
From-SVN: r69207
2003-07-11 00:16:07 +00:00
Zack Weinberg
6b88314c65 cppcharset.c (one_utf8_to_cppchar, [...]): New functions.
* cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
	one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
	one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
	convert_utf8_utf32, convert_utf16_utf8,	convert_utf32_utf8,
	convert_no_conversion, convert_using_iconv): New functions.
	(APPLY_CONVERSION): New macro.
	(struct conversion, conversion_tab): New data structure.
	(init_iconv_desc): Check conversion_tab for a custom conversion
	primitive before trying to use iconv.
	(convert_cset): Deleted.
	(cpp_init_iconv): Use UTF- terminology, not UCS-.
	(_cpp_destroy_iconv): Update to match.
	(_cpp_valid_ucn): We don't need iconv to implement UCNs.
	(convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
	(convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
	(_cpp_interpret_string_notranslate): New function, moved here
	from cpplib.c.

	* cpphash.h (convert_f, struct cset_converter): New types.
	(struct cpp_reader): narrow_cset_desc and wide_cset_desc
	are now struct cset_converter, not bare iconv_t.
	Update prototypes.
	* cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
	all callers changed.

From-SVN: r69204
2003-07-10 23:16:31 +00:00