Viewing file: pr38245-2.c (1.35 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* PR rtl-optimization/38245 */ /* { dg-do compile } */ /* { dg-options "-O2 -fdump-tree-optimized" } */
extern void link_error (void);
void f1 (unsigned int a) { if (a != 28) { if (4 / a == 5) link_error (); } }
void f2 (unsigned int a) { if (4 / a == 5) link_error (); }
void f3 (unsigned int a) { if (4 / (a & 0xff) == 5) link_error (); }
void f4 (unsigned int a, unsigned int b) { if ((b & 3) / ((a & 0xff) + 1) == 5) link_error (); }
void f5 (int a) { if (a != 28) { if (4 / a == 5) link_error (); } }
void f6 (int a) { if (4 / a == 5) link_error (); }
void f7 (int a) { if (4 / (a & 0xff) == 5) link_error (); }
void f8 (int a, int b) { if ((b & 3) / ((a & 0xff) + 1) == 5) link_error (); }
void f9 (int a, int b) { if (b >= 4) if ((a / b) == __INT_MAX__ / 2) link_error (); }
void f10 (unsigned int a, unsigned int b) { if (b >= 16) if ((a / b) == __INT_MAX__ / 4) link_error (); }
void f11 (int a, int b) { if (b <= -32) if ((a / b) == -__INT_MAX__ / 16) link_error (); }
void f12 (int a, int b) { if (a >= -6 && a <= 4) if ((a / b) == -7 || (a / b) == 7) link_error (); }
void f13 (unsigned int a, unsigned int b) { if (a <= 4) if ((a / b) == 5) link_error (); }
/* { dg-final { scan-tree-dump-not "link_error" "optimized" } } */
|