Agenda
Jim Dehnert
dehnert at baalbek.engr.sgi.com
Thu May 11 01:30:59 UTC 2000
Sorry, it appears that I did not send this. My apologies...
Following is an updated agenda. The status pages are updated and on
the web at:
http://reality.sgi.com/dehnert_engr/cxx/cxx-summary.html
The contact info page is now also there, in password-protected PDF only
for privacy. The password is "not an orc".
A reminder: At this meeting, I'd like to clear away most of
the significant and solvable issues, as I'll be gone for the following
5 Thursdays, and several implementations are far enough along to need
resolution. That means:
- Please look over the open issues carefully, and try to sort out
your ideas/position on them.
- This is a good time to not miss the meeting if
you care about the issues.
- I'd like to try real hard to start on time, and we might go
overtime.
As usual, most of the updates are in the ABI layout document, in color.
The significant changes from last week are:
- Fix ordering of the construction vtable.
- Add destructor, demangler APIs.
- Yet another try at substitution grammar in mangled names.
- Don't substitute builtin types, reverse mangling substitution order.
- Vague Linkage of template instantiations.
- Specify location of unwind tables.
Please take a careful look at the colored text, and raise any issues
you observe. In particular, be prepared to list other things which
need to be mentioned in the vague linkage section.
Take a look at the material associated with the following issues.
Many of them are issues we think we've resolved, and all that's missing
is final approval of the descriptions. If you see something, please
send it by email, and it might get fixed before the meeting.
1) C-2: Priority for constructors. The base ABI group is not
particularly interested in this, because they are not getting
pressure from their C++ people to worry about it. So, if we want
to standardize this, we need to apply pressure within our
companies. There was substantial interest in pressing ahead at
the last meeting, and I can raise it again with the base ABI, but
it won't go anywhere unless the others have heard from their C++
people!
2) F-2: Mangled name size. Our hope has been that the substitution
mechanism will make further efforts unnecessary. How do we go
about validating this? Martin's first data are excellent.
Martin and Alex both plan to try the library's names -- any luck?
3) F-2: Substituting
I notice that we're counting the function name in the substitution
count before the parameters. I presume this makes no sense, since
it's not a real entity without them. True? (This may be my
doing...)
Also, Alex brings up the question of the nested name grammar, and
whether 'tis nobler to have a simple grammar or a precise one.
Any strong opinions?
4) E-*: Do we go anywhere with templates? Note that our mangling
and vague linkage specifications should be sufficient to make
instantiations play together -- the principal issue is whether to
attempt to specify how to deal with instantiations that aren't
produced when the reference occurs, i.e. export templates.
5) H-*: Do we go anywhere with the runtime library interface?
I have been convinced that the extensive use of templates and
associated helper functions probably makes it impractical in the
short term to connect all but the simplest objects compiled with
one vendor's header files with another vendor's libC.
An intermediate model that might be more tractable is this:
Suppose that one compiles objects with multiple vendors'
compilers, but all with the header files for the target system.
Then the key issue in making them work together will be whether
the various non-Standard-Library interfaces used by the compilers
(e.g. internal math functions or some such) play together. If the
ABI specifies that such runtime routines be named to avoid
conflicts (e.g. __cxa_sgi_foo) and be placed in a library separate
from libC so that each vendor's set could be linked into the end
program, this seems doable. Comments?
6) G-4, C-14: Specify form of local-scope single-initialization.
After the hiatus, we will talk about:
8) F-3: Mangling instantiation/specialization.
F-4: Empty throw specifications.
F-10: Mangling return types.
Also, note that it doesn't usually work to try to contact me by email
or phone the morning of the meeting, as I come directly from home. If
you come in physically to the meeting, and the receptionist won't let
you come back to the conference room on your own, have her call the
conference room (it has a phone other than the one we use for the
meeting).
Jim
- Jim Dehnert x3-4272
More information about the cxx-abi-dev
mailing list