Also update WorkingDir on line directives
authorceriel <none@none>
Thu, 22 Nov 1990 11:25:34 +0000 (11:25 +0000)
committerceriel <none@none>
Thu, 22 Nov 1990 11:25:34 +0000 (11:25 +0000)
lang/m2/comp/LLlex.c
lang/m2/comp/program.g

index 7818b0b..322bc18 100644 (file)
@@ -30,7 +30,8 @@
 #include       "const.h"
 #include       "warning.h"
 
-long str2long();
+extern long str2long();
+extern char *getwdir();
 
 t_token                dot,
                aside;
@@ -225,6 +226,7 @@ CheckForLineDirective()
                 */
                if (class(ch) == STNL && strcmp(FileName,buf)) {
                        FileName = Salloc(buf,(unsigned) strlen(buf) + 1);
+                       WorkingDir = getwdir(FileName);
                }
        }
        if (class(ch) == STEOI) {
index 44c19ef..15c81b5 100644 (file)
@@ -144,7 +144,9 @@ DefinitionModule
        MODULE IDENT    { df = define(dot.TOK_IDF, GlobalScope, D_MODULE);
                          df->df_flags |= D_BUSY | ForeignFlag;
                          currscope->sc_definedby = df;
-                         if (DefId && df->df_idf != DefId) {
+                         if (DefId &&
+                             df->df_idf != DefId &&
+                             !is_anon_idf(df->df_idf)) {
                                error("DEFINITION MODULE name is \"%s\", not \"%s\"",
                                        df->df_idf->id_text, DefId->id_text);
                          }