msg_159.c revision 1.4
11.4Srillig/* $NetBSD: msg_159.c,v 1.4 2022/07/06 21:13:13 rillig Exp $ */ 21.1Srillig# 3 "msg_159.c" 31.1Srillig 41.1Srillig// Test for message: assignment in conditional context [159] 51.1Srillig 61.4Srillig/* lint1-extra-flags: -h */ 71.4Srillig 81.4Srilligconst char * 91.4Srilligexample(int a, int b) 101.4Srillig{ 111.4Srillig 121.4Srillig if (a == b) 131.4Srillig return "comparison, not parenthesized"; 141.4Srillig 151.4Srillig if ((a == b)) 161.4Srillig return "comparison, parenthesized"; 171.4Srillig 181.4Srillig if ( 191.4Srillig# 20 "msg_159.c" 3 4 201.4Srillig (a == b) 211.4Srillig# 22 "msg_159.c" 221.4Srillig ) 231.4Srillig return "comparison, parenthesized, from system header"; 241.4Srillig 251.4Srillig /* expect+1: warning: assignment in conditional context [159] */ 261.4Srillig if (a = b) 271.4Srillig return "assignment, not parenthesized"; 281.4Srillig 291.4Srillig /* 301.4Srillig * XXX: GCC has the convention that an assignment that is 311.4Srillig * parenthesized is intended as an assignment. 321.4Srillig */ 331.4Srillig /* expect+1: warning: assignment in conditional context [159] */ 341.4Srillig if ((a = b)) 351.4Srillig return "assignment, parenthesized"; 361.4Srillig 371.4Srillig if ((a = b) != 0) 381.4Srillig return "explicit comparison after assignment"; 391.4Srillig 401.4Srillig return "other"; 411.4Srillig} 42