From 87f70bdc49fcd550cd26828dcb9b59b75bf6f5cd Mon Sep 17 00:00:00 2001 From: Steve Huston Date: Wed, 17 Jul 2002 18:31:43 +0000 Subject: ChangeLogTag:Wed Jul 17 14:25:39 2002 Steve Huston --- ChangeLog | 13 +++++++++++++ ChangeLogs/ChangeLog-03a | 13 +++++++++++++ ace/Sock_Connect.cpp | 14 ++++++++++++++ include/makeinclude/platform_aix_ibm.GNU | 2 +- 4 files changed, 41 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 7cfeb2f411b..b6454306a33 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +Wed Jul 17 14:25:39 2002 Steve Huston + + * include/makeinclude/platform_aix_ibm.GNU: Added -qfuncsect to the + compile options. Allows for smaller executables/libraries, and + gets rid of most of the multiple definition warnings for templates. + Unfortunately, there are still a few stragglers so the aix_shr + post-processing script is still required. + + * ace/Sock_Connect.cpp: Added a hack to get Visual Age C++ on AIX + build running clean. Have to include a template instantiation we + don't need to get the compiler to pull the proper header files + at template compilation time. + Wed Jul 17 11:34:28 2002 Steve Huston * ace/OS.{i cpp}: Windows, in calls to _open_osfhandle(), cast diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a index 7cfeb2f411b..b6454306a33 100644 --- a/ChangeLogs/ChangeLog-03a +++ b/ChangeLogs/ChangeLog-03a @@ -1,3 +1,16 @@ +Wed Jul 17 14:25:39 2002 Steve Huston + + * include/makeinclude/platform_aix_ibm.GNU: Added -qfuncsect to the + compile options. Allows for smaller executables/libraries, and + gets rid of most of the multiple definition warnings for templates. + Unfortunately, there are still a few stragglers so the aix_shr + post-processing script is still required. + + * ace/Sock_Connect.cpp: Added a hack to get Visual Age C++ on AIX + build running clean. Have to include a template instantiation we + don't need to get the compiler to pull the proper header files + at template compilation time. + Wed Jul 17 11:34:28 2002 Steve Huston * ace/OS.{i cpp}: Windows, in calls to _open_osfhandle(), cast diff --git a/ace/Sock_Connect.cpp b/ace/Sock_Connect.cpp index adb7e908b72..2fc51df875b 100644 --- a/ace/Sock_Connect.cpp +++ b/ace/Sock_Connect.cpp @@ -30,6 +30,20 @@ extern "C" { int ACE_Sock_Connect::ipv6_enabled_ = -1; #endif /* ACE_HAS_IPV6 */ +// This is a hack to work around a problem with Visual Age C++ 5 on AIX. +// Without this, the compiler auto-instantiates the ACE_Auto_Array_Ptr for +// ifreq (contained in this module) but only adds the #include for +// and not the one for which is also needed. Although we +// don't need the template defined here, it makes the compiler pull in +// and the build runs clean. +#if defined (AIX) && defined (__IBMCPP__) && (__IBMCPP__ >= 500) +# if (__IBMCPP__ >= 600) +# error Recheck this hack to see if version 6 fixed it! +# endif +static ACE_Auto_Array_Ptr force_compiler_to_include_socket_h; +#endif /* AIX && __IBMCPP__ >= 500 */ + + #if defined (ACE_LACKS_INLINE_FUNCTIONS) #include "ace/Sock_Connect.i" #endif /* ACE_LACKS_INLINE_FUNCTIONS */ diff --git a/include/makeinclude/platform_aix_ibm.GNU b/include/makeinclude/platform_aix_ibm.GNU index 9f490f54e66..b567c902782 100644 --- a/include/makeinclude/platform_aix_ibm.GNU +++ b/include/makeinclude/platform_aix_ibm.GNU @@ -98,7 +98,7 @@ ifeq ($(XLCVERSION),0x0306) rtti = 0 else ifeq ($(XLCVERSION),0x0500) - CCFLAGS += -qflag=w:w -qstaticinline + CCFLAGS += -qflag=w:w -qstaticinline -qfuncsect DLD = $(CXX) -qmkshrobj SOFLAGS += $(CCFLAGS) $(CPPFLAGS) $(INCLDIRS) ifeq ($(buildbits),64) -- cgit v1.2.1