Recent

Author Topic: FPC 3.0.0 "Pestering Peacock"  (Read 71507 times)

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11351
  • FPC developer.
FPC 3.0.0 "Pestering Peacock"
« on: November 26, 2015, 08:19:27 pm »
Hello,

We are happy to announce the release of the Free Pascal Compiler version
3.0.0 "Pestering Peacock".

This version includes support for, a.o., several new platforms,
codepage-aware strings, and an integrated Pascal source-repository (fppkg).

New features are listed at
http://wiki.freepascal.org/FPC_New_Features_3.0

Changes that may break backwards compatibility are documented at
http://wiki.freepascal.org/User_Changes_3.0

The 3.0.0 docs is available at
http://www.freepascal.org/docs-html/3.0.0/fpctoc.htm

Downloads are available at our website:
http://www.freepascal.org/download.var

Enjoy!

The Free Pascal Compiler Team


                             Free Pascal Compiler

                                Version 3.0.0

****************************************************************************
* Introduction
****************************************************************************

Please also read the platform specific README file, if it exists.

This package contains an advanced freeware 32-bit/64-bit/16-bit pascal
compiler for several platforms. The language and the runtime library are
almost compatible with Turbo Pascal 7.0 and recent Delphi releases. There is
also partial support for the Macintosh pascal dialect.

News and changes related to this release are described in whatsnew.txt.

Free Pascal 3.0.0 is currently available for the following platforms:
- Linux-i386
- Linux-x86_64 (amd64)
- Linux-powerpc
- Linux-sparc
- Linux-ARM
- Win32-i386 (2000/XP, WinNT or later)
- Win64-x86_64 (XP or later)
- Wince-ARM (cross compiled from win32-i386)
- FreeBSD-i386
- FreeBSD-x86_64
- Mac OS X/Darwin for PowerPC (32 and 64 bit)
- Mac OS X/Darwin for Intel (32 and 64 bit)
- iOS (ARM and AArch64/ARM64) and iPhoneSimulator (32 and 64 bit)
- OS/2-i386 (OS/2 Warp v3.0, 4.0, WarpServer for e-Business and eComStation)
- Haiku-i386
- GO32v2-i386
- Nintendo Gameboy Advance-ARM (cross compile from win32-i386)
- Nintendo DS-ARM (cross compile from win32-i386)
- Nintendo Wii-powerpc (cross compile from win32-i386)
- AIX 5.3 and later for PowerPC (32 and 64 bit)
- Java JVM (1.5 and later) and Android Dalvik (Android 4.0 and later)
- Android (ARM, i386, MIPS) via cross-compiling.
- MSDos-i8086 (cross compiled from win32-i386 or Linux)
- Amiga, MorphOS and AROS

There are other platforms (like other BSD variants) which are more or less
working, but there is currently no maintainer for them and thus we cannot
provide adequate support. If you want to change this and create and
maintain versions for other platforms and targets, feel free to contact us,
e-mail addresses are listed below.


****************************************************************************
* Features
****************************************************************************

- high speed compiler
- fully 16, 32 or 64-bit code
   - 32 bit compiler can be used on x86_64 Linux distributions to compile
     32 bit applications
- language features:
   - almost fully compatible with Borland Pascal and Borland Delphi
   - ansi strings
   - wide strings
   - exception support
   - RTTI support
   - procedure overloading
   - generics (experimental)
   - operator overloading
   - COM, CORBA and raw interfaces support
   - dynamic array support
   - variant support
   - inlining
- code optimizer:
   - peephole optimizer (80x86 only)
   - jump optimizer
   - loading of variables into registers
   - assembler level dataflow analyzer (80x86 only)
   - stack frame eliminations
   - sophisticated register allocator
- integrated BASM (built-in assembler) parser
   - supports ATT syntax used by GNU C
   - supports Intel syntax used by Turbo Pascal (x86-only)
- can compile code into assembler source code for these assemblers:
   - GNU Assembler (GAS)
   - Netwide assembler (Nasm)
   - Microsoft Assembler/Turbo Assembler (Masm/Tasm)
   - Watcom assembler (wasm)
- internal assembler for ultra fast object file generation
- can call external C code
   - h2pas utility to convert .h files to Pascal units
