Attached patch fixes bug 1202.
Index: lib/Target/TargetData.cpp
===================================================================
--- lib/Target/TargetData.cpp	(.../trunk)	(revision 877)
+++ lib/Target/TargetData.cpp	(.../branches/llvm-spu)	(revision 877)
@@ -245,7 +245,8 @@
   std::pair<align_iterator, align_iterator> ins_result =
             std::equal_range(Alignments.begin(), Alignments.end(), elt);
   align_iterator I = ins_result.first;
-  if (I->AlignType == align_type && I->TypeBitWidth == bit_width) {
+  align_iterator E = ins_result.second;
+  if (I != E && I->AlignType == align_type && I->TypeBitWidth == bit_width) {
     // Update the abi, preferred alignments.
     I->ABIAlign = abi_align;
     I->PrefAlign = pref_align;
@@ -254,7 +255,6 @@
 
 #if 0
   // Keep around for debugging and testing...
-  align_iterator E = ins_result.second;
 
   cerr << "setAlignment(" << elt << ")\n";
   cerr << "I = " << (I - Alignments.begin())
_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to