Recent

Author Topic: FPC 3.2.x series branched, trunk update to 3.3.1  (Read 110874 times)

Thaddy

  • Hero Member
  • *****
  • Posts: 14204
  • Probably until I exterminate Putin.
Re: FPC 3.2.x series branched, trunk update to 3.3.1
« Reply #135 on: January 02, 2020, 04:18:53 pm »
You can choose between different calendars if you like. O:-)
Specialize a type, not a var.

lucamar

  • Hero Member
  • *****
  • Posts: 4219
Re: FPC 3.2.x series branched, trunk update to 3.3.1
« Reply #136 on: January 02, 2020, 04:42:21 pm »
You can choose between different calendars if you like. O:-)

Well, by the Islamic calendar we are still in the 1440s so there is still a "little" time for a 2019 release :D 8-)
Turbo Pascal 3 CP/M - Amstrad PCW 8256 (512 KB !!!) :P
Lazarus/FPC 2.0.8/3.0.4 & 2.0.12/3.2.0 - 32/64 bits on:
(K|L|X)Ubuntu 12..18, Windows XP, 7, 10 and various DOSes.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: FPC 3.2.x series branched, trunk update to 3.3.1
« Reply #137 on: January 02, 2020, 05:39:29 pm »
You can choose between different calendars if you like. O:-)

Well, by the Islamic calendar we are still in the 1440s so there is still a "little" time for a 2019 release :D 8-)

It is not so much the date, but the associated holidays that do the trick.

TCH

  • Full Member
  • ***
  • Posts: 200
Re: FPC 3.2.x series branched, trunk update to 3.3.1
« Reply #138 on: January 17, 2020, 03:24:01 pm »
Any news on FPC 3.2?

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: FPC 3.2.x series branched, trunk update to 3.3.1
« Reply #139 on: January 17, 2020, 03:29:34 pm »
Any news on FPC 3.2?

Some progress with the major blockers in the last weeks. No news about schedule.

BeniBela

  • Hero Member
  • *****
  • Posts: 905
    • homepage
Re: FPC 3.2.x series branched, trunk update to 3.3.1
« Reply #140 on: February 02, 2020, 12:48:44 am »
Now it is already February

I hope fpc3.2 comes soon.

I spend today replacing arrays of strings with arrays of arrays in my project, and it became much faster, but now I notice, it does not compile with fpc 3.0 anymore :/

Thaddy

  • Hero Member
  • *****
  • Posts: 14204
  • Probably until I exterminate Putin.
Re: FPC 3.2.x series branched, trunk update to 3.3.1
« Reply #141 on: February 02, 2020, 10:24:15 am »
Now it is already February

I hope fpc3.2 comes soon.

I spend today replacing arrays of strings with arrays of arrays in my project, and it became much faster, but now I notice, it does not compile with fpc 3.0 anymore :/
Can you post a small example?
Specialize a type, not a var.

BeniBela

  • Hero Member
  • *****
  • Posts: 905
    • homepage
Re: FPC 3.2.x series branched, trunk update to 3.3.1
« Reply #142 on: February 02, 2020, 10:45:44 am »
Can you post a small example?

It was kind of like this:

Code: Pascal  [Select][+][-]
  1.  
  2. program p;
  3. type TObjectArray = array of TObject;
  4. procedure testOld(a: array of string);
  5. begin
  6.   //... for s in a do s.split(',') ...
  7. end;
  8. procedure testNew(a: array of TObjectArray);
  9. begin
  10.   //...
  11. end;
  12. var x, y, a, b: tobject;
  13. begin
  14.   testOld(['x,y','a,b']);
  15.   testNew([[x,y],[a,b]])
  16. end.
  17. ~
  18.  

Thaddy

  • Hero Member
  • *****
  • Posts: 14204
  • Probably until I exterminate Putin.
Re: FPC 3.2.x series branched, trunk update to 3.3.1
« Reply #143 on: February 02, 2020, 11:56:43 am »
Well, in trunk this compiles, note array initialization in mode delphi and mode objectfpc are different:
Code: Pascal  [Select][+][-]
  1. program p;
  2. {$mode delphi}
  3. type TObjectArray = array of TObject;
  4. procedure testOld(a: array of string);
  5. begin
  6.   //... for s in a do s.split(',') ...
  7. end;
  8. procedure testNew(a: array of TObjectArray);
  9. begin
  10.   //...
  11. end;
  12. var x, y, a, b: tobject;
  13. begin
  14.   testOld(['x,y','a,b']);
  15.   testNew([[x,y],[a,b]])
  16. end.

Of course I assume your trunk is reasonably up-to-date...

Specialize a type, not a var.

