From 1024055565896953342
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: f78e5,aef96954609d602c
X-Google-Attributes: gidf78e5,public
X-Google-ArrivalTime: 1993-08-16 01:28:58 PST
Newsgroups: comp.std.c++
Path: gmd.de!newsserver.jvnc.net!howland.reston.ans.net!europa.eng.gtefsd.com!uunet!mole-end!mat
From: mat@mole-end.matawan.nj.us
Subject: Re: Template constraints
Message-ID: <1993Aug16.004133.23916@mole-end.matawan.nj.us>
Summary: Just what is `link time' anyhow?
Organization: :
References: <23jq36$94g@nic.lth.se> <rfgCB638z.2t3@netcom.com> <rfgCBAw1F.7Hx@netcom.com>
Date: Mon, 16 Aug 1993 00:41:33 GMT
Lines: 28

In article <rfgCBAw1F.7Hx@netcom.com>, rfg@netcom.com (Ronald F. Guilmette) writes:

> Regarding the problem of syntax checking of templates...
 ...
> (It is a fairly well known fact that it is often hard, if not impossible to
> produce link-time diagnostics which point the user back to the original
> source file and original source line which is really causing the problem.
> Therefore, if given the choice, I would always opt for a language design
> which makes it possible to generate a maximal number of the required
> diagnostics at compile-time rather than putting everything off until link-
> time.)

Ron, I hope you'll forgive me if I tread this ground again; I know we've
done it elsewhere.

The `compile-then-link' model assumes that all semantic analysis (and code
generation) can be performed before any name resolution (or relocation).
Templates break this assumption, since semantic analysis must be deferred
until the template is specialized, and the template can't be specialized
until the entire program is present (because specialization depends on what
has been written `manually').

Thus the notions of `compile time' and `link time' get rather badly blurred.
-- 
 (This man's opinions are his own.)
 From mole-end				Mark Terribile

 mat@mole-end.matawan.nj.us, Somewhere in Matawan, NJ


