Browse Source

* synchronized with trunk

git-svn-id: branches/wasm@46476 -
nickysn 5 years ago
parent
commit
84f5c15928

+ 10 - 2
compiler/i8086/n8086cnv.pas

@@ -70,14 +70,22 @@ implementation
           begin
             if resultdef.typ<>procvardef then
               internalerror(2018040401);
-            exclude(tprocvardef(resultdef).procoptions,po_far);
+            if po_far in tprocvardef(resultdef).procoptions then
+              begin
+                resultdef:=cprocvardef.getreusableprocaddr(tabstractprocdef(left.resultdef),pc_offset);
+                exclude(tprocvardef(resultdef).procoptions,po_far);
+              end;
           end
         else if (tcnf_proc_2_procvar_2_voidpointer in convnodeflags) and
                 (current_settings.x86memorymodel in x86_far_code_models) then
           begin
             if resultdef.typ<>procvardef then
               internalerror(2018040402);
-            include(tprocvardef(resultdef).procoptions,po_far);
+            if not (po_far in tprocvardef(resultdef).procoptions) then
+              begin
+                resultdef:=cprocvardef.getreusableprocaddr(tabstractprocdef(left.resultdef),pc_far_address);
+                include(tprocvardef(resultdef).procoptions,po_far);
+              end;
           end;
       end;
 

+ 4 - 0
compiler/nadd.pas

@@ -2263,10 +2263,14 @@ implementation
              else
                begin
                  { When there is a signed type or there is a minus operation
+                   or in TP mode for 16-bit CPUs
                    we convert to signed int. Otherwise (both are unsigned) we keep
                    the result also unsigned. This is compatible with Delphi (PFV) }
                  if is_signed(ld) or
                     is_signed(rd) or
+{$if defined(cpu16bitalu)}
+                    (m_tp7 in current_settings.modeswitches) or
+{$endif}
                     (nodetype=subn) then
                    begin
                      inserttypeconv(right,sinttype);

+ 6 - 0
compiler/symdef.pas

