[PATCH] Microsoft C++ Record Layout

Warren Hunt whunt at google.com
Tue Jul 16 16:02:41 PDT 2013


  Fixed a CG crash and got the ms_class_layout.cpp test in Sema to pass by updating the vtordisp algorithm.  Right now the patch causes two lit failures:
      Clang :: CodeGenCXX/microsoft-abi-structors.cpp
      Clang :: CodeGenCXX/microsoft-abi-vbtables.cpp
  However, I'll take me a bit of learning to figure out if the changes are superficial or actually meaningful.  I've not made any changes to code generation and the tests fail by generating constructors that don't match what was there, so I would assume that the changes are superficial (constructors simply placing elements at new, correct, locations).  Any advice on specific things to look for or general miss-steps I could have when making this determination?

Hi rnk, rsmith,

http://llvm-reviews.chandlerc.com/D1026

CHANGE SINCE LAST DIFF
  http://llvm-reviews.chandlerc.com/D1026?vs=2760&id=2852#toc

Files:
  include/clang/AST/ASTContext.h
  include/clang/AST/RecordLayout.h
  lib/AST/CMakeLists.txt
  lib/AST/MicrosoftRecordLayoutBuilder.cpp
  lib/AST/RecordLayout.cpp
  lib/AST/RecordLayoutBuilder.cpp
  lib/CodeGen/CGRecordLayoutBuilder.cpp
  test/Layout/ms-x86-aligned-tail-padding.cpp
  test/Layout/ms-x86-basic-layout.cpp
  test/Layout/ms-x86-empty-nonvirtual-bases.cpp
  test/Layout/ms-x86-empty-virtual-base.cpp
  test/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp
  test/Layout/ms-x86-primary-bases.cpp
  test/Layout/ms-x86-size-alignment-fail.cpp
  test/Layout/ms-x86-vfvb-alignment.cpp
  test/Layout/ms-x86-vfvb-sharing.cpp
  test/Layout/ms-x86-vtordisp.cpp
  test/Sema/ms_bitfield_layout.c
  test/Sema/ms_class_layout.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D1026.5.patch
Type: text/x-patch
Size: 138280 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130716/930eab9e/attachment.bin>


More information about the cfe-commits mailing list