OSDN Git Service

PR java/30607:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Jan 2007 21:30:10 +0000 (21:30 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Jan 2007 21:30:10 +0000 (21:30 +0000)
* jvspec.c (lang_specific_driver): Handle separate -I argument.
* lang.opt (-I): Add 'Separate'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121311 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/java/ChangeLog
gcc/java/jvspec.c
gcc/java/lang.opt

index 1cd6c07..56a3e3b 100644 (file)
@@ -1,3 +1,9 @@
+2007-01-29  Tom Tromey  <tromey@redhat.com>
+
+       PR java/30607:
+       * jvspec.c (lang_specific_driver): Handle separate -I argument.
+       * lang.opt (-I): Add 'Separate'.
+
 2007-01-29  Andrew Haley  <aph@redhat.com>
 
        * class.c (add_method_1): Mark fndecl as external unless we are
 2007-01-29  Andrew Haley  <aph@redhat.com>
 
        * class.c (add_method_1): Mark fndecl as external unless we are
index a26f4f6..dce2c74 100644 (file)
@@ -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'
          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)
                   || 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')
        {
 
       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;
        }
          --j;
          continue;
        }
index 67852ee..a036ae0 100644 (file)
@@ -26,7 +26,7 @@ Language
 Java
 
 I
 Java
 
 I
-Java Joined
+Java Joined Separate
 ; Documented for C
 
 M
 ; Documented for C
 
 M