> On Apr 7, 2016, at 2:37 PM, Jed Brown <[email protected]> wrote:
> 
> Barry Smith <[email protected]> writes:
>> the clang static code analyzer reports 
>> 
>> In file included from 
>> /sandbox/petsc/petsc.clone/include/petsc/private/matimpl.h:1233:
>> /sandbox/petsc/petsc.clone/include/petscbt.h:85:36: warning: The result of 
>> the '<<' expression is undefined
>>          BT_mask       = (char)(1 << index%PETSC_BITS_PER_BYTE),
>>                                 ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> 
>> Is the code wrong/unnecessary or clang?
> 
> I would guess it is complaining about C99 ยง6.5.7.3:
> 
>  If the value of the right operand is negative or is greater than or
>  equal to the width of the promoted left operand, the behavior is
>  undefined.

   Should we caste to an unsigned PetscInt first then?


Reply via email to