Hi all,
It seems that a new bug has crept in in recent versions of gpc
(I use 2.1 / djgpp). I found it in recompiling a program which worked
correctly some times ago.
A simple program to display the bug is obtained by splitting
the docdemos/operatordemo.pas program into a main and a unit:
-----------------------------------------------------------------
program bugoper;
uses uoper;
var
a, b, c: Vector3 = (1, 2, 3);
begin
c := a + b
end.
-----------------------------------------------------------------
unit uoper;
interface
type
Vector3 = record
x, y, z: Real;
end;
operator + (u, v: Vector3) w: Vector3;
implementation
operator + (u, v: Vector3) w: Vector3;
begin
w.x := u.x + v.x;
w.y := u.y + v.y;
w.z := u.z + v.z;
end;
end.
-------------------------------------------------------------------
I obtain the following error mesage
bugoper.pas: In main program:
bugoper.pas:10: invalid operands to binary +
bugoper.pas:10: invalid operands to binary +
Everything is correct of course with the original program
Maurice
--
Maurice Lombardi
Laboratoire de Spectrometrie Physique,
Universite Joseph Fourier de Grenoble, BP87
38402 Saint Martin d'Heres Cedex FRANCE
Tel: 33 (0)4 76 51 47 51
Fax: 33 (0)4 76 63 54 95
mailto:Maurice.Lombardi@ujf-grenoble.fr