On Fri, 5 May 2017, Mattias Gaertner wrote:
On Fri, 5 May 2017 14:30:32 +0200 (CEST) Michael Van Canneyt <mich...@freepascal.org> wrote:[...] > AFAIK FPC stores UTF-8 string literals (-Fcutf8) as widestrings > instead of UTF8String. Please correct me if I'm wrong.
To make sure I was presenting correct facts, I did some tests. As a result of the tests, I think the above statement is wrong. {$codepage utf8} var p : pchar; begin P:=Pchar('some string literal'); end. Results in the following assembler: .globl _$PROGRAM$_Ld1 _$PROGRAM$_Ld1: .ascii "some string literal\000" .Le11: Not widestring as far as I can see ? To be sure, I added some russian characters: .Ld1: .ascii "some string literal \320\272\320\270\321\202\320\260" .ascii "\320\271\321\201\320\272\320\276\320\263\320\276\000" Again, not widestring ? home: >cat u.pp {$codepage utf8} var p : pchar; begin P:=Pchar('some string literal китайского'); end. So, I tried a resourcestring: .Ld3$strlab: .short 65001,1 .long 0 .quad -1,30 .Ld3: .ascii "some more \320\272\320\270\321\202\320\260\320\271\321" .ascii "\201\320\272\320\276\320\263\320\276\000" Again, no widestring, as far as I can see. Michael.
_______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel