20020104-1.c   [plain text]


/* Test whether statement with no effect warnings are not given for last
   statements inside of statement expression.  */
/* { dg-do compile } */
/* { dg-options "-O -Wall" } */

void bar (char *p, char *q);

int main()
{
  char foo [32], *p;

  ({
    void *s = (foo);
    __builtin_memset (s, '\0', sizeof (foo));
    s; /* { dg-warning "no effect" "statement with no effect warning" } */
    s; /* { dg-bogus "no effect" "bogus statement with no effect warning" } */
  });
  p = foo;
  p;   /* { dg-warning "no effect" "statement with no effect warning" } */
  bar (foo, p);
  return 0;
}