For PR1202:
authorReid Spencer <rspencer@reidspencer.com>
Thu, 15 Feb 2007 18:34:36 +0000 (18:34 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Thu, 15 Feb 2007 18:34:36 +0000 (18:34 +0000)
Make sure we found an existing Alignment before overwriting it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34308 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/TargetData.cpp

index ed9d84661da0fb07f31cf0b4b3db26dad506edde..41bc78a992308a70b0db7761f38cf0303a16d07d 100644 (file)
@@ -245,7 +245,8 @@ TargetData::setAlignment(AlignTypeEnum align_type, unsigned char abi_align,
   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) {
+  if (I != Alignments.end() && I->AlignType == align_type && 
+      I->TypeBitWidth == bit_width) {
     // Update the abi, preferred alignments.
     I->ABIAlign = abi_align;
     I->PrefAlign = pref_align;