Forum > Free Pascal

FPC 3.0.2-rc1 released

(1/3) > >>

marcov:
Hello,

Finally, as a (late) Christmas present, we have placed the first release candidate of the Free Pascal Compiler version 3.0.2 on our ftp servers.

You can help improve the upcoming 3.0.2 release by downloading and
testing this release. If you want you can report what you have done here:
http://wiki.freepascal.org/Testers_3.0.2 or in the maillist.

Changes that may break backwards compatibility will be documented at:
http://wiki.freepascal.org/User_Changes_3.0.2

Due to a long gestation, the packages are synchronized up to about may 2016.

Downloads are available at the main FTP server and

ftp://freepascal.stack.nl/pub/fpc/beta/3.0.2-rc1/

Enjoy!

The Free Pascal Compiler Team


                            Free Pascal Compiler

                                Version 3.0.2

******************************************************************************
                              What's New in 3.0.2
******************************************************************************

Free Pascal 3.0.2 is a point release of the 3.0.x fixes branch.

Please also see http://wiki.freepascal.org/User_Changes_3.0.2 for a list
of changes that may affect the behaviour of previously working code, and
how to cope with these changes.

Some highlights are:

Compiler:
* the bug in currency arithmetic has been fixed.
Rtl:
* TRect, TPoint and similar types are now type compatible between
    Types and Windows unit, and are now advanced records.
Packages:
* googleapi and fcl-pdf packages.
* fcl-db and web packages synchronized
* unicode tables updated.
See http://bugs.freepascal.org/changelog_page.php for the list of reported
bugs which have been fixed in this release.

Thaddy:
Great! Marco and all of the team! I hope this will be the point release without too much hassle.
I really appreciate that all of you, as a team, only make such decisions under the condition: when it is done it is done! CUDOS to all of you.

marcov:

--- Quote from: Thaddy on December 29, 2016, 02:37:46 pm ---Great! Marco and all of the team! I hope this will be the point release without too much hassle.

--- End quote ---

As that it is released 7 months after being tagged and packaged, that ship has already sailed I'm afraid.

The problems were mostly due to the fpdoc having to be fixed for increased generics (and other new constructs) used in Fixes, now it no longer has to compile with 2.6.4, and all of us were a bit short on time.

I think I spent more time on FPC in the christmas holiday than in the previous 6 months.

JD:

--- Quote from: marcov on December 29, 2016, 03:03:39 pm ---I think I spent more time on FPC in the christmas holiday than in the previous 6 months.

--- End quote ---

Kudos to you all for your hard work. Virtue is its own reward.

JD

Bart:
I got a regression which crashes programs.

--- Code: ---program test;

uses sysutils;
begin
  writeln('SysErrorMessage(193)=',SysErrorMessage(193));
end.

--- End code ---

Compile with -gh (heaptrace) and it will crash with 3.0.2.
It does not crash with 3.0.0 or trunk (r35221).


--- Code: ---C:\Users\Bart\LazarusProjecten\ConsoleProjecten>fpc -gh test.pas
Free Pascal Compiler version 2.6.4 [2014/03/06] for i386

C:\Users\Bart\LazarusProjecten\ConsoleProjecten>test
SysErrorMessage(193)=
Heap dump by heaptrc unit
53 memory blocks allocated : 1237/1456
53 memory blocks freed     : 1237/1456
0 unfreed memory blocks : 0
True heap size : 196608 (112 used in System startup)
True free heap : 196496

C:\Users\Bart\LazarusProjecten\ConsoleProjecten>fpc -gh test.pas
Free Pascal Compiler version 3.0.0 [2015/11/16] for i386

C:\Users\Bart\LazarusProjecten\ConsoleProjecten>test
SysErrorMessage(193)=
Heap dump by heaptrc unit
48 memory blocks allocated : 1385/1496
48 memory blocks freed     : 1385/1496
0 unfreed memory blocks : 0
True heap size : 196608 (112 used in System startup)
True free heap : 196496

C:\Users\Bart\LazarusProjecten\ConsoleProjecten>fpc -gh test.pas
Free Pascal Compiler version 3.0.2rc1 [2016/12/20] for i386
C:\Users\Bart\LazarusProjecten\ConsoleProjecten>test
Marked memory at $001C4D78 invalid
Wrong size : 255 allocated 510 freed
  $0040D639
  $00408C76
  $004015A8
Call trace for block $001C4D78 size 255
  $004015A8
SysErrorMessage(193)=Heap dump by heaptrc unit
48 memory blocks allocated : 1385/1496
47 memory blocks freed     : 1640/1752
1 unfreed memory blocks : -255
True heap size : 196608 (112 used in System startup)
True free heap : 196160
Should be : 196688
Call trace for block $001C4D78 size 255
  $004015A8

C:\Users\Bart\LazarusProjecten\ConsoleProjecten>fpc -gh test.pas
Free Pascal Compiler version 3.1.1 [2017/01/01] for i386
C:\Users\Bart\LazarusProjecten\ConsoleProjecten>test
SysErrorMessage(193)=
Heap dump by heaptrc unit
48 memory blocks allocated : 1654/1768
48 memory blocks freed     : 1654/1768
0 unfreed memory blocks : 0
True heap size : 425984 (112 used in System startup)
True free heap : 425872

--- End code ---

I reported it as issue #31197.
At the end of the function FreeMem tries to free 2 times the amount of memory that was allocated using GetMem.

The regression is caused by r33823 (merging of r33363 to fixes branch).


Bart

Navigation

[0] Message Index

[#] Next page

Go to full version