summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsvenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2>2015-11-23 16:21:18 +0000
committersvenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2>2015-11-23 16:21:18 +0000
commiteaa747c9b69ca5ad905c30b2177c35ff8b7a5779 (patch)
treedf95a12cde4aa5c802701cc3d56ecf0decbf6dd9
parent16912f45d32fc9cc4cedb8c42c1c5c6b2b90f37e (diff)
downloadfpc-eaa747c9b69ca5ad905c30b2177c35ff8b7a5779.tar.gz
fpcp.pas, tpcppackage:
+ new method add_required_package() to add a required package while ignoring duplicates git-svn-id: http://svn.freepascal.org/svn/fpc/branches/svenbarth@32510 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--packages/compiler/fpcp.pas15
1 files changed, 15 insertions, 0 deletions
diff --git a/packages/compiler/fpcp.pas b/packages/compiler/fpcp.pas
index 78bd2bdd08..7b07ebe7ee 100644
--- a/packages/compiler/fpcp.pas
+++ b/packages/compiler/fpcp.pas
@@ -57,6 +57,7 @@ interface
function getmodulestream(module:tmodulebase):tcstream;
procedure initmoduleinfo(module:tmodulebase);
procedure addunit(module:tmodulebase);
+ procedure add_required_package(pkg:tpackage);
end;
implementation
@@ -551,5 +552,19 @@ implementation
containedmodules.add(module.modulename^,containedunit);
end;
+
+ procedure tpcppackage.add_required_package(pkg:tpackage);
+ var
+ p : tpackage;
+ begin
+ p:=tpackage(requiredpackages.find(pkg.packagename^));
+ if not assigned(p) then
+ requiredpackages.Add(pkg.packagename^,pkg)
+ else
+ if p<>pkg then
+ internalerror(2015112302);
+ end;
+
+
end.