On 10/6/23 16:11, Marco van de Voort via fpc-devel wrote:
OPT= always to my best knowledge
NEWOPT is opt only for later cycles and the rest, iow not for the first
FPC bootstrap cycle (that might be started with an older compiler
version). So it is for additional options that are not
Hi all,
I was looking at the RTL code to see if the embedded target could be
used as a workaround for unsupported OSes (e.g. some custom kernel) and
noticed that there are some global function pointers used as callbacks
for system-specific functionality - which is neat.
However i also
On 3/28/23 02:12, Michalis Kamburelis via fpc-devel wrote:
We're experimenting with compiling Castle Game Engine using FPC
WebAssembly target.
[..]
x3dcamerautils.pas(344,0) Error: Wasm32 symbol
X3DFIELDS$_$TSFROTATION_$__$$_SETVALUE$TGENERICVECTOR4 without index
value error
FWIW i experienced
On 3/26/23 14:30, Martin Frb via fpc-devel wrote:
>generic GenLinkedList = class
> Data: D;
> Next: T;
>end;
>TSome = class;
>TSome = class(specialize GenLinkedList);
AFAIK "specialize" essentially "pastes" the parameters (after some
checking) so it'd be as if you had
On 2/22/23 15:11, Sven Barth wrote:
Kostas Michalopoulos via fpc-devel <mailto:fpc-devel@lists.freepascal.org>> schrieb am Mi., 22. Feb. 2023,
10:37:
> Because Delphi doesn't have them and when constraints were
implemented
> they were implemented for Delph
Because Delphi doesn't have them and when constraints were implemented
they were implemented for Delphi compatibility.
Can they be added? The original announcement ~13 years ago mentioned
that those could be added at some point. "object" and "operator X" would
be quite useful for me.
I
Hi all,
I was trying to use the Wasm/embedded target to port a game i made some
time ago[0] to WebAssembly to run inside a browser, but i am getting a
bunch of errors that i can't figure out the issue. When compiling with
the embedded wasm assembler i get errors like:
SndEmit.pas(171)
On 5/11/2021 4:09 AM, Ryan Joseph via fpc-devel wrote:
On May 10, 2021, at 5:59 PM, Kostas Michalopoulos via fpc-devel
wrote:
You do not need any special language feature for that, you can simply do
something like
ReleaseLater(TObject.Create)
yes but we can't get back the reference
On 5/8/2021 8:27 PM, Ryan Joseph via fpc-devel wrote:
That was a bad example. It's for ANY class really.
o := TObject.Create.AutoRelease;
Then next event cycle the autorelease pool frees all the objects added to it.
Very simple but effective however we can't do this in Pascal without a new
message). Not having it feels like going back to pre-generics FP or
pre-dynamic arrays Delphi; sure, you do not need the functionality, but it
is better when the compiler enables you to avoid busywork and let you focus
on more important parts :-P
Kostas
On Sun, Jun 14, 2020, 04:00 Kostas
There should be at least support for operators. I have a custom
dynamic array object type (i use objects instead of classes to avoid
unnecessary heap allocations) which would benefit a lot from such
support. I worked around not having management operators by putting
the data fields and core
Hi,
I'd also like to repeat that question since i was just trying to use
management operators for a generic object type (not class, not record)
that i want it to automatically initialize/shutdown itself (right now
i'm doing it manually but i'd prefer it if the compiler would do that
for me) and
On Sat, Jun 13, 2020 at 12:07 PM Sven Barth via fpc-devel
wrote:
> I'm against it. It would essentially mean that you can't use the same
> field for the setter or that you'd need to go through a method.
> Exchanging one restriction (can't use a base class for the property) for
> another (can't
doesn't
return an adequate value to see if the relevant defs are compatible
objects, which should not introduce any additional overhead in
existing code (initially i considered modifying compare_defs_ext but i
noticed that it is used in several places so i found this special case
safer).
Kostas
Hm, for me the new compiler produces slightly slower results. The
difference is tiny, but consistent. I use my raytracing benchmark from here:
http://runtimeterror.com/tools/raybench/
The results on my AMD Ryzen 3700X are:
FPC 3.0.4: 3.984 seconds
FPC 3.2.0RC1: 4.047 seconds
As i wrote, the
Do records support inheritance in next FPC? 3.0.4 doesn't seem to
allow that and this is the main reason i use objects when i need value
types.
Actually, what are the differences between records and objects that
make it impossible for records to get objects' features or objects to
get records'
> and Niklaus Wirth might not throw a curse in us.
Considering we're talking about a dialect with three different
incompatible yet mostly overlapping object systems, i think the curse
has already been cast long long ago :-P.
___
fpc-devel maillist -
Yeah, that would be helpful for when you need to use a more compositive
approach and when you want an object to take on multiple roles (e.g. some
sort of mediator or controller). Currently you need to create subclasses
for every role but those classes are only use once with the mediator for a
wrote:
> On Fri, 26 May 2017 18:21:47 +0300
> Kostas Michalopoulos <badsectorac...@gmail.com> wrote:
>
> >[...]
> > I think the control should gain a Profile attribute to solve this.
>
> How would that "Profile attribute" look like?
>
> > And
> &g
The biggest problem you may have with this is requesting a post 2.1 context
in Mac OS X since Apple decided to create a schism in versioning and only
supports either 2.1 and below or 3.2 core and above. They do not have
ARB_compatibility.
Same with Mesa, meaning that on Linux you can use either
On Mon, Nov 10, 2014 at 4:07 PM, Michael Van Canneyt mich...@freepascal.org
wrote:
For a cross-compiler, sizeof(pointer) sizeof(pointer on target arch)
So wait, the following code:
{$if sizeof(pointer)=8} Code1 {$elseif sizeof(pointer)=4} Code2 {$endif}
will evaluate Code1 for a FPC
Yes this is what i meant. I'd expect that the sizeof(pointer) to return the
target architecture's pointer size, not the architecture of the compiler's
own executable.
On Wed, Nov 19, 2014 at 5:22 PM, Sven Barth pascaldra...@googlemail.com
wrote:
Am 19.11.2014 16:15 schrieb Kostas Michalopoulos
On Mon, Oct 27, 2014 at 11:32 AM, Michael Schnell mschn...@lumino.de
wrote:
So you suggest cyclic references should be forbidden (erroneous
programming technique). Are they ?
IMO if a program takes care to avoid cyclic references (with a heaptrc-like
unit to find such cases), it shouldn't
On Mon, Oct 27, 2014 at 11:50 AM, Marco van de Voort mar...@stack.nl
wrote:
There are multiple existing ones already see e.g.
http://www.freepascal.org/docs-html/ref/refse21.html
But all of those (and absolute that Sven mentioned) are not used in
function parameters (something that i already
On Mon, Oct 27, 2014 at 5:17 PM, Hans-Peter Diettrich drdiettri...@aol.com
wrote:
Then the compiler can safely generate refcounting code for *all* objects
and non-weak references, and the counting methods take care of required
operations
Wouldn't that cause all objects to pay (both in terms
On Sun, Oct 26, 2014 at 8:32 AM, Sven Barth pascaldra...@googlemail.com
wrote:
Definitely not. We are in Pascal and there such directives are placed
afterwards.
But there are tons of left-sided keywords, like specialize, const, pointer,
array, file, var, out, etc. And as i said, weak Foo reads
Looks good, this will certainly help simplify some of my code :-).
My only comment will be about the placement of weak... wouldn't make more
sense to put it in front of the type (ie weak TTest instead of TTest
weak), similar to how other stuff like const, var, specialize, etc work?
It looks a bit
it should be usable to generate C code...
The test program re-dumps a pascal program. Presumably you can adapt
that to generate C.
Michael.
On Thu, 23 Oct 2014, Kostas Michalopoulos wrote:
Lazarus has a Pascal tokenizer unit under
components\mpaslex\mpaslex.pp. It seems old and doesn't look
Lazarus has a Pascal tokenizer unit under components\mpaslex\mpaslex.pp. It
seems old and doesn't look like it supports the full FPC syntax, but it
might be a starting point since most likely you can convert the code to C++
with GNU GCC extensions (nested functions, etc) straightforward.
On Thu,
Although TBH what i'd prefer more than the above is language features that
would allow me to implement refcounted objects myself. Stuff like automatic
destruction when a generic variable goes out of scope, etc.
On Mon, Sep 22, 2014 at 5:45 PM, Kostas Michalopoulos
badsectorac...@gmail.com wrote
I prefer the TARCObject approach too, i don't want anything to be
refcounted unless i *explicitly* ask for it (yes i know some things are
already refcounted and at the past i was bitten by that which is a big
reason why i don't want hidden things to do magic stuff behind my back).
Also i don' want
Is it/will be open source? Under what license?
On Fri, Jan 10, 2014 at 3:51 PM, Anton Kavalenka anto...@tut.by wrote:
On 07.01.2014 12:19, Michael Schnell wrote:
What is the difference between this and the TUI that comes up when you
start tp. (Same obviously already is part of the fpc source
That emulator is not cycle-exact, so it doesn't have the same
characteristics as the real hardware. PCem comes closer, but is also not
exact.
Well, it is better than nothing when you have no access to a real 808x machine.
___
fpc-devel maillist -
If you want to do speed tests, try some emulator. For example PicoXT
(which emulates an XT clone):
http://www.picofactory.com/free/software/pc-xt-emulator/
On Mon, Dec 23, 2013 at 5:27 PM, Jim Leonard trix...@oldskool.org wrote:
On 12/23/2013 7:34 AM, Max Nazhalov wrote:
Hello, Everybody!
I suppose something like this:
http://www.commell-sys.com/Product/SBC/LE-330.htm ?
Also i see some 64MB devices on other sites, although those run Linux fine.
On Fri, Sep 27, 2013 at 10:15 AM, Marco van de Voort mar...@stack.nlwrote:
In our previous episode, Nikolay Nikolov said:
if you aim
Hi all,
Yesterday i came up with the need to use some UTF-8 handling (string parts,
length, etc). I looked around in FPC 2.6.2's units and found nothing beyond
utf8encode/decode (which in linux requires a C widestring manager that i'd
like to avoid... and doesn't really help in all cases since
On Sun, Apr 7, 2013 at 5:59 PM, Mattias Gaertner
nc-gaert...@netcologne.dewrote:
On Sun, 7 Apr 2013 13:35:40 +0200
Kostas Michalopoulos badsectorac...@gmail.com wrote:
[...]I looked around in FPC 2.6.2's units and found nothing beyond
utf8encode/decode (which in linux requires a C
On Mon, Mar 4, 2013 at 9:26 AM, Vittorio Giovara vittorio.giov...@gmail.com
wrote:
Don't use fpc if you don't like it, or send patches to improve it ;)
http://programmers.stackexchange.com/questions/68740/whats-the-canonical-retort-to-its-open-source-submit-a-patch
AFAIK FPC doesn't support lambdas (yet?)
On Mon, Feb 18, 2013 at 9:02 PM, Boian Mitov mi...@mitov.com wrote:
As example this enumerates all attributes of certain type for any public
or published member (function, field, or property) for a component:
for LMember in TRTRtti.GetType(
It depends on the compiler mode, not the platform - at least according
to the docs in http://www.freepascal.org/docs-html/ref/refsu5.html:
---
The integer type maps to the smallint type in the default Free Pascal
mode. It maps to either a longint in either Delphi or ObjFPC mode. The
cardinal type
It should run only as an easter egg when you move the mouse over it,
not all the time :-P
On Wed, Sep 26, 2012 at 5:13 PM, Sven Barth pascaldra...@googlemail.com wrote:
Am 26.09.2012 16:26, schrieb Cephas Atheos:
Kostas and Doug, I agree that even a few little things (like the, er,
Hi all,
I've found a bug that causes FPC 2.4.2/2.4.4 to create invalid code. It
seems to be caused when a method of a packed* object is called from a
local procedure and the object is declared on the procedure above
(although it might be caused in other cases too - i just found it in my
42 matches
Mail list logo