]> granicus.if.org Git - clang/commit
Add -fobjc-tight-layout.
authorDaniel Dunbar <daniel@zuster.org>
Mon, 4 May 2009 05:16:21 +0000 (05:16 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Mon, 4 May 2009 05:16:21 +0000 (05:16 +0000)
commitd6884a0b90091a063478ec7fa31f6d76c94e4917
tree6638e80cf7d1854019f41ff90d08c6ac8fad91ba
parent7faca821633c9521030127bf7f42f032c73b24e2
Add -fobjc-tight-layout.
 - This implements gcc style Objective-C interface layout (I
   think). Currently it is always off, there is no functionality
   change unless this is passed.

   For the curious, the deal is that gcc lays out the fields of a
   subclass as if they were part of the superclass. That is, the
   subclass fields immediately follow the super class fields instead
   of being padded to the alignment of the superclass structure.

 - Currently gcc uses the tight layout in 32-bit and 64-bit modes, and
   llvm-gcc uses it in 32-bit only, for reasons which aren't clear
   yet. We probably want to switch to matching gcc, once this makes it
   through testing... my hope is that we can also fix llvm-gcc in
   order to maintain compatibility between the compilers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70827 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/RecordLayout.h
include/clang/Basic/LangOptions.h
include/clang/Driver/Options.def
lib/AST/ASTContext.cpp
lib/Driver/Tools.cpp
tools/clang-cc/clang-cc.cpp