11.4Srillig/*	$NetBSD: lex_floating.c,v 1.4 2023/03/28 14:44:34 rillig Exp $	*/
21.1Srillig# 3 "lex_floating.c"
31.1Srillig
41.1Srillig/*
51.1Srillig * Tests for lexical analysis of floating constants.
61.1Srillig *
71.1Srillig * C99 6.4.4.2 "Floating constants"
81.1Srillig */
91.1Srillig
101.4Srillig/* lint1-extra-flags: -X 351 */
111.4Srillig
121.1Srilligvoid sinkf(float);
131.1Srilligvoid sinkd(double);
141.1Srilligvoid sinkl(long double);
151.1Srillig
161.1Srilligvoid
171.1Srilligtest_float(void)
181.1Srillig{
191.1Srillig	sinkf(0.0F);
201.1Srillig	sinkf(0.0f);
211.1Srillig	sinkf(-0.0F);
221.1Srillig	sinkf(-0.0f);
231.1Srillig}
241.1Srillig
251.1Srilligvoid
261.1Srilligtest_double(void)
271.1Srillig{
281.1Srillig	// https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4396272
291.1Srillig	sinkd(2.2250738585072012e-308);
301.2Srillig	/* expect+1: error: syntax error 'x' [249] */
311.2Srillig	sinkd(1.23x);
321.1Srillig}
331.1Srillig
341.1Srilligvoid
351.1Srilligtest_long_double(void)
361.1Srillig{
371.1Srillig	sinkl(2.2250738585072012e-308L);
381.1Srillig}
391.3Srillig
401.3Srilligvoid
411.3Srilligtest_hex(void)
421.3Srillig{
431.3Srillig	sinkd(0x1.cp4);
441.3Srillig}
45