COMDAT

Mark Mitchell mark at codesourcery.com
Sat Sep 2 03:04:03 UTC 2000


>>>>> "Jim" == Jim Dehnert <dehnert at baalbek.engr.sgi.com> writes:

    Jim> not.  The reason is that the usual "as if" rule makes it
    Jim> unnecessary.  (We haven't explicitly stated the rule -- I
    Jim> always assume it -- but could.)

Well, this goes a little beyond the normal as-if rule, which simply
says that a program cannot detect the difference.  (For example, in
C's abstract machine, if `x * 2' is implemented as `x + x', no
conforming program can ever know how the operation was actually
calculated.)

But here, `nm' is certainly going to say something different about
what's where.  So, I think there's a little more of an issue.

Practically speaking, some vendors are not going to have COMDAT groups
right away.  It would still be nice if they cna produce ABI-compliant
binaries.  We have to be careful that we are not designing an ABI that
will be slightly misimplemented in various incompatible ways -- it
would be better to do something slightly less technically ambitious
that permitted widespread implementation and interoperation.

--
Mark Mitchell                   mark at codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com




More information about the cxx-abi-dev mailing list