}
}
}
- else warning_classes = 0;
+ else warning_classes = W_ALWAYS;
break;
case 'W':
}
}
}
- else warning_classes = W_OLDFASHIONED|W_STRICT|W_ORDINARY;
+ else warning_classes = W_ALL;
break;
case 'M': { /* maximum identifier length */
df->df_flags |= ForeignFlag;
if (!Defined) Defined = df;
CurrentScope->sc_definedby = df;
- if (df->df_idf != DefId) {
+ if (DefId && df->df_idf != DefId) {
error("DEFINITION MODULE name is \"%s\", not \"%s\"",
df->df_idf->id_text, DefId->id_text);
}
;
Module:
- DEFINITION
- { fatal("Compiling a definition module"); }
+ { error("Compiling a definition module");
+ open_scope(CLOSEDSCOPE);
+ state = DEFINITION;
+ }
+ DefinitionModule
+ { close_scope(SC_CHKFORW); }
| %default
[
IMPLEMENTATION { state = IMPLEMENTATION; }
#define W_ORDINARY 1
#define W_STRICT 2
#define W_OLDFASHIONED 4
+#define W_ALWAYS 010 /* always given */
-#define W_ALL (W_ORDINARY|W_STRICT|W_OLDFASHIONED)
+#define W_ALL (W_ORDINARY|W_STRICT|W_OLDFASHIONED|W_ALWAYS)
-#define W_INITIAL (W_ORDINARY | W_OLDFASHIONED)
+#define W_INITIAL (W_ORDINARY | W_OLDFASHIONED | W_ALWAYS)
/* The bit mask itself: */
extern int warning_classes;