diff options
author | Tom Tromey <tromey@redhat.com> | 2007-01-29 21:30:10 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2007-01-29 21:30:10 +0000 |
commit | a1c0627764484c1b0458b729ec374c49e1476302 (patch) | |
tree | f08721456d2c5ecd36ffa9f76c8a8ca641af4b46 /gcc/java/jvspec.c | |
parent | c616e51b000fcbc426ce51a92688c775493906e0 (diff) | |
download | gcc-a1c0627764484c1b0458b729ec374c49e1476302.zip gcc-a1c0627764484c1b0458b729ec374c49e1476302.tar.gz gcc-a1c0627764484c1b0458b729ec374c49e1476302.tar.bz2 |
re PR java/30607 (gcj -I x -C doesn't include x as source dir search patch)
PR java/30607:
* jvspec.c (lang_specific_driver): Handle separate -I argument.
* lang.opt (-I): Add 'Separate'.
From-SVN: r121311
Diffstat (limited to 'gcc/java/jvspec.c')
-rw-r--r-- | gcc/java/jvspec.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/gcc/java/jvspec.c b/gcc/java/jvspec.c index a26f4f6..dce2c74 100644 --- a/gcc/java/jvspec.c +++ b/gcc/java/jvspec.c @@ -305,7 +305,7 @@ lang_specific_driver (int *in_argc, const char *const **in_argv, else if (argv[i][1] == 'O') saw_O = 1; else if ((argv[i][2] == '\0' - && strchr ("bBVDUoeTuIYmLiA", argv[i][1]) != NULL) + && strchr ("bBVDUoeTuIYmLiAI", argv[i][1]) != NULL) || strcmp (argv[i], "-Tdata") == 0 || strcmp (argv[i], "-MT") == 0 || strcmp (argv[i], "-MF") == 0) @@ -518,7 +518,17 @@ lang_specific_driver (int *in_argc, const char *const **in_argv, if (argv[i][1] == 'I') { - jcf_path_include_arg (&argv[i][2]); + const char *arg; + if (argv[i][2] == '\0') + { + gcc_assert (i + 1 < argc && (args[i + 1] & PARAM_ARG) != 0); + arg = argv[i + 1]; + /* Drop the argument. */ + ++i; + } + else + arg = &argv[i][2]; + jcf_path_include_arg (arg); --j; continue; } |