From 6eda53c6b735a3dca03b6481c13ca3aba9aedad5 Mon Sep 17 00:00:00 2001 From: skalogryz Date: Wed, 11 Aug 2010 06:07:30 +0000 Subject: [PATCH] chelper: fix for long prefixed types parsing git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1273 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- components/chelper/cparsertypes.pas | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/components/chelper/cparsertypes.pas b/components/chelper/cparsertypes.pas index e675dd4a0..23800838a 100755 --- a/components/chelper/cparsertypes.pas +++ b/components/chelper/cparsertypes.pas @@ -1499,17 +1499,13 @@ begin simple:=TSimpleType.Create(Parser.TokenPos); simple.Name:=Parser.Token; + isunsig:=(simple.Name='unsigned') or (simple.Name='signed'); + islong:=(simple.Name='long'); + Result:=simple; Parser.NextToken; - isunsig:=(simple.Name='unsigned') or (simple.Name='signed'); - islong:=Parser.Token='long'; - if islong then begin - simple.name:=simple.name+' '+Parser.Token; - Parser.NextToken; - end; - - if islong and (Parser.Token='long') then begin + if (Parser.Token='long') and islong then begin simple.name:=simple.name+' '+Parser.Token; Parser.NextToken; end; @@ -1524,10 +1520,11 @@ begin Parser.NextToken end; - if (isunsig or islong) and (Parser.Token='int') then begin + if (Parser.Token='int') and (isunsig or islong) then begin simple.name:=simple.name+' '+Parser.Token; Parser.NextToken end; + if islong and (Parser.Token='double') then begin simple.name:=simple.name+' '+Parser.Token; Parser.NextToken