Inefficient code generated for Pos('ascii_literal', WideStringVariable)
Original Reporter info from Mantis: Gorelkin
-
Reporter name: Sergei Gorelkin
Original Reporter info from Mantis: Gorelkin
- Reporter name: Sergei Gorelkin
Description:
When compiling calls like Pos('abc', WideStringVar), the compiler generates an AnsiString constant and code which converts it into WideString temporary variable before call to Pos(), instead of using a WideString constant directly (as Delphi does in this case). The code remains correct, but its performance drops significantly.
Unfortunately, I don't know how to write a complete test case for this.
Mantis conversion info:
- Mantis ID: 11327
- Version: 2.3.1
- Fixed in version: 2.4.0
- Fixed in revision: 11636 (#9a83b1d2)