The patch below should address this problem, let me know.

On Jan 9, 2008, at 12:43 PM, Duncan Sands wrote:
>> +        TREE_INT_CST_LOW(DECL_SIZE(Field)) <
>> +              TREE_INT_CST_LOW(TYPE_SIZE(TREE_TYPE(Field))))
>
> This probably kills Ada (testing now), since the size doesn't have  
> to be
> a constant in general (likewise in RestoreBaseClassFields).

Index: llvm-types.cpp
===================================================================
--- llvm-types.cpp      (revision 45777)
+++ llvm-types.cpp      (working copy)
@@ -1696,6 +1696,8 @@
          TREE_CODE(TREE_TYPE(Field))==RECORD_TYPE &&
          TYPE_SIZE(TREE_TYPE(Field)) &&
          DECL_SIZE(Field) &&
+        TREE_CODE(DECL_SIZE(Field))==INTEGER_CST &&
+        TREE_CODE(TYPE_SIZE(TREE_TYPE(Field)))==INTEGER_CST &&
          TREE_INT_CST_LOW(DECL_SIZE(Field)) <
                TREE_INT_CST_LOW(TYPE_SIZE(TREE_TYPE(Field))))
        TREE_TYPE(Field) = FixBaseClassField(Field);

_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to