public
/
ack.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
15d2949
)
Fix: got into infinite loop
author
ceriel
<none@none>
Tue, 2 May 1995 12:23:28 +0000
(12:23 +0000)
committer
ceriel
<none@none>
Tue, 2 May 1995 12:23:28 +0000
(12:23 +0000)
lang/m2/comp/enter.c
patch
|
blob
|
history
diff --git
a/lang/m2/comp/enter.c
b/lang/m2/comp/enter.c
index
d058fa2
..
8484c6e
100644
(file)
--- a/
lang/m2/comp/enter.c
+++ b/
lang/m2/comp/enter.c
@@
-254,7
+254,15
@@
ImportEffects(idef, scope, flag)
register t_def *df = idef;
register t_type *tp;
- while (df->df_kind & D_IMPORTED) {
+ while ((df->df_kind & D_IMPORTED) && df->imp_def != df) {
+ /* The second condition could occur on some (erroneous and
+ obscure) input such as:
+ IMPLEMENTATION MODULE Test;
+ FROM X IMPORT XType, XType;
+ END Test.
+ when X does not exist.
+ */
+
df = df->imp_def;
}