Compiler produces wrong code when using option -gt
## Summary When I compile a code using **-O3** optimization level together with the option **-gt**, the compiler produces a wrong code for functions that does a for-loop using Result as index. ## System Information - **Operating system:** Linux Ubuntu 20.04 LTS - **Processor architecture:** x86-64 - **Compiler version:** 3.3.1 revision 4f9acc10f0 - **Device:** Computer ## Steps to reproduce build the example code using the command `fpc -O3 -gt project1` ## Example Project ```pascal program project1; {$mode objfpc} function CharPos(const S: AnsiString; const C: AnsiChar; const Index: SizeInt): SizeInt; begin for Result := Index to Length(S) do if S[Result] = C then Exit; Result := 0; end; begin Writeln(CharPos('Hello!', '!', 1)); end. ``` ## What is the current bug behavior? ``` Runtime error 216 at $00000000004010BE $00000000004010BE ``` ## What is the expected (correct) behavior? 6
issue