aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2005-07-12 22:35:03 +0000
committerTom Tromey <tromey@gcc.gnu.org>2005-07-12 22:35:03 +0000
commit309ca98d963ae26ba2f709b17783846c27ee8f01 (patch)
treebf22f35dd44c59e7d309c0285a0ce484eac8e3ce
parent7fac66d43ca6cae23140f6dc6be408d49f731d12 (diff)
downloadgcc-309ca98d963ae26ba2f709b17783846c27ee8f01.zip
gcc-309ca98d963ae26ba2f709b17783846c27ee8f01.tar.gz
gcc-309ca98d963ae26ba2f709b17783846c27ee8f01.tar.bz2
re PR java/19674 (Empty declaration through semicolon (;) causes compile failure)
PR java/19674: * parse-scan.y (interface_member_declaration): Added empty_statement. From-SVN: r101948
-rw-r--r--gcc/java/ChangeLog6
-rw-r--r--gcc/java/jvspec.c22
-rw-r--r--gcc/java/parse-scan.y1
3 files changed, 21 insertions, 8 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index b1eed19..c45a791 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,9 @@
+2005-07-12 Tom Tromey <tromey@redhat.com>
+
+ PR java/19674:
+ * parse-scan.y (interface_member_declaration): Added
+ empty_statement.
+
2005-07-08 Daniel Berlin <dberlin@dberlin.org>
* java-tree.h (LABEL_RETURN_LABELS): Use decl_non_common.
diff --git a/gcc/java/jvspec.c b/gcc/java/jvspec.c
index e4f4d18..2163a3c 100644
--- a/gcc/java/jvspec.c
+++ b/gcc/java/jvspec.c
@@ -1,6 +1,6 @@
/* Specific flags and argument handling of the front-end of the
GNU compiler for the Java(TM) language.
- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+ Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This file is part of GCC.
@@ -493,11 +493,22 @@ lang_specific_driver (int *in_argc, const char *const **in_argv,
arglist = xmalloc ((num_args + 1) * sizeof (char *));
j = 0;
- for (i = 0; i < argc; i++, j++)
+ arglist[j++] = argv[0];
+
+ if (combine_inputs || indirect_files_count > 0)
+ arglist[j++] = "-ffilelist-file";
+
+ if (combine_inputs)
+ {
+ arglist[j++] = "-xjava";
+ arglist[j++] = filelist_filename;
+ }
+
+ for (i = 1; i < argc; i++, j++)
{
arglist[j] = argv[i];
- if ((args[i] & PARAM_ARG) || i == 0)
+ if ((args[i] & PARAM_ARG))
continue;
if ((args[i] & RESOURCE_FILE_ARG) != 0)
@@ -559,15 +570,10 @@ lang_specific_driver (int *in_argc, const char *const **in_argv,
}
}
- if (combine_inputs || indirect_files_count > 0)
- arglist[j++] = "-ffilelist-file";
-
if (combine_inputs)
{
if (fclose (filelist_file))
pfatal_with_name (filelist_filename);
- arglist[j++] = "-xjava";
- arglist[j++] = filelist_filename;
}
/* If we saw no -O or -g option, default to -g1, for javac compatibility. */
diff --git a/gcc/java/parse-scan.y b/gcc/java/parse-scan.y
index 2b15646..71c43a7 100644
--- a/gcc/java/parse-scan.y
+++ b/gcc/java/parse-scan.y
@@ -637,6 +637,7 @@ interface_member_declaration:
| abstract_method_declaration
| class_declaration /* Added, JDK1.1 inner classes */
| interface_declaration /* Added, JDK1.1 inner classes */
+| empty_statement
;
constant_declaration: