Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Michael Van Canneyt
On Sun, 15 Nov 2009, Anthony Walter wrote: Hi all. I am new to fpc and linux in general, though I do have a long time experience with Delphi. I was writing some code basic system (using the libc library) when I ran across the following problem .. some code: const libc = 'libc.so.6'; type

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Anthony Walter
Actually the help does. The first thing I did when I got to work with morning was top open my Delphi 7 help file and typed const then choose the topic constant (const) parameters. Quote: Using const allows the compiler to optimize code for structured- and string-type parameters. Using const

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Martin Schreiber
On Monday 16 November 2009 08:59:50 Michael Van Canneyt wrote: It is nowhere written in the Delphi specs that const parameters are passed by reference. It is often so, but is by no means guaranteed. There is a sentence in Delphi 7 Language Guide in chapter 12 Parameters and function results

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Jonas Maebe
On 16 Nov 2009, at 14:50, Anthony Walter wrote: There is a problem with the above code on FPC when you change calling conventions of A. Const indeed behaves differently depending on the calling convention. With register and stdcall, we emulate Delphi. With mwpascal, we emulate MetroWerks

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Anthony Walter
I assume you replied so quickly you did not get the chance to read my crafted and tested reply. You may have been typing the same time I was :) Please go back and read my message and note the tests section. Jonas, why is FPC emulating C when it could simply follow the Delphi way and prevent

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Michael Van Canneyt
On Mon, 16 Nov 2009, Anthony Walter wrote: Actually the help does. The first thing I did when I got to work with morning was top open my Delphi 7 help file and typed const then choose the topic constant (const) parameters. Definitely not in the printed manual of D7, which I consulted prior

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Anthony Walter
As I said in my introduction. I am new to Linux and FPC. I've used them both for maybe 8 years, but not seriously. On the Linux side for years I've just used it for minimal compiling and a lot of web browser. On the FPC I've fired it up from time to time over the years (and read the website,

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Florian Klaempfl
In my opinion, there is an incompatibility. Fix it. If you care about it, provide a usable patch. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Anthony Walter
I probably should, but I've never worked on a community project before. I don't know the ins and outs of hooking up to the developer repository, getting the build environment working, discussing and submitting my changes, testing those changes, and moving them into the official version. If anyone

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Michael Van Canneyt
On Mon, 16 Nov 2009, Anthony Walter wrote: As I said in my introduction. I am new to Linux and FPC. I've used them both for maybe 8 years, but not seriously. On the Linux side for years I've just used it for minimal compiling and a lot of web browser. On the FPC I've fired it up from time

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Marco van de Voort
In our previous episode, Anthony Walter said: I probably should, but I've never worked on a community project before. I don't know the ins and outs of hooking up to the developer repository, getting the build environment working, discussing and submitting my changes, testing those changes, and

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Jonas Maebe
On 16 Nov 2009, at 15:29, Anthony Walter wrote: FreePascal did this before something else so we shouldn't change Forgetting the whole argument about who was actually first, I have to ask what difference does it make? I was merely answering your question why we do it differently than

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Anthony Walter
This is because Delphi belongs to is a commercial enterprise, and it is in their best interested not to bend over backwards to work with a free competing product. The power I felt FPC has had was it's compatibility with Delphi. FPC maintained compatibility with the languages and even with the

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Michael Van Canneyt
On Mon, 16 Nov 2009, Anthony Walter wrote: This is because Delphi belongs to is a commercial enterprise, and it is in their best interested not to bend over backwards to work with a free competing product. The power I felt FPC has had was it's compatibility with Delphi. FPC maintained

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Marco van de Voort
In our previous episode, Anthony Walter said: To Marco: Thanks for that link. I will read that rocument and try to get started with the developer repository and build environment this week. If I have and questions (which google and my own experimentation can't answer), where would be the

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Anthony Walter
On Mon, Nov 16, 2009 at 10:19 AM, Marco van de Voort mar...@stack.nl wrote: The fpc-devel group and/or irc. On freenode I've been to #fpc a few times over the years. My handle is sysRPL. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Jonas Maebe
On 16 Nov 2009, at 16:19, Marco van de Voort wrote: The fpc-devel group and/or irc. The fpc-devel mailing list is best, I think, if only because the answers will be indexed by Google. Jonas ___ fpc-pascal maillist -

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Holger Bruns
Michael Van Canneyt schrieb: In reality it's always the FPC team that is f*d when an incompatibility arises. I refuse to use Borland again. I have their Delphi and the manuals as well on my cupboard, but since I saw Lazarus und fpc the first time, I decided to move on. Holger

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Eduardo Morras
At 04:33 16/11/2009, you wrote: Hi all. I am new to fpc and linux in general, though I do have a long time experience with Delphi. I was writing some code basic system (using the libc library) when I ran across the following problem .. some code: const libc = 'libc.so.6'; type TTimeSpec =

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Jonas Maebe
On 16 Nov 2009, at 15:51, Jonas Maebe wrote: The main problem with changing it now would obviously be that it would break backwards compatibility with existing code. It could still be done in Delphi mode onlu, of course, but changing the behaviour of a calling convention (which is

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Anthony Walter
On Mon, Nov 16, 2009 at 10:35 AM, Eduardo Morras emor...@xroff.net wrote: One question, why do you reimplement libc-fpc wrapping lib? This function is in the BaseUnix unit as fpnanosleep. I am redoing my game engine is which based on a simple concept. Bare bones code. The library is called

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Jonas Maebe
Anthony Walter wrote on Mon, 16 Nov 2009: Jonas: I noticed the bit you posted which looked like this: {$define cdecl:=delphicdecl} Does this mean I can redefine patterns as seen by FPC? Yes. They are basically equivalent to C macro's, except that they do not support parameters. See

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Jürgen Hestermann
In general we try to be Delphi compatible as much as time and backward compatibility permits. I hate it if bugs or illogical things are copied from Delphi. It may be the case that Delphi vanishes one day. Then we still would have all these bugs in FPC/Lazarus cast in stone forever. I think

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Anthony Walter
On Mon, Nov 16, 2009 at 12:37 PM, Jürgen Hestermann juergen.hesterm...@gmx.de wrote: I hate it if bugs or illogical things are copied from Delphi. It may be the case that Delphi vanishes one day. Then we still would have all these bugs in FPC/Lazarus cast in stone forever. I think we should not

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Jonas Maebe
On 16 Nov 2009, at 18:55, Anthony Walter sys...@gmail.com wrote: I think Delphi should be using actual operators like + * and / instead of Add, Multiply, Divide, but then again I think the named results of FPC are stranger. What's wrong with using the type in the declaration and Result in the

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Marco van de Voort
In our previous episode, J?rgen Hestermann said: In general we try to be Delphi compatible as much as time and backward compatibility permits. I hate it if bugs or illogical things are copied from Delphi. It may be the case that Delphi vanishes one day. Then we still would have all

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Anthony Walter
On Mon, Nov 16, 2009 at 1:39 PM, Jonas Maebe jonas.ma...@elis.ugent.be wrote: For this reason, I think the Delphi operator naming decision is actually better than FPC's. Limiting them to classes is another matter. Jonas Jonas, Delphi doesn't limit operator overloading to classes. You can

Re: [fpc-pascal] const records passed incorrectly

2009-11-16 Thread Jonas Maebe
On 16 Nov 2009, at 19:56, Anthony Walter sys...@gmail.com wrote: On Mon, Nov 16, 2009 at 1:39 PM, Jonas Maebe jonas.ma...@elis.ugent.be wrote: For this reason, I think the Delphi operator naming decision is actually better than FPC's. Limiting them to classes is another matter. Jonas

[fpc-pascal] const records passed incorrectly

2009-11-15 Thread Anthony Walter
Hi all. I am new to fpc and linux in general, though I do have a long time experience with Delphi. I was writing some code basic system (using the libc library) when I ran across the following problem .. some code: const libc = 'libc.so.6'; type TTimeSpec = record Sec: Cardinal; {