Mail Archives: djgpp/1998/01/17/03:46:13
From: | "Andrew Crabtree" <andrewc AT rosemail DOT rose DOT hp DOT com>
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | Need a C++ tester
|
Date: | Fri, 16 Jan 1998 14:31:06 -0800
|
Organization: | Hewlett Packard
|
Lines: | 92
|
Message-ID: | <69on3b$j6v$1@rosenews.rose.hp.com>
|
NNTP-Posting-Host: | ros51675cra.rose.hp.com
|
Mime-Version: | 1.0
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
While I am waiting for the goof web site to get updated to support the new
release I thought I might
actually try testing the C++ kit out. I was hoping someone out here would
volunteer to do it. You would either need to have a ftp server I can put
the file on or be able to receive a 1.7 MB mail attachment. I specifically
want somebody who has code that uses some of the newer C++ features (RTTI,
template, exceptions, ...)
If I don't get a tester than I will put out the PG++ kit untested.
Contact me by email if interested. Ideally you'd be able to get to it over
this weekend so I could
distribute it on goof next week.
Andy
Here's some info on it from the readme.
The additional C++ archive contains
\bin\cc1plus.exe - The Pentium Optimizing GNU C++ parser
\bin\gxx.exe - Optional Replacement Front end for C++ compilation
\lib\libstdcx.a - C++ Library
\lib\libio.a - C++ Library
\lib\libiostr.a - C++ Library
\lib\libibert.a - Library, probably not used by anything but included
anyway
\include\math.h - Fix struct exception problem
\include\libm\math.h - Fix struct exception problem
According to the egcs release notes, if you want exception handling to work
on a x86 target (that DJGPP), then you MUST use binutils 2.8.1 or later.
II) C++ Installation Notes
1) The gxx.exe that comes with pg++ is completely different than the
gxx.exe that comes with djgpp. You can actually still use the original
gxx.exe if you want, as the optimizing changes come from the underlying
cc1plus.exe. If you want to use the new gxx.exe try the following.
Copy the [gcc] section in your djgpp.env to a new section and call it [gxx].
2) C++ comes with a replacement math.h to work around the struct exception
problem. It should be identical to the original djgpp version in
every other way.
Specifically
struct exception {
is changed to
#ifdef __cplusplus
#define exception __math_exception
#endif
struct exception {
#ifdef __cplusplus
#undef exception
#endif
Since exception is a special work in C++. This is the DJDEV 2.01 math.h.
If
you are using a 2.02 alpha or later you may need to manually fix
math.h (or it could already be fixed).
3) The C++ support in gcc has changed substantially since 2.7.2. I am not a
C++
user and I do not know the nature of all of the changes. I do know that
templates
are supposed to be better supported, as well as RTTI. Also exception
handling is
improved (and is now enabled by default, -fno-exceptions turns it off). I
have
provided what I hope is all the necessary libs.
libio.a
libstdcx.a (libstdc++.a in unix)
libiostr.a (libiostream in unix)
libibert.a (libiberty.a in unix, I don't this this is needed, or even a c++
file
but I'm including it anyway)
4) I do not include a new libgpp.a. My understanding is that this should
not
be needed anymore. I also do not include the collect2 front end that
aides in template repository. It relies on fork to work and dj's posix
support
does not include fork currently.
- Raw text -