From d19cbcb5e3dd83e2628d25d2cd23892a4cac83b0 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 12 Sep 2000 22:23:59 +0000 Subject: re GNATS gcj/33 (gcj mangles composed characters) Fix for PR gcj/33: * jv-scan.c (help): Document --encoding. (options): Added `encoding' entry. (OPT_ENCODING): New define. (main): Handle --encoding. Include if nl_langinfo exists. * lang-options.h: Document --classpath, --CLASSPATH, --main, and --encoding. * jcf-parse.c Include if we have nl_langinfo. (parse_source_file): Correctly call java_init_lex. Added `finput' argument. Use nl_langinfo to determine default encoding. * java-tree.h (current_encoding): Declare. * parse.y (java_parser_context_restore_global): Don't restore `finput'. (java_parser_context_save_global): Don't set `finput' field. (java_pop_parser_context): Don't restore `finput'. Free old lexer if required. * lang.c (current_encoding): New global. (lang_decode_option): Recognize `-fencoding='. (finish_parse): Don't close finput. * parse.h (struct parser_ctxt): Removed `finput' and `unget_utf8_value' fields. Added `lexer' field. (java_init_lex): Fixed declaration. * lex.c (java_new_lexer): New function. (java_destroy_lexer): Likewise. (java_read_char): Added `lex' argument. Handle iconv case. (java_read_unicode): Added `lex' argument. Count backslashes in lexer structure. (java_init_lex): Added `finput' and `encoding' arguments. Set `lexer' field in ctxp. (BAD_UTF8_VALUE): Removed. (java_lex): Handle seeing UEOF in the middle of a string literal. * lex.h: Include if HAVE_ICONV defined. (java_lexer): New structure. (UNGETC): Removed. (GETC): Removed. (DEFAULT_ENCODING): New define. (java_destroy_lexer): Declare. From-SVN: r36377 --- gcc/java/java-tree.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gcc/java/java-tree.h') diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h index 94fdcae..18cdf7a 100644 --- a/gcc/java/java-tree.h +++ b/gcc/java/java-tree.h @@ -169,6 +169,9 @@ extern int flag_use_boehm_gc; object to its synchronization structure. */ extern int flag_hash_synchronization; +/* Encoding used for source files. */ +extern char *current_encoding; + /* The Java .class file that provides main_class; the main input file. */ extern struct JCF *current_jcf; -- cgit v1.1