PPChar type seems to be incorrect for {$MODESWITCH UNICODESTRINGS}
## Summary When using `{$MODESWITCH UNICODESTRINGS}`, type `PPChar` doesn't work as expected. ## System Information - **Operating system:** Windows - **Processor architecture:** x86, x86_64 - **Compiler version:** 3.2.2 - **Device:** Computer ## Steps to reproduce ```plaintext program test; {$MODE OBJFPC} {$MODESWITCH UNICODESTRINGS} var S: string; pS: PChar; ppS: PPChar; begin S := 'test string'; pS := @S[1]; ppS := @pS; pS := ppS^; // Error: Incompatible types: got "PChar" expected "PWideChar" WriteLn(string(pS)); end. ``` ## What is the current bug behavior? See above comment line. ## What is the expected (correct) behavior? With `{$MODESWITCH UNICODESTRINGS}`, `PPChar` should be `^PChar`. ## Possible fixes Can fix above code by adding: ```plaintext type PPChar = ^PChar; ```
issue