[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