This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: RFC: Multiple Java Source Files - Combine Inputs By Default
On Mon, 21 Jun 2004 10:55:06 +0100, Andrew Haley <aph@redhat.com> wrote:
> Ranjit Mathew writes:
> >
> > Per, is there any particular reason you added that extra
> > check (shown above)?
>
> So that we can do gcj -c foo.java bar.java baz.java and get foo.o,
> bar.o, and baz.o.
Sorry, I didn't fully understand this. Why would this be
affected?
If I use "-o" with "-c" like:
gcj -c -o snafu foo.java bar.java baz.java
my understanding is that GCC will create file "snafu"
that contains *one* of what would have been "foo.o",
"bar.o" and "baz.o".
And my understanding of "combine inputs" in GCJ
is that it is merely a way of accepting multiple
source/class files in one invocation in the days before
the "--combine" flag in GCC (for IMA?) came into being.
So they seem orthogonal to me, unless I'm missing
something (since I haven't read through the code
that properly).
Simply put, what I'm saying is that the effect of:
gcj --main=Foo Foo.java Bar.java
and
gcj -o snafu --main=Foo Foo.java Bar.java
can possibly be different currently (apart from "a.out" v/s
"snafu" as the output file), and inconsistent even, leading to
the user getting confused.
A benign case is:
http://gcc.gnu.org/ml/java-patches/2004-q2/msg00737.html
and (IIRC) a more malignant one is Jacks test
8.1.1.1-default-abstract-9 (and others like it).
My first "almost successful" attempt at creating a patch for
the current ICE in PR 11117 in effect made GCJ completely
parse each input file before proceeding with the next. While
libjava compiled cleanly and the libjava testsuite passed
completely, there were a few failures (and some XPASSes)
in Jacks because of this - the above Jacks testcase is one
such one.
Thanks,
Ranjit.