To: Deborah Donovan From: David R Tribble on Wed, Jan 21, 1998 12:22 PM Subject: Comments on ISO/IEC 9899 (C9X) draft Message-Id: <2.2.32.19980121170940.00f01fac@central.beasys.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Wed, 21 Jan 1998 11:09:40 -0600 To: ddonovan@itic.nw.dc.us From: David R Tribble Subject: Comments on ISO/IEC 9899 (C9X) draft Public Comment Number(s) PC-____ to PC-____ ISO/IEC CD 9899 (SC22N2620) Public Comment =========================================== Date: 1998-01-21 Author: David R. Tribble Author Affiliation: Self Postal Address: 6004 Cave River Dr. Plano, TX 75093-6951 USA E-mail Address: dtribble@technologist.com david.tribble@central.beasys.com dtribble@flash.net Telephone Number: +1 972 738 6125, 16:00-00:00 UTC +1 972 964 1729, 01:00-05:00 UTC Fax Number: +1 972 738 6111 Number of individual comments: 2 ------------------------------------------------------------------------ Comment 1. Category: Request for clarification Committee Draft subsection: 6.1.1, 7.8 Title: 'complex' not always a keyword Detailed description: Section 6.1.1 states that 'complex' and 'imaginary' are reserved keywords only if the header has been included by the source program. In addition, the use of them prior to such an inclusion is deemed undefined. Why are they not treated as reserved words all of the time? One possible explanation is that this is an attempt to limit the number of existing programs that will break with the addition of new keywords. This, however, seems to be a moot point since the use of either keyword (without the inclusion of ) results in undefined behavior. Also, this is a weak argument in light of the fact that other new keywords have been introduced into the language (e.g., 'restrict' and 'inline') which could break existing programs. Another possible explanation might be that this is to preserve compatibility with C++, since C++ uses 'complex' as a template class name in its standard library. A clarification of this matter seems to be in order. An alternative is to require that 'complex' and 'imaginary' are always reserved words, regardless of the inclusion of or not. ------------------------------------------------------------------------