Browse Source

pastojs: external var in implementation

git-svn-id: trunk@35908 -
Mattias Gaertner 8 years ago
parent
commit
c9376c3c71
2 changed files with 5 additions and 6 deletions
  1. 1 1
      packages/pastojs/src/fppas2js.pp
  2. 4 5
      packages/pastojs/tests/tcmodules.pas

+ 1 - 1
packages/pastojs/src/fppas2js.pp

@@ -1846,7 +1846,7 @@ const
   ClassFieldModifiersAllowed = [vmClass,vmStatic,vmExternal,vmPublic];
   RecordVarModifiersAllowed = [];
   LocalVarModifiersAllowed = [];
-  ImplementationVarModifiersAllowed = [];
+  ImplementationVarModifiersAllowed = [vmExternal];
   SectionVarModifiersAllowed = [vmExternal,vmPublic];
 
   procedure RaiseVarModifierNotSupported(const Allowed: TVariableModifiers);

+ 4 - 5
packages/pastojs/tests/tcmodules.pas

@@ -3555,7 +3555,7 @@ begin
   Add('implementation');
   Add('var');
   Add('  d: double;');
-  Add('  i: longint;');
+  Add('  i: longint; external name ''$i'';');
   Add('begin');
   Add('  d:=nan;');
   Add('  d:=uNit2.nan;');
@@ -3572,13 +3572,12 @@ begin
     '$impl.d = Global.NaN;',
     '$impl.d = Global.NaN;',
     '$impl.d = Global.NaN;',
-    '$impl.i = pas.unit2.iV;',
-    '$impl.i = pas.unit2.iV;',
-    '$impl.i = pas.unit2.iV;',
+    '$i = pas.unit2.iV;',
+    '$i = pas.unit2.iV;',
+    '$i = pas.unit2.iV;',
     '']),
     LinesToStr([ // implementation
     '$impl.d = 0.0;',
-    '$impl.i = 0;',
     '']) );
 end;