Internal error 200706092 (Int64 comparison)
Summary
I'm testing trunk because I want to give feedback about issues and help on the way onto a 3.4 release. I stumbled upon an "Internal error 200706092" in an external unit (see below). This code works fine with FPC 3.2.
System Information
- Operating system: Windows
- Processor architecture: x86
- Compiler version: trunk
- Device: Computer
Example Project
The error occurs in the first line of the following function:
class function TDataConverters.InternalInt64ToInt8(Value: Int64; Dest: IntPtr; IgnoreConvertErrors: Boolean): TConvertStatus;
begin
if (Value and $FFFFFFFFFFFFFF80 <> 0) and (Value and $FFFFFFFFFFFFFF80 <> $FFFFFFFFFFFFFF80) then begin
// remainder not relevant
end;
end;
What is the current bug behavior?
An "Internal error 200706092" is raised.
What is the expected (correct) behavior?
The compiler should produce a more helpful error message or not raise an error at all.