[cfe-commits] MS constructor / destructor improvements

Chandler Carruth chandlerc at google.com
Tue Jun 26 23:37:22 PDT 2012


Yes, I did read it.

This explains the motivation for writing *some* patch for this support, but
it doesn't explain the choices made in the patch.

Why are you mangling things in this way? Why do you believe these manglings
are correct? You need to be able to explain in detail the reasoning behind
the patch, not just the fact that it avoids an assert.

A good way to explain a mangling patch is test that when linking object
code compiled by clang and compiled by MSVC, the symbols used by one object
are satisfied by the other (and thus the mangling is compatible).

It is very important to understand the information and basis that goes into
these patches.
-Chandler


On Tue, Jun 26, 2012 at 11:33 PM, João Matos <ripzonetriton at gmail.com>wrote:

> Did you read the link I posted?
>
> Current clang crashes with this simple code:
>
> class Class {
>  public:
>  Class();
>  ~Class();
> };
>
> Class::Class() {}
>
> Class::~Class() {}
>
> On Wed, Jun 27, 2012 at 7:25 AM, Chandler Carruth <chandlerc at google.com>
> wrote:
> > Is there a published spec that you can refer to, preferably from MSDN?
> >
> > Alternatively, can you demonstrate the observed problem which this patch
> > fixes, how you observed it, etc?
> >
> > We can't base patches on fairly arbitrary / random websites, so I don't
> > think the page you're citing is useful at all. When trying to discuss
> what a
> > patch is doing, it's good to point to an official spec, or to
> demonstrable
> > behavior matching.
> >
> >
> > On Tue, Jun 26, 2012 at 11:11 PM, Дмитрий Соколов <r4start at gmail.com>
> wrote:
> >>
> >> 2012/6/27 John McCall <rjmccall at apple.com>
> >>>
> >>> On Jun 24, 2012, at 5:41 PM, João Matos wrote:
> >>> > Attached is a patch that adds proper ctor / dtor mangling to MS ABI.
> >>> > I'm not really fond of adding the ctor / dtor type to the base class,
> >>> > but all other alternatives seemed intrusive.
> >>>
> >>> I'm confused.  I thought MSVC didn't distinguish between base and
> >>> complete destructors?
> >>>
> >> Hi.
> >> This patch is provide support for mangling special operators, like
> scalar
> >> deleting destructor(http://mearie.org/documents/mscmangle/index.en see
> >> section 'special names').
> >>
> >>  - Dmitry Sokolov
> >>
> >> _______________________________________________
> >> cfe-commits mailing list
> >> cfe-commits at cs.uiuc.edu
> >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
> >>
> >
> >
> > _______________________________________________
> > cfe-commits mailing list
> > cfe-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
> >
>
>
>
> --
> João Matos
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120626/d77cbe67/attachment.html>


More information about the cfe-commits mailing list