Re: [fpc-devel] Compiler bug in macro handling?

2017-04-12 Thread Bernd Oppolzer
No, if you put a semicolon in there, you will get wrong syntax, no matter what the datatype is. Example: {$MACRO ON} {$define Fifteen:=15;} {$define Twelve:=12;} ... if HDCOUNT0 >= COUNT0 then X := Fifteen else X := Twelve; will generate this Pascal statement: if HDCOUNT0

Re: [fpc-devel] Compiler bug in macro handling?

2017-04-12 Thread Giuliano Colla
Il 12/04/2017 19:54, Bernd Oppolzer ha scritto: I'm no FPC macro language wizard, but in my believe you are replacing Positiva with False, followed by a semicolon, and so you get the error from the compiler. {$define Positiva:=False} should probably work. You are right, I was misled by some

Re: [fpc-devel] Compiler bug in macro handling?

2017-04-12 Thread Giuliano Colla
Il 12/04/2017 19:51, Michael Van Canneyt ha scritto: Try removing the semicolon: {$define Positiva:=False} {$define Negativa:=True} Without semicolon it works! Thanks a lot. BTW, do you think that this holds true only for the define of boolean values?

Re: [fpc-devel] Compiler bug in macro handling?

2017-04-12 Thread Bernd Oppolzer
Hi Guiliano, I'm no FPC macro language wizard, but in my believe you are replacing Positiva with False, followed by a semicolon, and so you get the error from the compiler. {$define Positiva:=False} should probably work. HTH, kind regards Bernd Am 12.04.2017 um 19:39 schrieb Giuliano

Re: [fpc-devel] Compiler bug in macro handling?

2017-04-12 Thread Michael Van Canneyt
On Wed, 12 Apr 2017, Giuliano Colla wrote: Hi honourable fpc developers! I found a strange error (both with fpc 2.6.4 and fpc 3.0.0, in Linux environment) The following snippet of code: {$MACRO ON} {$define Positiva:=False;} {$define Negativa:=True;} ... if HDCOUNT0 >= COUNT0

[fpc-devel] Compiler bug in macro handling?

2017-04-12 Thread Giuliano Colla
Hi honourable fpc developers! I found a strange error (both with fpc 2.6.4 and fpc 3.0.0, in Linux environment) The following snippet of code: {$MACRO ON} {$define Positiva:=False;} {$define Negativa:=True;} ... if HDCOUNT0 >= COUNT0 then V_PIU0 := Positiva else V_PIU0 :=