[Pkg-ace-devel] Bug#243473: libace-dev: ACE_IOStream support for g++ 3.3
Alexander Motzkau
Alexander Motzkau <a.motzkau@web.de>, 243473@bugs.debian.org
Tue, 13 Apr 2004 11:09:40 +0200
Package: libace-dev
Version: 5.4.0.1-1
Severity: wishlist
Hi there,
ACE_IOStream is deactivated for g++ 3.3, because it has a standard conforming
C++ library. The following patch fixed the problem for me and should
only affect g++ >= 3.2. (I can't test other compilers, so ACE_IOStream is
still deactivated for other compilers with a similar cpp library.)
Greetings,
Alexander Motzkau
diff -Naur ace-5.4.0.1.orig/ace/config-g++-common.h ace-5.4.0.1/ace/config-g++-common.h
--- ace-5.4.0.1.orig/ace/config-g++-common.h 2004-04-13 10:55:16.000000000 +0200
+++ ace-5.4.0.1/ace/config-g++-common.h 2004-04-13 10:56:28.000000000 +0200
@@ -56,6 +56,14 @@
# undef ACE_USES_OLD_IOSTREAMS
#endif /* __GNUC__ >= 2.97 */
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2 )
+# define ACE_LACKS_UNBUFFERED_STREAMBUF
+# define ACE_LACKS_LINEBUFFERED_STREAMBUF
+# define ACE_LACKS_IOSTREAM_FX
+# define ACE_LACKS_CHAR_RIGHT_SHIFTS
+# define ACE_USES_NEW_IOSTREAMS
+#endif
+
// __EXCEPTIONS is defined with -fexceptions, the egcs default. It
// is not defined with -fno-exceptions, the ACE default for g++.
// ACE_HAS_EXCEPTIONS is defined in
diff -Naur ace-5.4.0.1.orig/ace/IOStream.h ace-5.4.0.1/ace/IOStream.h
--- ace-5.4.0.1.orig/ace/IOStream.h 2004-04-13 10:46:59.000000000 +0200
+++ ace-5.4.0.1/ace/IOStream.h 2004-04-13 10:56:28.000000000 +0200
@@ -31,7 +31,7 @@
// by its config.h file.
// This restriction is recorded in Bugzilla entry 857.
#if defined (ACE_HAS_STANDARD_CPP_LIBRARY) && (ACE_HAS_STANDARD_CPP_LIBRARY == 1)
-# if !defined (ACE_USES_OLD_IOSTREAMS) && !defined (ACE_LACKS_ACE_IOSTREAM)
+# if !defined (ACE_USES_OLD_IOSTREAMS) && !defined(ACE_USES_NEW_IOSTREAMS) && !defined (ACE_LACKS_ACE_IOSTREAM)
# define ACE_LACKS_ACE_IOSTREAM
# endif /* !ACE_USES_OLD_IOSTREAMS && !ACE_LACKS_ACE_IOSTREAM */
#endif /* ACE_HAS_STANDARD_CPP_LIBRARY */
@@ -477,9 +477,9 @@
inline virtual MT& operator<<(__omanip_ func) CODE2 \
inline virtual MT& operator<<(__manip_ func) CODE2
-# if defined (ACE_LACKS_SIGNED_CHAR)
- #define GET_FUNC_SET1(MT,CODE,CODE2) GET_FUNC_SET0(MT,CODE,CODE2)
- #define PUT_FUNC_SET1(MT,CODE,CODE2) PUT_FUNC_SET0(MT,CODE,CODE2)
+# if defined (ACE_LACKS_SIGNED_CHAR) || defined(ACE_LACKS_CHAR_RIGHT_SHIFTS)
+# define GET_FUNC_SET1(MT,CODE,CODE2) GET_FUNC_SET0(MT,CODE,CODE2)
+# define PUT_FUNC_SET1(MT,CODE,CODE2) PUT_FUNC_SET0(MT,CODE,CODE2)
# else
# if defined (ACE_LACKS_CHAR_STAR_RIGHT_SHIFTS)
#define GET_FUNC_SET1(MT,CODE,CODE2) \
-- System Information:
Debian Release: testing/unstable
APT prefers testing
APT policy: (990, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.2
Locale: LANG=de_DE@euro, LC_CTYPE=de_DE@euro (ignored: LC_ALL set to de_DE@euro)
Versions of packages libace-dev depends on:
ii libace5.4 5.4.0.1-1 An Object-Oriented Network Program
ii libc6-dev 2.3.2.ds1-11 GNU C Library: Development Librari
-- no debconf information