[llvm] r209226 - Fix test breakage introduced in r209223.

David Blaikie dblaikie at gmail.com
Tue May 20 14:15:01 PDT 2014


On Tue, May 20, 2014 at 1:31 PM, Alexey Samsonov <samsonov at google.com> wrote:
> This assertion still fires on sanitizer buildbot:
> http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/9775/steps/run%20sanitizer%20tests%20in%20gcc%20build/logs/stdio

Looks like http://reviews.llvm.org/D3714

(we inline operator- into std::vector's back() (back() calls end() -
1) and the 1 becomes a constant, though it's a const ref parameter to
op-... SROA then tries to describe the value of the reference with the
constant it referred to... and so we describe the value of a "const
long&" as constant 1)

Anyway, going to checkin a fix so this doesn't assert anymore. Not
sure if I'll check in a negative test case that demonstrates the
problem too...

>
>
> On Tue, May 20, 2014 at 11:36 AM, David Blaikie <dblaikie at gmail.com> wrote:
>>
>> Author: dblaikie
>> Date: Tue May 20 13:36:35 2014
>> New Revision: 209226
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=209226&view=rev
>> Log:
>> Fix test breakage introduced in r209223.
>>
>> Oops, broke the broken enum constants again.
>>
>> Modified:
>>     llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
>>
>> Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp?rev=209226&r1=209225&r2=209226&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp (original)
>> +++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp Tue May 20 13:36:35
>> 2014
>> @@ -759,7 +759,8 @@ static bool isUnsignedDIType(DwarfDebug
>>        return true;
>>      assert(T == dwarf::DW_TAG_typedef || T == dwarf::DW_TAG_const_type ||
>>             T == dwarf::DW_TAG_volatile_type ||
>> -           T == dwarf::DW_TAG_restrict_type);
>> +           T == dwarf::DW_TAG_restrict_type ||
>> +           T == dwarf::DW_TAG_enumeration_type);
>>      if (DITypeRef Deriv = DTy.getTypeDerivedFrom())
>>        return isUnsignedDIType(DD, DD->resolve(Deriv));
>>      // FIXME: Enums without a fixed underlying type have unknown
>> signedness
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
>
>
> --
> Alexey Samsonov, Mountain View, CA



More information about the llvm-commits mailing list