[280] in Moira

home help back first fref pref prev next nref lref last post

#line directives incorrect?

daemon@ATHENA.MIT.EDU (daemon@ATHENA.MIT.EDU)
Tue Mar 19 07:05:05 1991

From: Stanier A <alan@essex.ac.uk>
Date: Tue, 19 Mar 91 09:29:56 GMT
To: bug-moira@ATHENA.MIT.EDU


I am trying to build moira on a Sun 3/50 running SunOS 4.0

Compiling server/qrtn produces the following error messages

cc -c -pg -I../include -g qrtn.c
"qrtn.qc", line 725: host undefined
"qrtn.qc", line 725: syntax error at or near variable name "code"
"qrtn.qc", line 730: qual undefined
"qrtn.qc", line 731: syntax error at or near word "register"
"qrtn.qc", line 762: object undefined
"qrtn.qc", line 762: table undefined
"qrtn.qc", line 763: syntax error at or near type word "char"
"qrtn.qc", line 768: warning: statement not reached
"qrtn.qc", line 798: name undefined
"qrtn.qc", line 798: login undefined
"qrtn.qc", line 798: ok undefined
"qrtn.qc", line 798: kid undefined
"qrtn.qc", line 798: uid undefined
"qrtn.qc", line 799: syntax error at or near type word "char"
"qrtn.qc", line 807: warning: statement not reached
"qrtn.qc", line 839: syntax error at or near symbol {
"qrtn.qc", line 865: syntax error
*** Error code 1
make: Fatal error: Command failed for target `qrtn.o'
Current working directory /ufs/staff/alan/athena/moira/server
*** Error code 1
make: Fatal error: Command failed for target `all'


which are connected with the #line directive in the code


    {
      IIwritedb("append to ");
      IIwritedb(rtable);
      IIwritedb("(");
      IIparset(q->tlist, argv,(int *)0);
      IIwritedb(")");
      IIsyncup((char *)0,0);
    }
# line 725 "qrtn.qc"	/* host code */
    }
    if (mr_errcode) return(mr_errcode);
    return(MR_SUCCESS);
  }

If I delete the comment on this line, the module compiles OK (although
the next module fails with a similar problem).

However, I do wonder if this is merely papering over a deeper problem.
Other #line directives of the same form are passed without complaint.
Is there some bug in the previous lines which is causing the problem
(perhaps by skipping some tokens, so the line is not recognised as a
directive)?
Alan M Stanier

home help back first fref pref prev next nref lref last post