[Lazarus] TAChart compilation error (issue 22365)

Mattias Gaertner nc-gaertnma at netcologne.de
Fri Jul 6 10:14:36 CEST 2012


On Fri, 6 Jul 2012 14:35:52 +1100
Alexander Klenin <klenin at gmail.com> wrote:

> Issue http://bugs.freepascal.org/view.php?id=22365 was about the
> compilation error
> when the TAChart code is compiled by FPC trunk.
> 
> I did not notice the issue in time, because bug tracker is unusably slow,
> so I use Google Alerts to track bugs. This usually works, but sometimes causes
> a delay of a few days before Google notification. Sorry for that.
> 
> The issue is resolved, so it is impossible to discuss -- this is why I
> start discussion here.
> I Cc'd original reporter -- hopefully he does not mind.
> 
> I am grateful for Mattias for stepping up and resolving the issue,
> but I'd appreciate some discussion for such controversial changes.
> 
> Regarding the specifics of the problem -- FPC trunk (suddently?)
> stopped compiling
> TAChart source. Affected code did not change recently, so this is
> either a FPC regression
> or some general issue like out-of-date object files, wrong
> installation paths leading to version conflicts etc.
>
> So I have a few questions/suggestions:
> 1) Can anybody (Mattias?) reproduce this?

yes

> 2) Why did this suddently happened? Why do not all other trunk users complain?

I guess tachart uses a seldom combination of generics,
implementation uses and operators.

> 3) Can this be isolated to a smaller testcase and reported as an FPC bug?

Maybe these hints can help to create a smaller example:

TGenericChartMarks is a generic, which uses in its implementation some
identifiers defined by the uses section of the implementation section.

operator +(const A: TPoint; B: TSize): TPoint of unit
TAGeometry
and
TCustomChartSource of unit TACustomSource


> 4) Alternatively, is this an intentional backwards-incompatible change
> in FPC? Should it be documented as such?
> 5) If the bug is too subtle/hard to fix, at least the workaround in TAChart code
>   should be clearly marked as such -- there are a few examples in
> TAChart, search for 'workaround'



Mattias




More information about the Lazarus mailing list