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