From: shankar@chromatic.com (Shankar Unni)
Subject: <string.h> .vs. <String.h>
30 Jan 1997 12:12:19 -0800
Approved: cygnus.gnu-win32@cygnus.com
Distribution: cygnus
Message-ID: <32F0EDF7.6942.cygnus.gnu-win32@chromatic.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: Mozilla 3.0Gold (X11; I; SunOS 5.5.1 sun4u)
Original-To: gnu-win32@cygnus.com
Original-Sender: owner-gnu-win32@cygnus.com

There are a couple of reasons why we have this problem:

Technically, the ANSI C++ committee is off the hook, because they have
mandated that C++ include files be included simply as <String>,
<iostream>, etc., and so it should be possible to distinguish between
<String> and <string.h>.

In practice, however, 100% of all C++ installations still ship their
files using a .h suffix, and we have a clash. Remember that ANSI C++
still grandfathers in the <string.h> file from C, so we have a situation
in which C++ implementations have to ship both files, and given the
case-insensitive nature of many file systems, they have a problem on
their hands.

This situation won't fix itself until either the String name is changed
(very, very unlikely), or until GNU C++ moves to using the <String>
notation for all its C++ header filenames (which will hopefully be
sooner - there are ways to minimise the pain of migration when this
happens).

-- 
Shankar Unni                                  shankar@chromatic.com
Chromatic Research                            (408) 752-9488
-
For help on using this list, send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".
