Show quoted text 7 lines
> 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"...
Show quoted text 8 lines
>>> 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...
Show quoted text 6 lines
> [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