11.2Srillig/*	$NetBSD: queries_schar.c,v 1.2 2024/01/28 08:54:27 rillig Exp $	*/
21.1Srillig# 3 "queries_schar.c"
31.1Srillig
41.1Srillig/*
51.1Srillig * Tests for queries that are specific to platforms where 'char' has the same
61.1Srillig * representation as 'signed char'.
71.1Srillig *
81.1Srillig * See also:
91.1Srillig *	queries.c		platform-independent tests
101.1Srillig *	queries_uchar.c		for platforms where 'char' is unsigned
111.1Srillig */
121.1Srillig
131.1Srillig/* lint1-only-if: schar */
141.2Srillig/* lint1-extra-flags: -q 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 -X 351 */
151.1Srillig
161.1Srilligint
171.1SrilligQ14(char c)
181.1Srillig{
191.1Srillig	/* expect+2: comparison '==' of 'char' with plain integer 92 [Q14] */
201.1Srillig	/* expect+1: comparison '==' of 'char' with plain integer 0 [Q14] */
211.1Srillig	if (c == 'c' || c == L'w' || c == 92 || c == 0)
221.1Srillig		return 1;
231.1Srillig	return 5;
241.1Srillig}
251.1Srillig
261.1Srillig/*
271.2Srillig * Variables with automatic storage duration often have so small scope that
281.2Srillig * adding the 'const' qualifier hurts readability more than it helps.
291.2Srillig */
301.2Srilligint
311.2Srillig/* expect+1: const automatic variable 'const_arg' [Q18] */
321.2SrilligQ18(const int const_arg, int arg)
331.2Srillig{
341.2Srillig	/* expect+1: const automatic variable 'Q18_scalar' [Q18] */
351.2Srillig	const char Q18_scalar = '1';
361.2Srillig	const char Q18_array[] = { '1', '2', '3' };
371.2Srillig	const char Q18_string[] = "123";
381.2Srillig	const char *Q18_string_pointer = "123";
391.2Srillig
401.2Srillig	return const_arg + arg
411.2Srillig	    + Q18_scalar + Q18_array[0] + Q18_string[0] + Q18_string_pointer[0];
421.2Srillig}
431.2Srillig
441.2Srillig/*
451.1Srillig * Since queries do not affect the exit status, force a warning to make this
461.1Srillig * test conform to the general expectation that a test that produces output
471.1Srillig * exits non-successfully.
481.1Srillig */
491.1Srillig/* expect+1: warning: static variable 'unused' unused [226] */
501.1Srilligstatic int unused;
51