[fa.info-vax] Bliss

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
------