Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2001-08

fpc 1.1 works again

4 messages · 2 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Peter Vreman
Show quoted text 6 lines
>Even if we stay with 1.0.5 you will need to make a new RPM of the >compiler for on the site since the makefiles will assume that the new >compiler is being used. Nope, the last one I made was made with these changes in mind (that time I thought I would have finished the makefiles soon)

You should build a new RPM, because i fixed a bug in the compiler that allowed the use hidden private fields using the with construct. And the correct field from the current class would then not be used. Below are the test files to show the problem.

At least timagelist is affected by this wrong codegeneration.

Peter

{$ifdef fpc}{$mode objfpc}{$endif}
unit ub0366;
interface
type
  tc1=class
  private
    FHeight : integer;
  public
    constructor Create;
    property Height : integer read FHeight write FHeight;
  end;
implementation
constructor tc1.Create;
begin
  FHeight:=0;
end;
end.
{$ifdef fpc}{$mode objfpc}{$endif}
uses
  ub0366;
type
  tc2=class
  public
    FHeight : integer;
    procedure p1;
  end;
procedure tc2.p1;
var
  c1 : tc1;
begin
  FHeight:=10;
  c1:=tc1.create;
  with c1 do
   begin
     Height:=FHeight;
   end;
  writeln('c1.Height: ',c1.Height,' (should be 10)');
  if c1.Height10 then
   begin
     writeln('ERROR!');
     halt(1);
   end;
  c1.free;
end;
var
  c2 : tc2;
begin
  c2:=tc2.create;
  c2.p1;
  c2.free;
end.

Reply by email

Peter Vreman
Show quoted text 13 lines
Marc Weustink wrote: > > > I'll have to turn off nightly builds until we get it straightened > > out. > > I don't se a need for that. OK then maybe I misunderstood something. I thought that the compiler wouldn't like the -Ca option and that it was being removed from the makefile. Are you saying that we weren't using it anyway so it should make a difference? If that is the case then, yeah, we don't need to do anything special.

It is still possible to use the older ppc386 because you can specify the -Ca from the commandline with 'make OPT=-Ca'

Reply by email

Marc Weustink
to Peter Vreman: You should build a new RPM, because i fixed a bug in the compiler that allowed the use…

+ From: Peter Vreman
+
+ You should build a new RPM, because i fixed a bug in the
+ compiler that allowed the use hidden private fields using
+ the with construct. And the correct field from the current
+ class would then not be used. Below are the test files to
+ show the problem.
+
+ At least timagelist is affected by this wrong codegeneration.

OK, I'll create one tonight.

Marc

Reply by email

Marc Weustink
to Peter Vreman: You should build a new RPM, because i fixed a bug in the compiler that allowed the use…
Show quoted text 6 lines
+ From: Peter Vreman + + You should build a new RPM, because i fixed a bug in the + compiler that allowed the use hidden private fields using OK, I'll create one tonight.

The net FPC RPM's are in place

ftp://www.lazarus.freepascal.org/lazarus/fpc-1.0.5-laz.20010802.i386.rpm ftp://www.lazarus.freepascal.org/lazarus/fpc-1.0.5-laz.20010802.src.rpm

Marc

Reply by email