view gcc/testsuite/g++.dg/torture/pr80054.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

/* { dg-do compile } */

/* Used to fail in SLSR because of a dominance violation.  PR80054.  */

extern short var_2;
extern short var_4;
extern const bool var_32;
extern short var_36;
extern const bool var_37;
extern bool var_46;
extern unsigned int var_47;
extern short var_49;
extern unsigned int var_56;
extern unsigned int var_62;
extern unsigned int var_65;
extern bool var_831;
extern unsigned int var_843;
extern short var_846;
extern short var_889;

void foo() {
  if (var_36 * var_37)
    var_831 = var_56 = 0;
  else
    var_65 = 0;

  if (var_46)
    var_843 = 0;

  var_846 = 0;

  if ((var_4 == 0) >> (var_32 | -(var_37 < var_46 || var_36)) + 8)
    var_49 = 2032651381 * bool(var_2 * var_37);
  else {
    var_62 = 0;
    var_47 = (var_46 || var_36) * (var_2 * var_37);
  }

  var_889 = bool(var_2 * var_37);
}