diff options
author | Tom Tromey <tromey@cygnus.com> | 1998-10-22 12:06:05 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 1998-10-22 12:06:05 +0000 |
commit | 8603f9c5b022356e3993539be8c70358d935c710 (patch) | |
tree | 9b6b5425af73b8159f8c9b6dcf195daebe2e6914 /gcc/java/jcf-dump.c | |
parent | 8a829fd982378e9ae9f603e2df8d157e1f7c3d83 (diff) | |
download | gcc-8603f9c5b022356e3993539be8c70358d935c710.zip gcc-8603f9c5b022356e3993539be8c70358d935c710.tar.gz gcc-8603f9c5b022356e3993539be8c70358d935c710.tar.bz2 |
jcf-io.c (find_class): Use saw_java_source to determine when to look for `.java' file.
* jcf-io.c (find_class): Use saw_java_source to determine when to
look for `.java' file.
* jcf-parse.c (saw_java_source): New global.
(yyparse): Set it if `.java' file seen.
* Make-lang.in (JAVA_SRCS): Added jcf-path.c.
(GCJH_SOURCES): Likewise.
* Makefile.in (datadir): New macro.
(libjava_zip): Likewise.
(JAVA_OBJS): Added jcf-path.o.
(../jcf-dump$(exeext)): Depend on and link with jcf-depend.o.
(../gcjh$(exeext)): Likewise.
(jcf-path.o): New target.
* java-tree.h (fix_classpath): Removed decl.
* jcf-parse.c (fix_classpath): Removed.
(load_class): Don't call fix_classpath.
* parse.y (read_import_dir): Don't call fix_classpath.
* lex.h: Don't mention classpath.
* lex.c (java_init_lex): Don't initialize classpath.
* jcf-io.c (classpath): Removed global.
(find_class): Use jcf_path iteration functions. Correctly search
class path for .java file.
(open_in_zip): New argument `is_system'.
* jcf-dump.c (main): Call jcf_path_init. Recognize all new
classpath-related options.
* lang.c (lang_decode_option): Handle -fclasspath, -fCLASSPATH,
and -I.
(lang_init): Call jcf_path_init.
* lang-options.h: Mention -I, -fclasspath, and -fCLASSPATH.
* lang-specs.h: Handle -I. Minor cleanup to -M options.
Correctly put braces around second string in each entry.
* gjavah.c (main): Call jcf_path_init. Recognize all the new
classpath-related options.
(help): Updated for new options.
* jcf.h: Declare functions from jcf-path.c. Don't mention
`classpath' global.
* jcf-path.c: New file.
* jcf-depend.c: Include jcf.h.
* jcf-write.c (localvar_alloc): Returns `void'.
(localvar_free): Removed unused variable.
* lang.c (OBJECT_SUFFIX): Define if not already defined.
(init_parse): Use OBJECT_SUFFIX, not ".o".
From-SVN: r23219
Diffstat (limited to 'gcc/java/jcf-dump.c')
-rw-r--r-- | gcc/java/jcf-dump.c | 52 |
1 files changed, 21 insertions, 31 deletions
diff --git a/gcc/java/jcf-dump.c b/gcc/java/jcf-dump.c index 2524322..7ccb97c 100644 --- a/gcc/java/jcf-dump.c +++ b/gcc/java/jcf-dump.c @@ -712,44 +712,37 @@ DEFUN(main, (argc, argv), if (argc <= 1) usage (); + jcf_path_init (); + for (argi = 1; argi < argc; argi++) { char *arg = argv[argi]; + + /* Just let all arguments be given in either "-" or "--" form. */ + if (arg[0] != '-' || ! strcmp (arg, "--")) + break; + if (arg[0] == '-') { if (strcmp (arg, "-o") == 0 && argi + 1 < argc) output_file = argv[++argi]; - else if (arg[1] == '-') - { - arg++; - if (strcmp (arg, "-classpath") == 0 && argi + 1 < argc) - classpath = argv[++argi]; - else if (strcmp (arg, "-verbose") == 0) - verbose++; - else if (strcmp (arg, "-print-main") == 0) - flag_print_main++; - else if (strcmp (arg, "-javap") == 0) - { - flag_javap_compatible++; - flag_print_constant_pool = 0; - } - else if (arg[2] == '\0') - break; - else - { - fprintf (stderr, "%s: illegal argument\n", argv[argi]); - exit (FATAL_EXIT_CODE); - } - - } else if (strcmp (arg, "-classpath") == 0 && argi + 1 < argc) - classpath = argv[++argi]; + jcf_path_classpath_arg (argv[++argi]); + else if (strcmp (arg, "-CLASSPATH") == 0 && argi + 1 < argc) + jcf_path_CLASSPATH_arg (argv[++argi]); + else if (strncmp (arg, "-I", 2) == 0) + jcf_path_include_arg (arg + 2); else if (strcmp (arg, "-verbose") == 0) verbose++; else if (strcmp (arg, "-print-main") == 0) flag_print_main++; else if (strcmp (arg, "-c") == 0) flag_disassemble_methods++; + else if (strcmp (arg, "-javap") == 0) + { + flag_javap_compatible++; + flag_print_constant_pool = 0; + } else { fprintf (stderr, "%s: illegal argument\n", argv[argi]); @@ -759,8 +752,12 @@ DEFUN(main, (argc, argv), else break; } + if (argi == argc) usage (); + + jcf_path_seal (); + if (flag_print_main) { flag_print_fields = 0; @@ -770,13 +767,6 @@ DEFUN(main, (argc, argv), flag_print_class_info = 0; } - if (classpath == NULL) - { - classpath = (char *) getenv ("CLASSPATH"); - if (classpath == NULL) - classpath = ""; - } - if (output_file) { out = fopen (output_file, "w"); |