Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site ucbvax.ARPA
Path: utzoo!watmath!clyde!burl!ulysses!ucbvax!info-vax
From: info-vax@ucbvax.ARPA
Newsgroups: fa.info-vax
Subject: Bliss
Message-ID: <5321@ucbvax.ARPA>
Date: Thu, 7-Mar-85 15:29:12 EST
Article-I.D.: ucbvax.5321
Posted: Thu Mar  7 15:29:12 1985
Date-Received: Fri, 8-Mar-85 04:25:34 EST
Sender: daemon@ucbvax.ARPA
Organization: University of California at Berkeley
Lines: 27

From: Dale Moore 

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