diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 56cd3cce1de..e55383ec9ed 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,6 +1,7 @@ 2001-02-16 Per Bothner Handle compiling multiple input files at once, and @FILE syntax. + * gcj.texi: Updated documentation to match. * java-tree.h (flag_filelist_file, init_src_parse): New declarations. * jcf-parse.c (parse_source_file): Split into ... (parse_source_file_1): New function - and: diff --git a/gcc/java/gcj.texi b/gcc/java/gcj.texi index baa6281d4a0..af2eded7a6d 100644 --- a/gcc/java/gcj.texi +++ b/gcc/java/gcj.texi @@ -513,6 +513,7 @@ gcc, Using the GNU Compiler Collection}. This manual only documents the options specific to @code{gcj}. @menu +* Input and output files:: * Input Options:: How gcj finds files * Encodings:: Options controlling source file encoding * Warnings:: Options controlling warnings specific to gcj @@ -520,6 +521,43 @@ options specific to @code{gcj}. * Configure-time Options:: Options you won't use @end menu +@node Input and output files +@section Input and output files + +A @code{gcj} command is like a @code{gcc} command, in that it +consists of a number of options and file names. The following kinds +of input file names are supported: + +@table @code +@item @var{file}.java +Java source files. +@item @var{file}.class +Java bytecode files. +@item @var{file}.zip +@itemx @var{file}.jar +An archive containing one or more @code{.class} files, all of +which are compiled. The archive may be compressed. +@item @@@var{file} +A file containing a whitespace-separated list of input file names. +(Currently, these must all be @code{.java} source files, but that +may change.) +Each named file is compiled, just as if it had been on the command line. +@item @var{library}.a +@itemx @var{library}.so +@itemx -l@var{libname} +Libraries to use when linking. See the @code{gcc} manual. +@end table + +You can specify more than one input file on the @code{gcj} command line, +in which case they will all be compiled. If you specify a +@code{-o @var{FILENAME}} +option, all the input files will be compiled together, producing a +single output file, named @var{FILENAME}. +This is allowed even when using @code{-S} or @code{-c}, +but not when using @code{-C}. +(This is an extension beyond the what plain @code{gcc} allows.) +(If more than one input file is specified, all must currently +be @code{.java} files, though we hope to fix this.) @node Input Options @section Input Options diff --git a/gcc/java/parse.h b/gcc/java/parse.h index dc2590708ce..336c2fdbc9d 100644 --- a/gcc/java/parse.h +++ b/gcc/java/parse.h @@ -780,10 +780,6 @@ struct parser_ctxt { tree package; /* Defined package ID */ - /* Those two list are saved accross file traversal */ - tree incomplete_class; /* List of non-complete classes */ - tree gclass_list; /* All classes seen from source code */ - /* These two lists won't survive file traversal */ tree class_list; /* List of classes in a CU */ jdeplist *classd_list; /* Classe dependencies in a CU */ @@ -947,4 +943,7 @@ ATTRIBUTE_NORETURN #endif ; extern void java_expand_classes PARAMS ((void)); + +extern struct parser_ctxt *ctxp; +struct parser_ctxt *ctxp_for_generation; #endif