view gcc/testsuite/g++.dg/warn/sequence-pt-4.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
line wrap: on
line source

/* More sequence point warning tests  */
/* { dg-do compile } */
/* { dg-options "-Wsequence-point" } */

struct S { int a[10]; };
void bar (int, int, int, int, int, int, int, int);

int
foo (int i, int x[10][10], int y[10], struct S z[10], struct S *w[10])
{
  int b = x[i++][i++];	/* { dg-warning "undefined" "sequence point warning" { target c++14_down } } */
  int c = i++ << i++;	/* { dg-warning "undefined" "sequence point warning" { target c++14_down } } */
  int d = i++ >> i++;	/* { dg-warning "undefined" "sequence point warning" { target c++14_down } } */
  int e = i++ && i++;
  int f = i++ ? i++ : i++;
  int g = (i++, i++);
  int h = z[i++].a[i++];	/* { dg-warning "undefined" "sequence point warning" { target c++14_down } } */
  int j = w[i++]->a[i++];	/* { dg-warning "undefined" "sequence point warning" { target c++14_down } } */
  bar (b, c, d, e, f,g, h, j);
  return i;
}