

/* Test that (p!=0) + (q!=0) is computed as int,
    not boolean */
/* { dg-options "-O3" } */
/* { dg-do run } */
extern void abort (void);
char *foo(char *p, char *q) {
    int x = (p !=0) + (q != 0);
    if (x==2)  return "a"; else return 0;
}
extern char *bar(char*, char*) __attribute__((noinline));
char *bar(char *first, char *last)
{
   int y;
   if (!first)  return last;
   if (!last)   return first;
   if (*first == 'a')
     return foo(first, last);
   return 0;
}
main() {
   char *p = "a", *q = "b";
   if (p)
     if (bar(p,q))
       return 0;
   abort();
}
