diff --git a/gcc/m2/gm2-libs/M2Dependent.mod b/gcc/m2/gm2-libs/M2Dependent.mod
index 911113fc00bc93dd8ba3086e3cecae6c1964f783..19bdab1bc508340aef05943010cf6d02707922ee 100644
--- a/gcc/m2/gm2-libs/M2Dependent.mod
+++ b/gcc/m2/gm2-libs/M2Dependent.mod
@@ -74,6 +74,21 @@ VAR
    ForceTrace           : BOOLEAN ;
 
 
+(*
+   InitDependencyList - initialize all fields of DependencyList.
+*)
+
+PROCEDURE InitDependencyList (VAR depList: DependencyList;
+                              proc: PROC; state: DependencyState) ;
+BEGIN
+   depList.proc := proc ;
+   depList.forced := FALSE ;
+   depList.forc := FALSE ;
+   depList.appl := FALSE ;
+   depList.state := state
+END InitDependencyList ;
+
+
 (*
    CreateModule - creates a new module entry and returns the
                   ModuleChain.
@@ -90,11 +105,7 @@ BEGIN
    mptr^.libname := libname ;
    mptr^.init := init ;
    mptr^.fini := fini ;
-   mptr^.dependency.proc := dependencies ;
-   mptr^.dependency.forced := FALSE ;
-   mptr^.dependency.forc := FALSE ;
-   mptr^.dependency.appl := FALSE ;
-   mptr^.dependency.state := unregistered ;
+   InitDependencyList (mptr^.dependency, dependencies, unregistered) ;
    mptr^.prev := NIL ;
    mptr^.next := NIL ;
    IF HexTrace