Related articles |
---|
[5 earlier articles] |
Re: Templates in C++ davidm@flora.Rational.com (1995-05-16) |
Re: Templates in C++ jgmorris@cs.cmu.edu (Greg Morrisett) (1995-05-17) |
Re: Templates in C++ jplevyak@violet-femmes.cs.uiuc.edu (1995-05-17) |
Re: Templates in C++ bill@amber.ssd.hcsc.com (1995-05-25) |
Re: Templates in C++ kanze@gabi-soft.fr (1995-05-29) |
Re: Templates in C++ mac@coos.dartmouth.edu (1995-06-23) |
Re: Templates in C++ shankar@sgihub.corp.sgi.com (1995-06-25) |
Re: Templates in C++ bill@amber.ssd.hcsc.com (1995-06-30) |
Re: Templates in C++ collberg@cs.auckland.ac.nz (1995-07-12) |
Newsgroups: | comp.compilers |
From: | shankar@sgihub.corp.sgi.com (Shankar Unni) |
Keywords: | C++, linker |
Organization: | Silicon Graphics, Inc. |
References: | 95-05-081 95-06-026 |
Date: | Sun, 25 Jun 1995 01:10:29 GMT |
Status: | RO |
Alex Colvin (mac@coos.dartmouth.edu) wrote:
> Is the main reason for this the need for structure sizes at
> compile-time?
Yes.
> Would link-time be sufficient? Could structure and stack
> frame sizes be computed at link time as the sum of constants generated
> by separate compilations?
Yes, and Yes.
> Are their many linkers capable of performing such arithmetic? Could
> they be used to relax language restrictions?
Not without help.
The SGI Delta/C++ compiler, for instance (plug, plug!) has such a feature:
for classes designated as "dynamic" (in the class spec), the code that is
generated leaves all offsets as zero, with special relocations against the
instructions to be filled in by the linker (or even by the runtime loader).
In fact, this allows library vendors, for instance, to ship new shared
libraries with "compatible" changes (there's a limit to what sort of
changes the compiler can allow without requiring recompilation, of
course), and have the user programs linked against them to continue
running without recompilation.
--
Shankar Unni E-Mail: shankar@sgi.com
Silicon Graphics Inc. Phone: +1-415-390-2072
URL: http://reality.sgi.com/employees/shankar
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.