Subject: standards/10803: NetBSD does not provide a C99 conformant environment
To: None <gnats-bugs@gnats.netbsd.org>
From: Johan Danielsson <joda@pdc.kth.se>
List: netbsd-bugs
Date: 08/10/2000 09:35:16
>Number:         10803
>Category:       standards
>Synopsis:       NetBSD does not provide a C99 conformant environment
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    standards-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Thu Aug 10 09:36:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Johan Danielsson
>Release:        2000-08
>Organization:
>Environment:

>Description:

There are some new stuff in C99, that we should support. After some
browsing the C99 document, I've found at least these missing
pieces. Some of these should be fixed in gcc (and some of them are
already there, but implemented differently), and some should be fixed
in NetBSD. This list is not complete.

	__func__ is not predefined (6.4.2.2)

	universal character names are not implemented (6.4.3)

	_Bool, _Complex, and _Imaginary types missing (6.7.2)

	flexible array members not allowed (6.7.2.1)
	
	restrict type qualifier (6.7.3)

	variable arrays in function declarators using [*] (6.7.5.3)
	
	for loops with declarations (6.8.5)
	
	variable argument macros (6.10.3)

	_Pragma operator (6.10.9)

	<complex.h> (7.3)

	<fenv.h> (7.6)

	<inttypes.h> defines what <stdint.h> should defined, and
	<stdint.h> doesn't exist at all (7.8, and 7.18)

	<iso646.h> (7.9)

	missing fields from <locale.h> (7.11)

	lots of stuff from <math.h> (7.12)

	<stdbool.h> (7.16)

	<stdio.h>: `j', `z', and `t' length modifiers, and `a', and
	`A' conversion specifiers (7.19)

	_Exit function (same as _exit) (7.20.4.4)

	<tgmath.h> (7.22)

	probably a few wide character issues

>How-To-Repeat:
>Fix:

Some (most I would guess) of this should be easy to fix, some will
take more effort.
>Release-Note:
>Audit-Trail:
>Unformatted: