wparentheses-3.c

来自「用于进行gcc测试」· C语言 代码 · 共 69 行

C
69
字号
/* Test operation of -Wparentheses.  Warnings for assignments used as   truth-values.  *//* Origin: Joseph Myers <jsm@polyomino.org.uk> *//* { dg-do compile } *//* { dg-options "-Wparentheses -std=gnu99" } */int foo (int);int a, b, c;_Bool d;intbar (void){  if (a = b) /* { dg-warning "assignment" "correct warning" } */    foo (0);  if ((a = b))    foo (1);  if (a = a) /* { dg-warning "assignment" "correct warning" } */    foo (2);  if ((a = a))    foo (3);  if (b = c) /* { dg-warning "assignment" "correct warning" } */    foo (4);  else    foo (5);  if ((b = c))    foo (6);  else    foo (7);  if (b = b) /* { dg-warning "assignment" "correct warning" } */    foo (8);  else    foo (9);  if ((b = b))    foo (10);  else    foo (11);  while (c = b) /* { dg-warning "assignment" "correct warning" } */    foo (12);  while ((c = b))    foo (13);  while (c = c) /* { dg-warning "assignment" "correct warning" } */    foo (14);  while ((c = c))    foo (15);  do foo (16); while (a = b); /* { dg-warning "assignment" "correct warning" } */  do foo (17); while ((a = b));  do foo (18); while (a = a); /* { dg-warning "assignment" "correct warning" } */  do foo (19); while ((a = a));  for (;c = b;) /* { dg-warning "assignment" "correct warning" } */    foo (20);  for (;(c = b);)    foo (21);  for (;c = c;) /* { dg-warning "assignment" "correct warning" } */    foo (22);  for (;(c = c);)    foo (23);  d = a = b; /* { dg-warning "assignment" "correct warning" } */  foo (24);  d = (a = b);  foo (25);  d = a = a; /* { dg-warning "assignment" "correct warning" } */  foo (26);  d = (a = a);  foo (27);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?