[fpc-devel] Compiler defines changes.

Michael Van Canneyt michael at freepascal.org
Thu Jun 9 23:40:03 CEST 2005


Hi,

A warning:

As of revision 335, the following ("temporary") macros are no longer 
defined by the 2.1.1 and 2.0.1 compiler:

HASWIDECHAR
HASWIDESTRING
HASOUT
HASGLOBALPROPERTY
FPC_HASPREFETCH
FPC_LINEEND_IN_TEXTREC
FPC_ALIGNSRTTI
FPC_HASNOFARPOINTER
FPC_HASUSERDATA32
INTERNSETLENGTH
INTERNLENGTH
INTERNCOPY
INT64FUNCRESOK
HAS_ADDR_STACK_ON_STACK
NOBOUNDCHECK
HASCOMPILERPROC
INTERNCONSTINTF
VALUEGETMEM
VALUEFREEMEM
HASCURRENCY
HASTHREADVAR
HAS_GENERICCONSTRUCTOR
NOCLASSHELPERS
DECRREFNOTNIL
HAS_INTERNAL_INTTYPES
STR_USES_VALINT
NOSAVEREGISTERS
SHORTSTRCOMPAREINREG
HASGETHEAPSTATUS
HASGETFPCHEAPSTATUS
HASFUNCTIONCOPYDYNARR
HASOVERLOADASSIGNBYUNIQUERESULT
HASINTF
HASVARIANT

The RTL, FCL and Packages have been cleaned so they no longer use these defines.
(and they look much better this way ;-) )

Under normal circumstances, you should not have used these defines. These defines
were meant for internal use by the compiler team.

If you need to fix code, keep the part of the code that was included when the above 
macros were defined.

At the same time, the {$IFDEF VER1_X_Y} defines have been removed from the RTL, FCL 
and Packages. As a result, the FPC source tree will now no longer compile with the 
1.X compilers.

Michael.




More information about the fpc-devel mailing list