@@ -643,6 +643,12 @@ interface
          pno_mangledname, pno_noparams);
        tprocnameoptions = set of tprocnameoption;
        tproccopytyp = (pc_normal,
+{$ifdef i8086}
+                       { the address in a far format }
+                       pc_far_address,
+                       { the offset part of the far address }
+                       pc_offset,
+{$endif i8086}
                        { creates a procvardef describing only the code pointer
                          of a method/netsted function/... }
                        pc_address_only,

+ 5 - 5
compiler/tokens.pas

@@ -64,15 +64,15 @@ type
     _OP_DEC,
     { special chars }
     _CARET,
-    _LECKKLAMMER,
-    _RECKKLAMMER,
+    _LECKKLAMMER, { '[' }
+    _RECKKLAMMER, { ']' }
     _POINT,
     _COMMA,
-    _LKLAMMER,
-    _RKLAMMER,
+    _LKLAMMER, { '(' }
+    _RKLAMMER, { ')' }
     _COLON,
     _SEMICOLON,
-    _KLAMMERAFFE,
+    _KLAMMERAFFE, { '@' }
     _POINTPOINT,
     _POINTPOINTPOINT,
     _PIPE,

+ 1 - 1
compiler/utils/ppuutils/ppudump.pp

@@ -2246,7 +2246,7 @@ const
          { target specific }
         'Executable Stack', {cs_executable_stack}
          { i8086 specific }
-        'Hude code', {cs_huge_code}
+        'Huge code', {cs_huge_code}
         'Win16 smart callbacks', {cs_win16_smartcallbacks}
          { Record usage of checkpointer experimental feature }
         'CheckPointer used', {cs_checkpointer_called}

+ 47 - 47
packages/fcl-db/src/sql/fpsqlparser.pas

@@ -501,11 +501,11 @@ begin
       F:=TSQLSelectField(CreateElement(TSQLSelectField,AParent));
       AList.Add(F);
       F.Expression:=Expression;
-      If CurrentToken in [tsqlAs,Tsqlidentifier] then
+      If CurrentToken in [tsqlAs,Tsqlidentifier,tsqlString] then
         begin
         If currentToken=tsqlAs then
           GetNextToken;
-        Expect(tsqlIdentifier);
+        Expect([tsqlIdentifier,tsqlString]);
         F.AliasName:=CreateIdentifier(F,CurrentTokenString);
         GetNextToken;
         end;
@@ -2885,65 +2885,65 @@ begin
       //   To-Do: remove some of them if necessary
       if CurrentToken in [tsqlIdentifier, FirstKeyword..LastKeyWord] then
         begin
+        C:=TSQLIdentifierExpression;
         N:=CurrentTokenString;
-        If (GetNextToken<>tsqlBraceOpen) then
+        If (eoCheckConstraint in EO) and not (eoTableConstraint in EO) then
+          Error(SErrUnexpectedToken,[CurrentTokenString]);
+        // Plain identifier
+        IdentifierPath:=TSQLIdentifierPath.Create;
+        IdentifierPath.Add(CreateIdentifier(nil,N));
+        GetNextToken;
+        while (CurrentToken=tsqlDot) do
           begin
-          If (eoCheckConstraint in EO) and not (eoTableConstraint in EO) then
-            Error(SErrUnexpectedToken,[CurrentTokenString]);
-          // Plain identifier
-          IdentifierPath:=TSQLIdentifierPath.Create;
-          IdentifierPath.Add(CreateIdentifier(Result,N));
-          while (CurrentToken=tsqlDot) do
+          GetNextToken;
+          if CurrentToken=tsqlMUL then
             begin
+            C:=TSQLAsteriskExpression;
             GetNextToken;
-            if CurrentToken=tsqlMUL then
-              begin
-              Result:=TSQLAsteriskExpression(CreateElement(TSQLAsteriskExpression,APArent));
-              GetNextToken;
-              break;
-              end
-            else
-              begin
-              Expect(tsqlIdentifier);
-              N:=CurrentTokenString;
-              IdentifierPath.Add(CreateIdentifier(Result,N));
-              GetNextToken;
-              end;
-            end;
-          if not Assigned(Result) then
-            Result:=TSQLIdentifierExpression(CreateElement(TSQLIdentifierExpression,APArent));
-          TSQLIdentifierPathExpression(Result).IdentifierPath:=IdentifierPath;
-          // Array access ?
-          If (CurrentToken=tsqlSquareBraceOpen) and (Result is TSQLIdentifierExpression) then
-            // Either something like array[5] or,
-            // in procedures etc array[i:] where i is a variable
+            break;
+            end
+          else
             begin
-            case GetNextToken of
-              tsqlIntegerNumber: TSQLIdentifierExpression(Result).ElementIndex:=StrToInt(CurrentTokenString);
-              tsqlColon:
-                begin
-                GetNextToken;
-                Expect(tsqlIdentifier);
-                // We can't set element index here, but it IS an array...
-                //todo: verify if there are repercussions/what these would be
-                TSQLIdentifierExpression(Result).ElementIndex:=maxint;
-                end;
-            else
-               Error(SErrIntegerExpected);
-            end;
+            Expect(tsqlIdentifier);
+            N:=CurrentTokenString;
+            IdentifierPath.Add(CreateIdentifier(nil,N));
             GetNextToken;
-            Consume(tsqlSquareBraceClose);
             end;
-          end
-        else
+          end;
+        If (CurrentToken=tsqlBraceOpen) and (C=TSQLIdentifierExpression) then
           begin
           L:=ParseValueList(AParent,EO);
           GetNextToken; // Consume );
           // Function call
           Result:=TSQLFunctionCallExpression(CreateElement(TSQLFunctionCallExpression,AParent));
-          TSQLFunctionCallExpression(Result).IDentifier:=N;
           TSQLFunctionCallExpression(Result).Arguments:=L;
+          end
+        Else
+        // Array access ?
+        If (CurrentToken=tsqlSquareBraceOpen) and (C=TSQLIdentifierExpression) then
+          // Either something like array[5] or,
+          // in procedures etc array[i:] where i is a variable
+          begin
+          Result:=TSQLIdentifierExpression(CreateElement(TSQLIdentifierExpression,APArent));
+          case GetNextToken of
+            tsqlIntegerNumber: TSQLIdentifierExpression(Result).ElementIndex:=StrToInt(CurrentTokenString);
+            tsqlColon:
+              begin
+              GetNextToken;
+              Expect(tsqlIdentifier);
+              // We can't set element index here, but it IS an array...
+              //todo: verify if there are repercussions/what these would be
+              TSQLIdentifierExpression(Result).ElementIndex:=maxint;
+              end;
+          else
+             Error(SErrIntegerExpected);
+          end;
+          GetNextToken;
+          Consume(tsqlSquareBraceClose);
           end;
+        if not Assigned(Result) then
+          Result:=TSQLExpression(CreateElement(C,AParent));
+        TSQLIdentifierPathExpression(Result).IdentifierPath:=IdentifierPath;
         end
       else
         UnexpectedToken;

+ 41 - 5
packages/fcl-db/src/sql/fpsqltree.pp

@@ -382,14 +382,15 @@ Type
 
   { TSQLFunctionCallExpression }
 
-  TSQLFunctionCallExpression = Class(TSQLExpression)
+  TSQLFunctionCallExpression = Class(TSQLIdentifierPathExpression)
   private
     FArguments:TSQLElementList;
-    FIdentifier: TSQLStringType;
+    function GetIdentifier: TSQLStringType;
+    procedure SetIdentifier(const AIdentifier: TSQLStringType);
   Public
     Destructor Destroy; override;
     Function GetAsSQL(Options : TSQLFormatOptions; AIndent : Integer = 0): TSQLStringType; override;
-    Property Identifier : TSQLStringType Read FIdentifier Write FIdentifier;
+    Property Identifier : TSQLStringType Read GetIdentifier Write SetIdentifier;
     Property Arguments : TSQLElementList Read FArguments Write Farguments;
   end;
 
@@ -2685,10 +2686,12 @@ function TSQLFunctionCallExpression.GetAsSQL(Options: TSQLFormatOptions;
 
 Var
   I : Integer;
-  Sep : String;
+  Sep,Name: String;
+  N : TSQLIdentifierName;
 
 begin
   Result:='';
+
   Sep:=SQLListSeparator(Options);
   If Assigned(FArguments) and (FArguments.Count>0) then
     For I:=0 to FArguments.Count-1 do
@@ -2697,7 +2700,40 @@ begin
         Result:=Result+Sep;
       Result:=Result+Farguments[i].GetAsSQL(Options,AIndent);
       end;
-  Result:=SQLKeyWord(Identifier,Options)+'('+Result+')';
+
+  Name:='';
+  for Pointer(N) in FIdentifierPath do
+    begin
+    if Name<>'' then
+      Name:=Name+'.';
+    Name:=Name+SQLKeyWord(N.Name,Options);
+    end;
+
+  Result:=Name+'('+Result+')';
+end;
+
+function TSQLFunctionCallExpression.GetIdentifier: TSQLStringType;
+var
+  Name: TSQLIdentifierName;
+begin
+  Name := TSQLIdentifierName(FIdentifierPath.Last);
+  if Assigned(Name) then
+    Result:=Name.Name
+  else
+    Result:='';
+end;
+
+procedure TSQLFunctionCallExpression.SetIdentifier(const AIdentifier: TSQLStringType);
+var
+  NewName: TSQLIdentifierName;
+begin
+  if Assigned(FIdentifierPath) then
+    FIdentifierPath.Clear
+  else
+    FIdentifierPath:=TSQLIdentifierPath.Create;
+  NewName:=TSQLIdentifierName.Create(Parent);
+  NewName.Name:=AIdentifier;
+  FIdentifierPath.Add(NewName);
 end;
 
 { TSQLTernaryExpression }

+ 51 - 3
packages/fcl-db/tests/tcparser.pas

@@ -388,7 +388,7 @@ type
   TTestSelectParser = Class(TTestSQLParser)
   Private
     FSelect : TSQLSelectStatement;
-    function TestSelect(Const ASource : String) : TSQLSelectStatement;
+    function TestSelect(Const ASource : String; AOptions : TParserOptions = []; AScannerOptions : TSQLScannerOptions = []) : TSQLSelectStatement;
     procedure TestSelectError(Const ASource : String);
     procedure DoExtractSimple(Expected : TSQLExtractElement);
     property Select : TSQLSelectStatement Read FSelect;
@@ -419,6 +419,7 @@ type
     procedure TestSelectTwoFieldsThreeBracketTablesJoin;
     procedure TestSelectTableWithSchema;
     procedure TestSelectFieldWithSchema;
+    procedure TestSelectFieldAsStringLiteral;
     procedure TestSelectFirst;
     procedure TestSelectFirstSkip;
     procedure TestSelectTop;
@@ -451,6 +452,7 @@ type
     procedure TestUpperConst;
     procedure TestUpperError;
     procedure TestLeft;
+    procedure TestFunctionWithPath;
     procedure TestGenID;
     procedure TestGenIDError1;
     procedure TestGenIDError2;
@@ -3821,9 +3823,11 @@ end;
 
 { TTestSelectParser }
 
-function TTestSelectParser.TestSelect(const ASource : String): TSQLSelectStatement;
+function TTestSelectParser.TestSelect(const ASource: String; AOptions: TParserOptions;
+  AScannerOptions: TSQLScannerOptions): TSQLSelectStatement;
 begin
-  CreateParser(ASource);
+  CreateParser(ASource,AOptions);
+  Parser.Scanner.Options:=AScannerOptions;
   FToFree:=Parser.Parse;
   Result:=TSQLSelectStatement(CheckClass(FToFree,TSQLSelectStatement));
   FSelect:=Result;
@@ -3836,6 +3840,23 @@ begin
   AssertException(ESQLParser,@TestParseError);
 end;
 
+procedure TTestSelectParser.TestSelectFieldAsStringLiteral;
+
+Var
+  F : TSQLSelectField;
+  L : TSQLStringLiteral;
+
+begin
+  TestSelect('SELECT ''B'' ''C'''); // 'B' as 'C'
+  AssertEquals('One field',1,Select.Fields.Count);
+  F:=TSQLSelectField(CheckClass(Select.Fields[0],TSQLSelectField));
+  AssertNotNull('Have field expresssion,',F.Expression);
+  L:=TSQLStringLiteral(AssertLiteralExpr('Field is a literal',F.Expression,TSQLStringLiteral));
+  AssertEquals('Field literal is B','B',L.Value);
+  AssertEquals('Field alias is C','C',F.AliasName.Name);
+  AssertEquals('No table',0,Select.Tables.Count);
+end;
+
 procedure TTestSelectParser.TestSelectFieldWithSchema;
 
 Var
@@ -4551,6 +4572,33 @@ begin
     DoExtractSimple(E);
 end;
 
+procedure TTestSelectParser.TestFunctionWithPath;
+
+Var
+  E : TSQLFunctionCallExpression;
+  L : TSQLLiteralExpression;
+  S : TSQLStringLiteral;
+  I : TSQLIntegerLiteral;
+
+begin
+  TestSelect('SELECT [dbo].[myFunc] (''abc'', 1) FROM A', [], [soSquareBracketsIdentifier]);
+  AssertEquals('One field',1,Select.Fields.Count);
+  AssertEquals('One table',1,Select.Tables.Count);
+  AssertTable(Select.Tables[0],'A');
+  CheckClass(Select.Fields[0],TSQLSelectField);
+  E:=TSQLFunctionCallExpression(CheckClass(TSQLSelectField(Select.Fields[0]).Expression,TSQLFunctionCallExpression));
+  AssertEquals('Function two identifiers',2,E.IdentifierPath.Count);
+  AssertEquals('dbo function first identifier','dbo',E.IdentifierPath[0].Name);
+  AssertEquals('myFunc function second identifier','myFunc',E.IdentifierPath[1].Name);
+  AssertEquals('Two function elements',2,E.Arguments.Count);
+  L:=TSQLLiteralExpression(CheckClass(E.Arguments[0],TSQLLiteralExpression));
+  S:=TSQLStringLiteral(CheckClass(L.Literal,TSQLStringLiteral));
+  AssertEquals('Correct string constant','abc',S.Value);
+  L:=TSQLLiteralExpression(CheckClass(E.Arguments[1],TSQLLiteralExpression));
+  I:=TSQLIntegerLiteral(CheckClass(L.Literal,TSQLIntegerLiteral));
+  AssertEquals('Correct integer constant',1,I.Value);
+end;
+
 procedure TTestSelectParser.TestOrderByOneField;
 
 begin

+ 7 - 5
rtl/freertos/system.pp

@@ -208,15 +208,17 @@ const calculated_cmdline:Pchar=nil;
 {*****************************************************************************
                        Misc. System Dependent Functions
 *****************************************************************************}
-{$ifndef FPC_SYSTEM_HAS_STACKTOP}
 var
  _stack_top: record end; external name '_stack_top';
 
+{ Interim fix for now, set to large address
+  TODO: provide more realistic value, possibly by inspecting stack pointer
+  when main or task is started
+}
 function StackTop: pointer;
-begin
-  StackTop:=@_stack_top;
-end;
-{$endif FPC_SYSTEM_HAS_STACKTOP}
+  begin
+    StackTop:=pointer($3fffffff);
+  end;
 
 
 procedure haltproc;cdecl;external name '_haltproc';

+ 103 - 103
rtl/symbian/Makefile

@@ -361,313 +361,313 @@ UNITPREFIX=rtl
 SYSTEMUNIT=system
 OBJPASDIR=$(RTL)/objpas
 ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-nativent)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-iphonesim)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-android)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-aros)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),m68k-macosclassic)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc-macosclassic)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc-wii)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc-aix)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),x86_64-haiku)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),x86_64-netbsd)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),x86_64-solaris)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),x86_64-openbsd)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),x86_64-iphonesim)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),x86_64-android)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),x86_64-aros)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),x86_64-dragonfly)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),arm-netbsd)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),arm-android)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),arm-aros)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),arm-freertos)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),arm-ios)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),powerpc64-aix)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),avr-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),armeb-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),armeb-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),mips-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),mipsel-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),mipsel-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),mipsel-android)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),mips64el-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),jvm-java)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),jvm-android)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i8086-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i8086-msdos)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i8086-win16)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),aarch64-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),aarch64-darwin)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),aarch64-win64)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),aarch64-android)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),aarch64-ios)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),wasm-wasm)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),sparc64-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),riscv32-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),riscv32-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),riscv64-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),riscv64-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),xtensa-linux)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),xtensa-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),xtensa-freertos)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),z80-embedded)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),z80-zxspectrum)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),z80-msxdos)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),z80-amstradcpc)
