projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2000-04-12 09:37:19 by sewardj]
[ghc-hetmet.git]
/
ghc
/
interpreter
/
link.c
diff --git
a/ghc/interpreter/link.c
b/ghc/interpreter/link.c
index
5ef79e4
..
31ac68d
100644
(file)
--- a/
ghc/interpreter/link.c
+++ b/
ghc/interpreter/link.c
@@
-9,11
+9,11
@@
* included in the distribution.
*
* $RCSfile: link.c,v $
* included in the distribution.
*
* $RCSfile: link.c,v $
- * $Revision: 1.53 $
- * $Date: 2000/03/22 18:14:22 $
+ * $Revision: 1.58 $
+ * $Date: 2000/04/07 16:22:12 $
* ------------------------------------------------------------------------*/
* ------------------------------------------------------------------------*/
-#include "prelude.h"
+#include "hugsbasictypes.h"
#include "storage.h"
#include "connect.h"
#include "errors.h"
#include "storage.h"
#include "connect.h"
#include "errors.h"
@@
-188,11
+188,11
@@
Name namePlus;
Name nameMult;
Name nameMFail;
Type typeOrdering;
Name nameMult;
Name nameMFail;
Type typeOrdering;
+Module modulePrelPrim;
Module modulePrelude;
Name nameMap;
Name nameMinus;
Module modulePrelude;
Name nameMap;
Name nameMinus;
-
/* --------------------------------------------------------------------------
* Frequently used type skeletons:
* ------------------------------------------------------------------------*/
/* --------------------------------------------------------------------------
* Frequently used type skeletons:
* ------------------------------------------------------------------------*/
@@
-228,7
+228,7
@@
static Tycon linkTycon( String s )
tc = findTyconInAnyModule(findText(s));
if (nonNull(tc)) return tc;
}
tc = findTyconInAnyModule(findText(s));
if (nonNull(tc)) return tc;
}
-fprintf(stderr, "frambozenvla! unknown tycon %s\n", s );
+FPrintf(stderr, "frambozenvla! unknown tycon %s\n", s );
return NIL;
ERRMSG(0) "Prelude does not define standard type \"%s\"", s
EEND;
return NIL;
ERRMSG(0) "Prelude does not define standard type \"%s\"", s
EEND;
@@
-242,7
+242,7
@@
static Class linkClass( String s )
cc = findClassInAnyModule(findText(s));
if (nonNull(cc)) return cc;
}
cc = findClassInAnyModule(findText(s));
if (nonNull(cc)) return cc;
}
-fprintf(stderr, "frambozenvla! unknown class %s\n", s );
+FPrintf(stderr, "frambozenvla! unknown class %s\n", s );
return NIL;
ERRMSG(0) "Prelude does not define standard class \"%s\"", s
EEND;
return NIL;
ERRMSG(0) "Prelude does not define standard class \"%s\"", s
EEND;
@@
-256,7
+256,7
@@
static Name linkName( String s )
n = findNameInAnyModule(findText(s));
if (nonNull(n)) return n;
}
n = findNameInAnyModule(findText(s));
if (nonNull(n)) return n;
}
-fprintf(stderr, "frambozenvla! unknown name %s\n", s );
+FPrintf(stderr, "frambozenvla! unknown name %s\n", s );
return NIL;
ERRMSG(0) "Prelude does not define standard name \"%s\"", s
EEND;
return NIL;
ERRMSG(0) "Prelude does not define standard name \"%s\"", s
EEND;
@@
-296,7
+296,11
@@
Void linkPreludeTC(void) { /* Hook to tycons and classes in */
if (!initialised) {
Int i;
initialised = TRUE;
if (!initialised) {
Int i;
initialised = TRUE;
- setCurrModule(modulePrelude);
+ if (combined) {
+ setCurrModule(modulePrelude);
+ } else {
+ setCurrModule(modulePrelPrim);
+ }
typeChar = linkTycon("Char");
typeInt = linkTycon("Int");
typeChar = linkTycon("Char");
typeInt = linkTycon("Int");
@@
-405,7
+409,11
@@
Void linkPreludeCM(void) { /* Hook to cfuns and mfuns in */
Int i;
initialised = TRUE;
Int i;
initialised = TRUE;
- setCurrModule(modulePrelude);
+ if (combined) {
+ setCurrModule(modulePrelude);
+ } else {
+ setCurrModule(modulePrelPrim);
+ }
/* constructors */
nameFalse = linkName("False");
/* constructors */
nameFalse = linkName("False");
@@
-448,7
+456,11
@@
Void linkPrimNames ( void ) { /* Hook to names defined in Prelude */
if (!initialised) {
initialised = TRUE;
if (!initialised) {
initialised = TRUE;
- setCurrModule(modulePrelude);
+ if (combined) {
+ setCurrModule(modulePrelude);
+ } else {
+ setCurrModule(modulePrelPrim);
+ }
/* primops */
nameMkIO = linkName("hugsprimMkIO");
/* primops */
nameMkIO = linkName("hugsprimMkIO");
@@
-532,7
+544,7
@@
Int what; {
Module modulePrelBase = findModule(findText("PrelBase"));
assert(nonNull(modulePrelBase));
/* fprintf(stderr, "linkControl(POSTPREL)\n"); */
Module modulePrelBase = findModule(findText("PrelBase"));
assert(nonNull(modulePrelBase));
/* fprintf(stderr, "linkControl(POSTPREL)\n"); */
- setCurrModule(modulePrelude);
+ setCurrModule(modulePrelude);
linkPreludeTC();
linkPreludeCM();
linkPrimNames();
linkPreludeTC();
linkPreludeCM();
linkPrimNames();
@@
-691,14
+703,14
@@
assert(nonNull(namePMFail));
} else {
fixupRTStoPreludeRefs(NULL);
} else {
fixupRTStoPreludeRefs(NULL);
- modulePrelude = //newModule(textPrelude);
- findFakeModule(textPrelude);
- setCurrModule(modulePrelude);
+ modulePrelPrim = findFakeModule(textPrelPrim);
+ modulePrelude = findFakeModule(textPrelude);
+ setCurrModule(modulePrelPrim);
for (i=0; i<NUM_TUPLES; ++i) {
if (i != 1) addTupleTycon(i);
}
for (i=0; i<NUM_TUPLES; ++i) {
if (i != 1) addTupleTycon(i);
}
- setCurrModule(modulePrelude);
+ setCurrModule(modulePrelPrim);
typeArrow = addPrimTycon(findText("(->)"),
pair(STAR,pair(STAR,STAR)),
typeArrow = addPrimTycon(findText("(->)"),
pair(STAR,pair(STAR,STAR)),