blob: f903398060af229c734bbe894b497e8705dc3315 [file] [log] [blame]
// PR c++/91993
// { dg-do compile }
// { dg-options "-Wconversion -fsanitize=undefined" }
typedef unsigned char uc;
int
foo (const uc &a, const uc &b, const uc &c)
{
return static_cast<uc>(static_cast<uc>(a << 1U) | b) | c; // { dg-bogus "conversion from 'int' to 'unsigned char' may change value" }
}
int
bar (const uc &a, const uc &b, const uc &c, int &d)
{
return static_cast<uc>(static_cast<uc>((d++, a) << 1U) | b) | c; // { dg-bogus "conversion from 'int' to 'unsigned char' may change value" }
}