This is the mail archive of the
kawa@sourceware.org
mailing list for the Kawa project.
Re: Kawa 1.13 compilation problem, possible regression
- From: Per Bothner <per at bothner dot com>
- To: Matthieu Vachon <matthieu dot o dot vachon at gmail dot com>
- Cc: kawa at sourceware dot org
- Date: Mon, 06 May 2013 13:09:08 -0700
- Subject: Re: Kawa 1.13 compilation problem, possible regression
- References: <CAOTvmom6rqn9_fgDTjOr=Hfe-jLsvso8ii5KgnT2CgTYYmo0XQ at mail dot gmail dot com> <511026D7 dot 5030007 at bothner dot com> <51551844 dot 5080201 at bothner dot com> <CAOTvmoknAS5EQc0JpemSPnLSRKoPnWgMBQbe5ovbu=n74bZSuw at mail dot gmail dot com> <CAOTvmomjQAq8uOa3UD2Yzs+n+P4C5bpiT9yDFY0stepueWYKpQ at mail dot gmail dot com> <51860D80 dot 6040406 at bothner dot com> <CAOTvmompbGyXXGNaTNhnO3wpdkkb=3CO75Sct-ZUUdNbBh1Eww at mail dot gmail dot com>
On 05/05/2013 03:36 PM, Matthieu Vachon wrote:
The attached patch did the job. I was able to compile Kawa latest
version with java5.
Ok - I checked it in.
But I faced another problem related with compilation and it could be a
regression. Where my code compiled fine on 1.12, it was not able to
compile with latest version. After some some research, it may be
caused by the way the code is constructed. In the module I'm trying to
compile (module.scm), we define a class via `define-simple-class` (let
say its called <Simple>) and inside one of its method, we call a
procedure defined in the same module.
In this procedure, we create an instance of class <Simple> and use to
compute a result which is returned. When commenting the line calling
the procedure in the method, the compilation pass. Maybe it pass as a
side effects just because some analysis did not occur because the
procedure call was commented out.
I tried to reproduce the problem with a stripped down version of the
module but I was not able to do so. I will try to upgrade my test file
to see if I can reproduce the problem in the upcoming week. I attached
the file so my explanations are easier to follow.
Nothing obvious comes to mind. But it is certainly possible the
compiler is confused about whether an execution path can happen.
I'll see if you can find a stripped down example.
--
--Per Bothner
per@bothner.com http://per.bothner.com/