[PATCH] Microsoft C Record Layout

Chandler Carruth chandlerc at google.com
Wed Jun 26 15:36:32 PDT 2013


On Wed, Jun 26, 2013 at 3:31 PM, Eli Friedman <eli.friedman at gmail.com>wrote:

> On Wed, Jun 26, 2013 at 2:54 PM, Reid Kleckner <rnk at google.com> wrote:
>
>> The motivation is that C++ record layout for the Microsoft C++ ABI is
>> sufficiently different to warrant its own builder.  There's already lots of
>> code in there for virtual bases and vtordisps and other fun things that
>> don't concern Itanium.
>>
>> Ultimately, we should be able to do MS C struct bitfield layout in this
>> builder in addition to the C++ record layout.
>>
>> This patch doesn't actually do anything with C++ record layout yet to
>> keep the diff smaller and be more incremental.
>>
>> Does that make sense to you?
>>
>
> If you think the current MS C++ ABI support in RecordLayoutBuilder.cpp is
> unmaintainable, then yes, it makes sense to do something to separate it
> out.  That said, I still don't understand why duplicating the field layout
> routines helps us in any way; the current IsMsStruct checks are much more
> concise than duplicating the routines.  If you want to keep the MS and
> Itanium C++ code in separate files, we can introduce a common base class or
> something like that.
>

I'd like to at least get John's input here as well before we do more
refactoring as he gave some early direction which is why Warren ended up
heading in this general direction.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130626/f52bb38a/attachment.html>


More information about the cfe-commits mailing list