It was only a matter of time...
It was only a matter of time...
[dcc32 Fatal Error] Test.pas(461): F2084 Internal Error: I18858
Anyone seen this I18858 before?
Seems to be inlining related, if I comment out the inline keyword on a procedure I call in my method, it doesn't barf.
edit: https://quality.embarcadero.com/browse/RSP-11186
[dcc32 Fatal Error] Test.pas(461): F2084 Internal Error: I18858
Anyone seen this I18858 before?
Seems to be inlining related, if I comment out the inline keyword on a procedure I call in my method, it doesn't barf.
edit: https://quality.embarcadero.com/browse/RSP-11186
Version? Never seen it.
ReplyDeleteI get a shitload of internal errors all the time :-( . This XE8 is somewhat better. Can't recall all the numbers.
ReplyDeleteIt's better not to use inlining at all in XE2-XE5 because of terrible code generated by compiler.
ReplyDeleteFor other versions do not use it with procedures having records as parameters or returming a record - compiler sometime generates incorrect code.
18858 is a line number that may be different between compiler revisions. I have seen some issues in the 12-13 k range like QC 77121 for example, but am not aware of one in that range.
ReplyDeleteLars Fosdal XE7.1. Alexander Sviridenkov Spot on, the inlined procedure takes a record.
ReplyDeletehttps://quality.embarcadero.com/browse/RSP-11186
Asbjørn Heid
ReplyDeleteEven when it will be fixed there still be a risk of getting incorrect code (without any warnings or errors) so I just can repeat - do not use inlining with records.
Alexander Sviridenkov That would mean essentially disabling inlining in my case then :(
ReplyDeletex64 compiles eats it up. Same defect in XE8 x86 compiler.
ReplyDeleteIt is regression that happened in XE2. XE does compile it.
ReplyDelete