-override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
+override TARGET_UNITS+=system uuchar objpas sysconst sysutils math rtlconsts character fpwidestring unicodedata unicodenumtable fgl dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 endif
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_IMPLICITUNITS+=ctypes strings symbian

+ 1 - 1
rtl/symbian/Makefile.fpc

@@ -9,7 +9,7 @@ main=rtl
 # macpas and iso7185 units rely on sysutils unit, not yet handled here
 # extpas unit relies on dos unit, not yet handled
 units=system uuchar objpas sysconst sysutils math rtlconsts \
-      character fpwidestring unicodedata unicodenumtable \
+      character fpwidestring unicodedata unicodenumtable fgl \
       dos iso7185 extpas typinfo types sortbase classes macpas buildrtl
 implicitunits=ctypes strings symbian
 

+ 0 - 10
rtl/xtensa/xtensa.inc

@@ -146,16 +146,6 @@ Function Sptr : pointer;assembler;
   end;
 
 
-{$define FPC_SYSTEM_HAS_STACKTOP}
-// Interim fix for now, set to large address
-// TODO: provide more realistic value, possibly by inspecting stack pointer
-// when main or task is started
-function StackTop: pointer;
-  begin
-    StackTop:=pointer($3fffffff);
-  end;
-
-
 function InterLockedDecrement (var Target: longint) : longint;
   var
     temp_sreg : byte;

+ 2 - 0
tests/test/cpu16/taddint1.pp

@@ -5,6 +5,8 @@
   This test is Turbo Pascal 7 compatible.
 }
 
+{$mode tp}
+
 { Turn range checking off, as this test causes overflows intentionally to
   test the size and signedness of the integer that's being used. }
 {$R-}