Jonas Maebe schrieb:
Now the differences between branch and updated trunk already result
in problems[1], that make testing the OO compiler near impossible.
This raises the question, how to proceed with the integration of
both version?
That would be easier to answer if you would at least mention a) which
difference causes b) which problem
Sorry, I cannot find out why I had to change part of the statement
procedure. SVN[1] doesn't show trunk changes since the creation of the
branch, for the units I had in mind. Possibly I've only been fooled by
Lazarus code tool problems, not sure right now :-(
The problem is a Nil reference, most probably resulting from changed
management of the global variables. I just found out that
parser.compile() is used in different context, once for the command line
file argument, and multiple times for the compilation of used units. In
the latter case a ppumodule object already exists, so that both cases
must be handled slightly differently. Most probably I missed that
difference in my initial changes to the parser setup for a new module :-(
[1] How can I find out the differences between trunk and branch
versions, using [Tortoise]SVN? Or the differences between two revisions
in general? Kdesvn seems to offer an option "compare revisions"...
Now I need assistance in testing
Try building fpc: make all
There remains one bug, of unknown reason. How can this be debugged?
In whichever way you are used to debug: with a debugger, with
writeln's, ... The compiler is no different than any other program in
that respect.
While I can use Lazarus to debug the compilation of a single source
file, no such feature exists for Makefiles. I even don't know how to
translate an error address to a source code position. In Delphi I had a
"jump to address..." menu item...
[1] Lazarus (code tools) also have problems with the recent update.
Will the parsers be updated soon? Who is doing that?
From this remark I guess that you are talking about the change to
rtl/objpas/fgl.pp? Please don't make people guess when asking for
information.
I don't know what has changed where and when. At least does Lazarus
(trunk version) fail to determine the selected branch in {$IF }, and
also disabled "Result" in code completion inside a function, in at least
one case. That's why I think that something's broken now.
To avoid problems with your branch simply use an older revision of
the RTL to test (r15646 or earlier). In the future you may want to
branch the entire FPC repository rather than only the compiler if you
want to avoid such problems.
One of my problems seems to be the fpc.cfg, that should refer to the
trunk compiler and source files first, in the compilation of the new
compiler, and to the new compiler (and an
older source revision) later. Where should I place such different config
files, or how do I select one for Make?
DoDi
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel