summaryrefslogtreecommitdiff
path: root/fpcsrc/tests/test/cg/tcnvstr2.pp
blob: 0e816297fefb1f2f6a9989fa8502a481f6841543 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
{****************************************************************}
{  CODE GENERATOR TEST PROGRAM                                   }
{****************************************************************}
{ NODE TESTED : secondtypeconvert() -> second_cstring_to_pchar   }
{****************************************************************}
{ PRE-REQUISITES: secondload()                                   }
{                 secondassign()                                 }
{                 secondtypeconv()                               }
{****************************************************************}
{ DEFINES:                                                       }
{            FPC     = Target is FreePascal compiler             }
{****************************************************************}
{ REMARKS:                                                       }
{                                                                }
{                                                                }
{                                                                }
{****************************************************************}
{$H-}
const
 StrConst = 'HELLO WORLD';
 AnsiConst = 'COCORICCO!';
 AnsiConst2 = '';

procedure testcstring2pcharone;
 var
  p1 : pchar;
 begin
  WriteLn('(left) : LOC_MEM; (right) : LOC_MEM');
  p1 := pchar(strconst);
  WriteLn('Value should be ''HELLO WORLD''...',p1);
 end;

{ source:                                                       }
{   LOC_REFERENCE, LOC_MEM                                      }
{ destination:                                                  }
var
 p: pchar;
Begin
  WriteLn('------------------- STRING/PCHAR ------------------------');
  WriteLn('(left) : LOC_MEM; (right) : LOC_MEM');
 { LOC_MEM -> LOC_MEM test }
 { SHORTSTRING -> PCHAR           }
 p := pchar(strconst);
 WriteLn('Value should be ''HELLO WORLD''...',p);
 testcstring2pcharone;
 WriteLn('------------------- ANSI/PCHAR ------------------------');
 WriteLn('(left) : LOC_MEM; (right) : LOC_MEM');
 p:=pchar(ansistring(ansiconst));
 WriteLn('Value should be ''COCORICCO!''...',p);
 p:=pchar(ansistring(ansiconst2));
 WriteLn('Value should be ''''...',p);
End.