- smart linking (also known as dead code stripping)
- support for the GNU debugger
- integrated development environment (disabled by default on Mac OS X)
   - powerful user friendly Wordstar compatible multi file editor
   - context sensitive help supports help files in HTML, Windows HLP and
     Borland TPH format.
   - debugger on most platforms
- can create binaries running natively under both DOS and OS/2 (EMX version)
- no need for Linux distribution specific binaries, programs you write run
   on all distributions
- high quality documentation


****************************************************************************
* Minimum requirements
****************************************************************************

Processor:
   i386, x86_64, PowerPC, ARM, MIPS, i8086, Motorola 68k, Sparc or JVM
   runtime
Win32:
  - MS Windows NT/2000/XP or later (Win95, 98 and ME are not supported
    in FPC officially any longer).
  - 16 MB RAM
OS/2:
  - OS/2 Warp v3.0 with one of late fixpaks - FP 35 should be fine,
    OS/2 Warp v4.0 with FP 5 and above, WSeB, MCP or any eComStation version
    (OS/2 2.0/2.1 currently not supported, not even for compiled programs).
  - Certain features (e.g. Unicode support in the RTL) require proper
support
    only available in later OS/2 versions (at least OS/2 Warp 4.0 FP14),
    otherwise the functionality may be limited (but the binaries still work
    even on the older versions, albeit with some limitations).
Linux:
  - system running a 2.4.x kernel
FreeBSD:
- There are separate releases for FreeBSD 7.x system or 8.x system. The code
     works on 6.x too. Older versions might need specific adaptations.
Mac OS X:
  - Mac OS X 10.4 and higher


timppl

  • Jr. Member
  • **
  • Posts: 80
Re: FPC 3.0.0 "Pestering Peacock"
« Reply #1 on: November 27, 2015, 08:34:02 am »
Thanks to all the developers.

I now have it installed and one thing I have noticed is that when compiling from a terminal the output seems to scroll faster so I guess V3 is faster than 2.6.4  :D

Regards

Tim
Mageia 8 Linux on x86

taazz

  • Hero Member
  • *****
  • Posts: 5368
Re: FPC 3.0.0 "Pestering Peacock"
« Reply #2 on: November 27, 2015, 09:14:10 am »
Congrats guys. An other excellent release.

Thank you.
Good judgement is the result of experience … Experience is the result of bad judgement.

OS : Windows 7 64 bit
Laz: Lazarus 1.4.4 FPC 2.6.4 i386-win32-win32/win64

hnb

  • Sr. Member
  • ****
  • Posts: 270
Re: FPC 3.0.0 "Pestering Peacock"
« Reply #3 on: November 27, 2015, 09:59:57 am »
Significant step forward :). Now we need more detailed optional RTTI, anonymous methods and attributes ^^. Bye bye Delphi.
Checkout NewPascal initiative and donate beer - ready to use tuned FPC compiler + Lazarus for mORMot project

best regards,
Maciej Izak

Deepaak

  • Sr. Member
  • ****
  • Posts: 454
Re: FPC 3.0.0 "Pestering Peacock"
« Reply #4 on: November 27, 2015, 05:24:49 pm »
Thank you everybody, who have given their valuable time and knowledge for this excellent release.  :)
Holiday season is online now. :-)

Graeme

  • Hero Member
  • *****
  • Posts: 1428
    • Graeme on the web
Re: FPC 3.0.0 "Pestering Peacock"
« Reply #5 on: November 27, 2015, 06:59:13 pm »
Very impressive list of features. Well done to everybody that was involved.
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

Michl

  • Full Member
  • ***
  • Posts: 226
Re: FPC 3.0.0 "Pestering Peacock"
« Reply #6 on: November 27, 2015, 07:28:11 pm »
Thank you so much for all you work!!!
Code: [Select]
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;

Blaazen

  • Hero Member
  • *****
  • Posts: 3237
  • POKE 54296,15
    • Eye-Candy Controls
Re: FPC 3.0.0 "Pestering Peacock"
« Reply #7 on: November 27, 2015, 07:59:18 pm »
Thanks.

