info-vax@ucbvax.ARPA (03/07/85)
From: Dale Moore <MOORE@CMU-CS-PS1.ARPA> i've got some bliss code like this: external literal foo; global bind quack=foo; the compiler points at foo and gives a warning to the effect that this must be a link time constant. can someone explain to me how foo could not be a link time constant? i thought that's what external symbols were all about. Don, Check out the Bliss Language Guide, Page 14-6 Section 14.3.2 The data-name-value expression in a GLOBAL bind-data-declaration is limited to a restricted subset of link-time-constant-expressions, in that it must not contain a name declared EXTERNAL, EXTERNAL ROUTINE or EXTERNAL LITERAL unless that name is an operand of a compile-time-constant-expression (see Section 7.1.2, item 7). Although the error message is very cryptic, the compiler performs according to the Language Guide. Dale Moore ------