PascalDragon

  • Hero Member
  • *****
  • Posts: 5446
  • Compiler Developer
Re: FPC 3.2.x series branched, trunk update to 3.3.1
« Reply #144 on: February 02, 2020, 04:03:05 pm »
Can you post a small example?

It was kind of like this:

Code: Pascal  [Select][+][-]
  1.  
  2. program p;
  3. type TObjectArray = array of TObject;
  4. procedure testOld(a: array of string);
  5. begin
  6.   //... for s in a do s.split(',') ...
  7. end;
  8. procedure testNew(a: array of TObjectArray);
  9. begin
  10.   //...
  11. end;
  12. var x, y, a, b: tobject;
  13. begin
  14.   testOld(['x,y','a,b']);
  15.   testNew([[x,y],[a,b]])
  16. end.
  17. ~
  18.  

You're relying on dynamic array constructors here with your testNew (the function take an open array of dynamic arrays). These are only supported in 3.2 and newer.

As a workaround you can use the Create constructor which is only available for named dynamic arrays (which your TObjectArray is):

Code: Pascal  [Select][+][-]
  1. testNew([TObjectArray.Create(x, y), TObjectArray.Create(a, b)]);

BeniBela

  • Hero Member
  • *****
  • Posts: 905
    • homepage
Re: FPC 3.2.x series branched, trunk update to 3.3.1
« Reply #145 on: February 02, 2020, 11:30:32 pm »
Well, in trunk this compiles, note array initialization in mode delphi and mode objectfpc are different:
Code: Pascal  [Select][+][-]
  1. program p;
  2. {$mode delphi}
  3. type TObjectArray = array of TObject;
  4. procedure testOld(a: array of string);
  5. begin
  6.   //... for s in a do s.split(',') ...
  7. end;
  8. procedure testNew(a: array of TObjectArray);
  9. begin
  10.   //...
  11. end;
  12. var x, y, a, b: tobject;
  13. begin
  14.   testOld(['x,y','a,b']);
  15.   testNew([[x,y],[a,b]])
  16. end.

Of course I assume your trunk is reasonably up-to-date...

I know, that is why I wrote it in the new way.

But I cannot share the code, as long as most people still use 3.0.x


As a workaround you can use the Create constructor which is only available for named dynamic arrays (which your TObjectArray is):

I did not know about that, but I rewrote it with a custom function






mm7

  • Full Member
  • ***
  • Posts: 193
  • PDP-11 RSX Pascal, Turbo Pascal, Delphi, Lazarus
Re: FPC 3.2.x series branched, trunk update to 3.3.1
« Reply #146 on: March 28, 2020, 11:35:01 am »
Any news on FPC 3.2?

Some progress with the major blockers in the last weeks. No news about schedule.

Any approximate ETA?

It is not a curiosity question, 3.0.4 does not support libssl1.1 in Linux.
I need to know ETA to figure out what to do now, to wait for FPC 3.2 or to switch to unreleased FPC SVN with risks that something there has untested bugs.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: FPC 3.2.x series branched, trunk update to 3.3.1
« Reply #147 on: March 28, 2020, 12:46:49 pm »
A rc1 will be released very shortly.   Final Release date is to be determined, but probably not that soon.

The difference between the unreleased FIXES_3_2 branch and real releases is mostly just packaging. I would simply use a FIXES3_2  snapshot if I were you.
« Last Edit: March 28, 2020, 12:48:31 pm by marcov »

Bart

  • Hero Member
  • *****
  • Posts: 5275
    • Bart en Mariska's Webstek
Re: FPC 3.2.x series branched, trunk update to 3.3.1
« Reply #148 on: March 28, 2020, 01:44:15 pm »
The difference between the unreleased FIXES_3_2 branch and real releases is mostly just packaging. I would simply use a FIXES3_2  snapshot if I were you.

Well, there is at least one patch in the bugtracker that IMO needs to go into 3.2 (it's an ugly regression).

Bart

soerensen3

  • Full Member
  • ***
  • Posts: 213
Re: FPC 3.2.x series branched, trunk update to 3.3.1
« Reply #149 on: March 28, 2020, 03:58:28 pm »
It's a bit intransparent. The roadmap shows 100% of issues have been resolved since some time now. Why does it still take so much time for a the release. Sorry I'm a bit impatient   :P But IMO more frequent releases with less changes would be better for new features to get adopted. Also for newcomers it is probably a bit complicated to compile from trunk. Don't get me wrong, I appreciate the work you all do! It's just my opinion.
Lazarus 1.9 with FPC 3.0.4
Target: Manjaro Linux 64 Bit (4.9.68-1-MANJARO)

 

TinyPortal © 2005-2018