diff options
author | Anthony Green <green@gcc.gnu.org> | 2001-09-06 22:22:44 +0000 |
---|---|---|
committer | Anthony Green <green@gcc.gnu.org> | 2001-09-06 22:22:44 +0000 |
commit | 7be5b0e5a440de60b0ab8dfdac1f44e2cbf63bba (patch) | |
tree | 37aff30da6021cca7b3d351d0edb6a2570cbf393 /gcc/java/jcf-parse.c | |
parent | 7d8be4dab0814a35eb8150722dec6626e7f7162e (diff) | |
download | gcc-7be5b0e5a440de60b0ab8dfdac1f44e2cbf63bba.zip gcc-7be5b0e5a440de60b0ab8dfdac1f44e2cbf63bba.tar.gz gcc-7be5b0e5a440de60b0ab8dfdac1f44e2cbf63bba.tar.bz2 |
class.c (O_BINARY): Define if necessary.
* class.c (O_BINARY): Define if necessary.
(registerResource_libfunc): Declare.
(init_class_processing): Initilize registerResource_libfunc.
(compile_resource_file): New function.
* java-tree.h (resource_name): Declare.
(compile_resource_file): Declare.
* jcf-parse.c (yyparse): Handle compiling java resource files.
* lang.c (java_decode_option): Handle -fcompile-resource option.
* jvspec.c (lang_specific_driver): Handle -R flag for compiling
resource files.
* gcj.texi (Code Generation): Add documentation for -R flag.
From-SVN: r45448
Diffstat (limited to 'gcc/java/jcf-parse.c')
-rw-r--r-- | gcc/java/jcf-parse.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/java/jcf-parse.c b/gcc/java/jcf-parse.c index 1247ece..75e0a23 100644 --- a/gcc/java/jcf-parse.c +++ b/gcc/java/jcf-parse.c @@ -36,6 +36,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */ #include "parse.h" #include "ggc.h" #include "debug.h" +#include "assert.h" #ifdef HAVE_LOCALE_H #include <locale.h> @@ -1084,6 +1085,22 @@ yyparse () if (filename_count == 0) warning ("no input file specified"); + if (resource_name) + { + char *resource_filename; + + /* Only one resource file may be compiled at a time. */ + assert (TREE_CHAIN (current_file_list) == NULL); + + resource_filename = IDENTIFIER_POINTER (TREE_VALUE (current_file_list)); + compile_resource_file (resource_name, resource_filename); + + java_expand_classes (); + if (!java_report_errors ()) + emit_register_classes (); + return 0; + } + current_jcf = main_jcf; current_file_list = nreverse (current_file_list); for (node = current_file_list; node; node = TREE_CHAIN (node)) |