BTW: "Pestering Peacock" is some Ubuntu related joke?  :)
Lazarus 2.3.0 (rev main-2_3-2863...) FPC 3.3.1 x86_64-linux-qt Chakra, Qt 4.8.7/5.13.2, Plasma 5.17.3
Lazarus 1.8.2 r57369 FPC 3.0.4 i386-win32-win32/win64 Wine 3.21

Try Eye-Candy Controls: https://sourceforge.net/projects/eccontrols/files/

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11351
  • FPC developer.
Re: FPC 3.0.0 "Pestering Peacock"
« Reply #8 on: November 27, 2015, 08:10:51 pm »
Thanks.

BTW: "Pestering Peacock" is some Ubuntu related joke?  :)

Not really. It was about two years ago during a FPC hackathon when it turned out the hotel where we staying had a bunch of peacocks. They were very noisy and annoying.

During that meeting, the plans for 3.0 (and e.g. the unicode implementation of the RTL) were finalized, and sb proposed to call it "Pestering Peacock", and that stuck

SnoopyDog

  • New Member
  • *
  • Posts: 26
Re: FPC 3.0.0 "Pestering Peacock"
« Reply #9 on: November 27, 2015, 08:13:01 pm »
Thanks a lot for the new version :)

I am using Lazarus 1.4.4 with FPC 2.6.4 currently. I tried to compile one of my projects where i use overloaded properties with FPC 3.0.0 and i get the error message that i duplicate the identifiers. Overloaded properties are supported in FPC 2.6.4 and Delphi as well. Is this a bug or a feature in FPC 3.0.0?

Bitbeisser

  • New Member
  • *
  • Posts: 28
Re: FPC 3.0.0 "Pestering Peacock"
« Reply #10 on: November 28, 2015, 12:22:09 am »
Thanks.

BTW: "Pestering Peacock" is some Ubuntu related joke?  :)

Not really. It was about two years ago during a FPC hackathon when it turned out the hotel where we staying had a bunch of peacocks. They were very noisy and annoying.

During that meeting, the plans for 3.0 (and e.g. the unicode implementation of the RTL) were finalized, and sb proposed to call it "Pestering Peacock", and that stuck
And I thought you where referring to a taller two legged peacock, who was ruffling his feathers at that hackathon...  8)

boren

  • New Member
  • *
  • Posts: 25
Re: FPC 3.0.0 "Pestering Peacock"
« Reply #11 on: November 28, 2015, 05:40:33 am »
Great news.

I wait for FPC 3 for long, now it's available thanks to all developers.

Be more famous and famous! Lazarus and Free Pascal!
Thanks so much!
Boren.

HeavyUser

  • Sr. Member
  • ****
  • Posts: 397
Re: FPC 3.0.0 "Pestering Peacock"
« Reply #12 on: November 28, 2015, 05:43:55 am »
And I thought you where referring to a taller two legged peacock, who was ruffling his feathers at that hackathon...  8)
erm, why there are beacocks with more legs?

Thanks for the release seems one of the most awaited.

It looks wonderful.

jwdietrich

  • Hero Member
  • *****
  • Posts: 1232
    • formatio reticularis
Re: FPC 3.0.0 "Pestering Peacock"
« Reply #13 on: November 28, 2015, 08:00:19 am »
That is very good news.  :) Thanks for your joint efforts.
« Last Edit: November 28, 2015, 10:05:23 am by jwdietrich »
function GetRandomNumber: integer; // xkcd.com
begin
  GetRandomNumber := 4; // chosen by fair dice roll. Guaranteed to be random.
end;

http://www.formatio-reticularis.de

Lazarus 2.2.6 | FPC 3.2.2 | PPC, Intel, ARM | macOS, Windows, Linux

Thaddy

  • Hero Member
  • *****
  • Posts: 14157
  • Probably until I exterminate Putin.
Re: FPC 3.0.0 "Pestering Peacock"
« Reply #14 on: November 28, 2015, 09:48:49 am »
Congrats.
I like this approach: "It's ready when it's ready".
A breath of fresh air compared to some.
The result is a thoroughly modern and stable Pascal environment that duly deserves the 3.0 release number.
Very, very good work! Tnx!

A special mention should go to the excellent documentation which is way ahead of its siblings.
Specialize a type, not a var.

 

TinyPortal © 2005-2018