[cfe-dev] Implementation of MSRecordLayoutBuilder.

r4start r4start at gmail.com
Wed Sep 14 04:05:02 PDT 2011


On 14/09/2011 00:42, r4start wrote:
> On 14/09/2011 00:37, Eli Friedman wrote:
>> On Mon, Sep 12, 2011 at 11:45 PM, r4start<r4start at gmail.com>  wrote:
>>> On 12/09/2011 21:57, r4start wrote:
>>>> On 12/09/2011 21:37, Eli Friedman wrote:
>>>>> On Mon, Sep 12, 2011 at 8:56 AM, r4start<r4start at gmail.com>    wrote:
>>>>>> Hi,
>>>>>> I have some prototype code for MSRecordLayoutBuilder. I test  
>>>>>> this code
>>>>>> with MSVS 2010 and \Zp8 compiler option. On simple examples it 
>>>>>> seems to
>>>>>> work properly.
>>>>>>
>>>>>> Is it interesting to the clang project?
>>>>> We certainly want to fix any cases where clang does not do struct
>>>>> layout consistently with MSVC on Windows.  It's hard to comment on
>>>>> your patch without seeing it.
>>>>>
>>>>> -Eli
>>>> Now I'm not at work. When I come to work I'll send a patch.
>>>>
>>>> - Dmitry
>>> Here is patch for MSRecordLayoutBuilder.
>> I think it would be better to integrate the checks into the main
>> RecordLayoutBuilder class rather than subclassing it.
>>
>> Please include tests in your patch.  (See test/CodeGen/ms_struct.c for
>> an example.)
>>
>> I would like someone more familiar with MSVC to review the actual
>> logic here (ping me if nobody does within a few days, though, and I'll
>> try to review anyway).
>>
>> -Eli
> Ok, thanks for hint.
>
> -Dmitry.
I have a problem when writing a test. Clang doesn't implement Microsoft 
ABI and he crashes at code generation stage.
Clang have dump-record-layouts option but he prints AST layouts and 
CodeGen layouts.

Is there a way to save only AST record layout to file and then check
or maybe my patch must include CGRecordLayoutBuilder for Microsoft?

I`m working on CGRecordLayoutBuilder for Microsoft but I have problems 
with vbtables.
Itanium ABI doesn't have vbtables and Microsoft ABI doesn't have VTT. It 
is quite heavy task.

  -Dmitry.



More information about the cfe-dev mailing list