On Wed, Jan 08, 2014 at 09:01:34PM +0100, Sven Barth wrote:
On 08.01.2014 19:40, Howard Page-Clark wrote:
On 08/01/2014 18:16, Jürgen Hestermann wrote:
Today I found this type definition in some FreePascal sources:
TypeReal =type Double;
I wondered what the second “type” keyword means here (I have never seen
this before).
You are being rather obtuse.
Ignore the diagrams in the docs if they don't help you.
The double use of type here simply means that the "Real" type is being
defined as an alias for double. The two type identifiers now mean
exactly the same thing as the "=" indicates.
No, an alias would be
=== code begin ===
type
Real = Double;
=== code end ===
Using the "type" behind the "=" tells the compiler to declare a new
type based on the right side. So a "Double" and a "Real" are not
assignment compatible and can have different sets of operator
overloads.
Is there any way to get support in Free Pascal for the
old six byte REAL type that was provided by the old
Borland DOS Turbo Pascal compilers? There was support for
the six byte REAL in the old Virtual Pascal compiler, so I
wondered if there is some obscure unit that can be enabled
to turn on legacy support for it.
I do understand that a DOUBLE is larger than a six byte
REAL, so support for the old type is only meaningful when
reading a typed file of records that include this outdated
data type. Some old code here uses the old type REAL
extensively, even for large whole number values to avoid
using the signed 32-bit integer type, LONGINT.
I know the documentation does not mention the six byte
REAL type. I wondered if there is any support for it.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal