[llvm-commits] [llvm-gcc-4.2] r48850 - /llvm-gcc-4.2/trunk/gcc/llvm-types.cpp

Devang Patel dpatel at apple.com
Wed Mar 26 17:20:31 PDT 2008


Author: dpatel
Date: Wed Mar 26 19:20:31 2008
New Revision: 48850

URL: http://llvm.org/viewvc/llvm-project?rev=48850&view=rev
Log:
Unnamed bitfield type does not contribute in struct alignment computations.
This fixes one of the gcc.target/x86_64/abi/test_bitfields.c test on darwin.

Modified:
    llvm-gcc-4.2/trunk/gcc/llvm-types.cpp

Modified: llvm-gcc-4.2/trunk/gcc/llvm-types.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-types.cpp?rev=48850&r1=48849&r2=48850&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-types.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-types.cpp Wed Mar 26 19:20:31 2008
@@ -1759,6 +1759,10 @@
 
   // Handle bit-fields specially.
   if (isBitfield(Field)) {
+    // Unnamed bitfield type does not contribute in struct alignment
+    // computations. Use packed llvm structure in such cases.
+    if (!DECL_NAME(Field))
+      return false;
     DecodeStructBitField(Field, Info);
     return true;
   }





More information about the llvm-commits mailing list