Browse Source

* external handling test

peter 20 years ago
parent
commit
87d02dfb7e
3 changed files with 40 additions and 0 deletions
  1. 9 0
      tests/test/tprocext.pp
  2. 9 0
      tests/test/uprocext1.pp
  3. 22 0
      tests/test/uprocext2.pp

+ 9 - 0
tests/test/tprocext.pp

@@ -0,0 +1,9 @@
+uses uprocext1;
+
+begin
+  err:=true;
+  proc1;
+  if err then
+    halt(1);
+end.
+

+ 9 - 0
tests/test/uprocext1.pp

@@ -0,0 +1,9 @@
+unit uprocext1;
+interface
+var
+  err : boolean;
+procedure proc1;
+implementation
+uses uprocext2;
+procedure proc1;external name 'ExternalProc3';
+end.

+ 22 - 0
tests/test/uprocext2.pp

@@ -0,0 +1,22 @@
+unit uprocext2;
+interface
+uses uprocext1;
+
+procedure proc2;
+
+implementation
+
+procedure proc3;[public,alias:'ExternalProc3'];
+begin
+  writeln('proc3');
+  err:=false;
+end;
+
+procedure proc2;
+begin
+  { call proc1 so it already needs the mangledname }
+  proc1;
+end;
+
+end.
+