blob: 044b60bc4de82016acd2a713ca52f4cf6ab622f5 [file] [log] [blame]
/* APPLE LOCAL file 4349512 */
/* { dg-do run } */
/* { dg-options "-O3" } */
extern "C" void abort();
enum VisibilityMode {
visibilityMode_Hidden = 0,
visibilityMode_Visible,
visibilityMode_Closed
};
VisibilityMode GetVisibility();
int x;
void Empty() __attribute__((noinline));
void Empty() { x++; }
void PaletteVisibilityChanged(VisibilityMode inPreviousValue) __attribute__((noinline));
void PaletteVisibilityChanged(VisibilityMode inPreviousValue)
{
const bool isVisible = (GetVisibility() == visibilityMode_Visible);
const bool wasHidden = (inPreviousValue != visibilityMode_Visible);
const bool isHidden = !isVisible;
if (wasHidden == isHidden)
{
abort();
}
else
{
Empty();
}
if (wasHidden && isHidden)
{
abort();
}
else
{
Empty();
}
}
int main (int argc, char * const argv[])
{
PaletteVisibilityChanged(visibilityMode_Hidden);
return 0;
}
VisibilityMode GetVisibility()
{
static VisibilityMode sValue = visibilityMode_Visible;
return sValue;
}