Re: Corba ABI change ?

Adriaan van Os via fpc-pascal <[email protected]> Wed, 18 Feb 2026 16:25:44 +0000 (UTC)
Newsgroups gmane.comp.compilers.free-pascal.general
Message-ID <[email protected]>
Tony Whyman via fpc-pascal wrote:
> 
> 
> Supplementing my point below, I went back and checked my notes. The 
> TObject layout post 3.2 (in my copy of trunk) is now
> 
>        TObject = class
>        {$IFDEF SYSTEM_HAS_FEATURE_MONITOR}
>        strict private
>           _MonitorData : Pointer;
>        private
>           function SetMonitorData(aData,aCheckOld : Pointer) : Pointer; 
> inline;
>           function GetMonitorData: Pointer; inline;
>        {$ENDIF}
>        protected
>           function GetDisposed : Boolean; inline;
>           Property Disposed : Boolean Read GetDisposed;
>        public
> 
> with everything before "public" having been added. The big change is the 
> addition of "_MonitorData". This bumps the offset of all later fields up 
> by sizeof(pointer). If you have code that makes assumptions about the 
> object layout - and this very much applies to code that tries to import 
> an object from C++ then your previous assumptions are invalid.

Is SYSTEM_HAS_FEATURE_MONITOR defined by default in the build process ? I assume, the compiler can 
be built without it ?

Regards,

Adriaan van Os

_______________________________________________
fpc-pascal maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal