1*139c6401Srillig /* $NetBSD: msg_077.c,v 1.9 2024/02/03 20:10:10 rillig Exp $ */ 2a0a15c14Srillig # 3 "msg_077.c" 3a0a15c14Srillig 4a194378bSrillig /* Test for message: bad octal digit '%c' [77] */ 5a0a15c14Srillig 6b2baa501Srillig /* lint1-flags: -tw -X 351 */ 70b52e712Srillig 8a194378bSrillig /* expect+1: warning: bad octal digit '8' [77] */ 9aba9ec72Srillig char single_digit = '\8'; 100b52e712Srillig 110b52e712Srillig /* 120b52e712Srillig * Before lex.c 1.47 from 2021-06-29, lint intended to detect a "bad octal 130b52e712Srillig * digit" following good octal digits, but the corresponding code had an 140b52e712Srillig * unsatisfiable guard clause. 150b52e712Srillig * 160b52e712Srillig * The C Reference Manual 1978, 2.4.3 "Character constants" does not mention 170b52e712Srillig * non-octal digits, therefore this code must have been due to a particular 180b52e712Srillig * C compiler's interpretation. It's even wrong according to the Reference 190b52e712Srillig * Manual to interpret '\088' as anything else than a malformed character 200b52e712Srillig * literal. 210b52e712Srillig * 220b52e712Srillig * That code has been removed since nobody runs lint in traditional C mode 230b52e712Srillig * anyway. 240b52e712Srillig * https://mail-index.netbsd.org/tech-toolchain/2021/03/16/msg003933.html 250b52e712Srillig */ 26*139c6401Srillig /* expect+2: warning: short octal escape '\0' followed by digit '8' [356] */ 27c83f7defSrillig /* expect+1: warning: multi-character character constant [294] */ 280b52e712Srillig char several_digits = '\08'; 29