blob: f928357aec42b9b5a970dad8af17ca7116a8d678 [file] [log] [blame]
/* PR c/64249 */
/* { dg-do compile } */
/* { dg-options "-Wall -Wno-duplicated-cond" } */
#ifndef __cplusplus
# define bool _Bool
# define true 1
# define false 0
#endif
extern int foo (void);
int
fn1 (int n)
{
if (n == 1)
return -1;
else if (n == 2)
return 0;
else if (n == 1)
return 1;
return 0;
}
int
fn2 (void)
{
if (4)
return 1;
else if (4)
return 2;
#define N 10
if (N)
return 3;
else if (N)
return 4;
}
int
fn3 (int n)
{
if (n == 42)
return 1;
if (n == 42)
return 2;
if (n)
if (n)
if (n)
if (n)
return 42;
if (!n)
return 10;
else
return 11;
}
int
fn4 (int n)
{
if (n > 0)
{
if (n == 1)
return 1;
else if (n == 1)
return 2;
}
else if (n < 0)
{
if (n < -1)
return 6;
else if (n < -2)
{
if (n == -10)
return 3;
else if (n == -10)
return 4;
}
}
else
return 7;
return 0;
}
struct S { long p, q; };
int
fn5 (struct S *s)
{
if (!s->p)
return 12345;
else if (!s->p)
return 1234;
return 0;
}
int
fn6 (int n)
{
if (n)
return n;
else if (n)
return n;
else if (n)
return n;
else if (n)
return n;
else if (n)
return n;
else if (n)
return n;
else if (n)
return n;
else if (n)
return n;
return 0;
}
int
fn7 (int n)
{
if (n == 0)
return 10;
else if (n == 1)
return 11;
else if (n == 2)
return 12;
else if (n == 3)
return 13;
else if (n == 4)
return 14;
else if (n == 5)
return 15;
else if (n == 6)
return 16;
else if (n == 7)
return 17;
else if (n == 0)
return 100;
else if (n == 1)
return 101;
else if (n == 2)
return 102;
else if (n == 3)
return 103;
else if (n == 4)
return 104;
else if (n == 5)
return 105;
else if (n == 6)
return 106;
else if (n == 7)
return 107;
return 0;
}
int
fn8 (bool b)
{
if (!b)
return 16;
else if (!b)
return 27;
else
return 64;
}
int
fn9 (int i, int j, int k)
{
if ((i > 0 && j > 0 && k > 0)
&& ((i > 11 && j == 76 && k < 10)
|| (i < 0 && j == 99 && k > 103)))
return -999;
else
if ((i > 0 && j > 0 && k > 0)
&& ((i > 11 && j == 76 && k < 10)
|| (i < 0 && j == 99 && k > 103)))
return 999;
else
return 0;
}
int
fn10 (void)
{
if (foo ())
return 17329;
else if (foo ())
return 18409;
return 0;
}
int
fn11 (int n)
{
if (++n == 10)
return 666;
else if (++n == 10)
return 9;
return 0;
}