[llvm-commits] CVS: llvm-gcc/gcc/llvm-types.c
Chris Lattner
lattner at cs.uiuc.edu
Thu May 12 22:31:02 PDT 2005
Changes in directory llvm-gcc/gcc:
llvm-types.c updated: 1.21 -> 1.22
---
Log message:
Fix a bug in a recent patch that caused llvm-gcc to crash on recursive unions
sometimes. This fixes the 126.gcc failure.
---
Diffs of the changes: (+5 -2)
llvm-types.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
Index: llvm-gcc/gcc/llvm-types.c
diff -u llvm-gcc/gcc/llvm-types.c:1.21 llvm-gcc/gcc/llvm-types.c:1.22
--- llvm-gcc/gcc/llvm-types.c:1.21 Tue May 10 17:33:16 2005
+++ llvm-gcc/gcc/llvm-types.c Fri May 13 00:30:45 2005
@@ -952,8 +952,11 @@
/* Check to see that element i+1 starts at offsetof(i)+sizeof(STy[i]). */
for (i = 0, e = Ty->NumElements; i != e-1; ++i)
- if (Ty->x.Struct.MemberOffsets[i] + llvm_type_get_size(Ty->Elements[i]) !=
- Ty->x.Struct.MemberOffsets[i+1])
+ if (Ty->Elements[i] == 0)
+ return 1;
+ else if (Ty->x.Struct.MemberOffsets[i] +
+ llvm_type_get_size(Ty->Elements[i]) !=
+ Ty->x.Struct.MemberOffsets[i+1])
return 1;
/* Check for tail padding. */
More information about the llvm-commits
mailing list