aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/jvspec.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@cygnus.com>1999-10-15 16:45:31 +0000
committerTom Tromey <tromey@gcc.gnu.org>1999-10-15 16:45:31 +0000
commit7cf41963391146126ec2d0064e8fb573fc0addf5 (patch)
tree1bcb57fa5b0f05e8d67699b59b7d8b9928c4b89a /gcc/java/jvspec.c
parent3ae21bfccf6843c0760871a1bab6ed80ab68a69b (diff)
downloadgcc-7cf41963391146126ec2d0064e8fb573fc0addf5.zip
gcc-7cf41963391146126ec2d0064e8fb573fc0addf5.tar.gz
gcc-7cf41963391146126ec2d0064e8fb573fc0addf5.tar.bz2
jvgenmain.c (usage): New function.
* jvgenmain.c (usage): New function. (main): Use it. Also, handle `-D' options. * jvspec.c (lang_specific_driver): Recognize -D. (jvgenmain_spec): Added `%{D*}' to jvgenmain invocation. From-SVN: r30019
Diffstat (limited to 'gcc/java/jvspec.c')
-rw-r--r--gcc/java/jvspec.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/java/jvspec.c b/gcc/java/jvspec.c
index 87d893d..d4dde5e 100644
--- a/gcc/java/jvspec.c
+++ b/gcc/java/jvspec.c
@@ -50,7 +50,7 @@ int lang_specific_extra_outfiles = 0;
#define COMBINE_INPUTS 0
const char jvgenmain_spec[] =
- "jvgenmain %i %{!pipe:%umain.i} |\n\
+ "jvgenmain %{D*} %i %{!pipe:%umain.i} |\n\
cc1 %{!pipe:%Umain.i} %1 \
%{!Q:-quiet} -dumpbase %b.c %{d*} %{m*} %{a*}\
%{g*} %{O*} \
@@ -163,6 +163,9 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries)
int saw_O = 0;
int saw_g = 0;
+ /* Saw a `-D' option. */
+ int saw_D = 0;
+
/* An array used to flag each argument that needs a bit set for
LANGSPEC, MATHLIB, WITHLIBC, or GCLIB. */
int *args;
@@ -247,6 +250,8 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries)
library = 0;
will_link = 0;
}
+ else if (argv[i][1] == 'D')
+ saw_D = 1;
else if (argv[i][1] == 'g')
saw_g = 1;
else if (argv[i][1] == 'O')
@@ -331,6 +336,9 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries)
if (quote)
fatal ("argument to `%s' missing\n", quote);
+ if (saw_D && ! main_class_name)
+ fatal ("can't specify `-D' without `--main'\n");
+
num_args = argc + added;
if (saw_C)
{