summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2007-01-10 07:56:40 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2007-01-10 07:56:40 +0000
commit8221a1af54033105bf60a5254b47692270b87ef0 (patch)
treeb4fc2a265480660a7be46d03aabbe6839a9e1eab
parent5baa19d5d6aca94a0a5b4717264a5360b22409e6 (diff)
downloadATCD-8221a1af54033105bf60a5254b47692270b87ef0.tar.gz
Wed Jan 10 07:55:04 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
-rw-r--r--ACE/ChangeLog25
-rw-r--r--ACE/ace/Makefile.am2
-rw-r--r--ACE/ace/String_Base.cpp5
-rw-r--r--ACE/ace/String_Base.h9
-rw-r--r--ACE/ace/String_Base_Const.cpp11
-rw-r--r--ACE/ace/String_Base_Const.h52
-rw-r--r--ACE/ace/ace.mpc2
-rw-r--r--ACE/ace/ace_for_tao.mpc2
8 files changed, 96 insertions, 12 deletions
diff --git a/ACE/ChangeLog b/ACE/ChangeLog
index 487ef3372fd..4fe7b10d854 100644
--- a/ACE/ChangeLog
+++ b/ACE/ChangeLog
@@ -1,8 +1,31 @@
+Wed Jan 10 07:55:04 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ Reverted my change below. It worked in terms that it compiled on
+ all platforms but it resulted in a big footprint increase (about 1.5%)
+ for a full application and that is just too much.
+
+ Tue Jan 9 11:21:30 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
+ * ace/String_Base.cpp:
+ * ace/String_Base.h:
+ Moved the members of String_Base_Const to String_Base and
+ removed String_Base_Const
+
+ * ace/String_Base_Const.cpp:
+ * ace/String_Base_Const.h:
+ Remove String_Base_Const. It was there as workaround for an old
+ sun compiler which we don't support anymore. Fixes bugzilla bug
+ 2588.
+
+ * ace/ace.mpc:
+ * ace/ace_for_tao.mpc:
+ * ace/Makefile.am:
+ Removed String_Base_Const.{h,cpp}
+
Wed Jan 10 02:01:04 UTC 2007 Chris Cleeland <cleeland_c@ociweb.com>
* bin/MakeProjectCreator/config: Added "default.features" to
svn:ignore property.
-
+
* tests: Re-generated the svn:ignore property.
Wed Jan 10 00:22:01 UTC 2007 Steve Huston <shuston@riverace.com>
diff --git a/ACE/ace/Makefile.am b/ACE/ace/Makefile.am
index 61c8ab39cc1..955b88be851 100644
--- a/ACE/ace/Makefile.am
+++ b/ACE/ace/Makefile.am
@@ -286,6 +286,7 @@ libACE_la_SOURCES = \
Signal.cpp \
Sock_Connect.cpp \
Stats.cpp \
+ String_Base_Const.cpp \
Svc_Conf_Lexer.cpp \
Svc_Conf_y.cpp \
Synch_Options.cpp \
@@ -963,6 +964,7 @@ nobase_include_HEADERS += \
String_Base.cpp \
String_Base.h \
String_Base.inl \
+ String_Base_Const.h \
Svc_Conf.h \
Svc_Conf_Lexer.h \
Svc_Conf_Tokens.h \
diff --git a/ACE/ace/String_Base.cpp b/ACE/ace/String_Base.cpp
index 1d0d07528a2..525dcbc2553 100644
--- a/ACE/ace/String_Base.cpp
+++ b/ACE/ace/String_Base.cpp
@@ -8,7 +8,6 @@
#include "ace/String_Base.h"
#include "ace/Auto_Ptr.h"
#include "ace/OS_NS_string.h"
-#include "ace/Numeric_Limits.h"
#include <algorithm> // For std::swap<>
@@ -21,10 +20,6 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
ACE_ALLOC_HOOK_DEFINE(ACE_String_Base)
template <class CHAR>
-typename ACE_String_Base<CHAR>::size_type const ACE_String_Base<CHAR>::npos =
- ACE_Numeric_Limits<typename ACE_String_Base<CHAR>::size_type>::max ();
-
-template <class CHAR>
CHAR ACE_String_Base<CHAR>::NULL_String_ = 0;
// Default constructor.
diff --git a/ACE/ace/String_Base.h b/ACE/ace/String_Base.h
index a2c6e4009f4..239019b0fae 100644
--- a/ACE/ace/String_Base.h
+++ b/ACE/ace/String_Base.h
@@ -22,7 +22,7 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "ace/Malloc_Base.h"
+#include "ace/String_Base_Const.h"
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
@@ -55,14 +55,11 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
* probably doing something wrong.
*/
template <class CHAR>
-class ACE_String_Base
+class ACE_String_Base : public ACE_String_Base_Const
{
public:
- typedef ACE_Allocator::size_type size_type;
- /// Constant that denotes case where no such character position
- /// exists.
- static size_type const npos;
+ using ACE_String_Base_Const::size_type;
/**
* Default constructor.
diff --git a/ACE/ace/String_Base_Const.cpp b/ACE/ace/String_Base_Const.cpp
new file mode 100644
index 00000000000..77dff6db428
--- /dev/null
+++ b/ACE/ace/String_Base_Const.cpp
@@ -0,0 +1,11 @@
+// $Id$
+
+#include "ace/String_Base_Const.h"
+#include "ace/Numeric_Limits.h"
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ACE_String_Base_Const::size_type const ACE_String_Base_Const::npos =
+ ACE_Numeric_Limits<ACE_String_Base_Const::size_type>::max ();
+
+ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ACE/ace/String_Base_Const.h b/ACE/ace/String_Base_Const.h
new file mode 100644
index 00000000000..2684e3dff8e
--- /dev/null
+++ b/ACE/ace/String_Base_Const.h
@@ -0,0 +1,52 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file String_Base_Const.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef ACE_STRING_BASE_CONST_H
+#define ACE_STRING_BASE_CONST_H
+
+#include /**/ "ace/pre.h"
+
+#include /**/ "ace/ACE_export.h"
+#include "ace/Malloc_Base.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+/**
+ * @class ACE_String_Base_Const
+ *
+ * @brief This class defines a constant for ACE_String_Base
+ * which originally was there to circumvent a bug in SunCC 6.0.
+ * This could be moved to ACE_String_Base but that
+ * adds a lot of footprint to the user applications which
+ * is not something we want.
+ */
+class ACE_Export ACE_String_Base_Const
+{
+public:
+
+ typedef ACE_Allocator::size_type size_type;
+
+ /// Constant that denotes case where no such character position
+ /// exists.
+ static size_type const npos;
+
+};
+
+ACE_END_VERSIONED_NAMESPACE_DECL
+
+#include /**/ "ace/post.h"
+#endif /* ACE_STRING_BASE_CONST_H */
diff --git a/ACE/ace/ace.mpc b/ACE/ace/ace.mpc
index ab12ad72dc6..4b6aca6fd21 100644
--- a/ACE/ace/ace.mpc
+++ b/ACE/ace/ace.mpc
@@ -229,6 +229,7 @@ project(ACE) : acedefaults, install, other, codecs, token, svcconf, uuid, fileca
SPIPE_Stream.cpp
SString.cpp
Stats.cpp
+ String_Base_Const.cpp
SUN_Proactor.cpp
SV_Message.cpp
SV_Message_Queue.cpp
@@ -412,6 +413,7 @@ project(ACE) : acedefaults, install, other, codecs, token, svcconf, uuid, fileca
SStringfwd.h
Static_Object_Lock.h
Strategies.h
+ String_Base_Const.h
Svc_Conf.h
Svc_Conf_Tokens.h
Swap.h
diff --git a/ACE/ace/ace_for_tao.mpc b/ACE/ace/ace_for_tao.mpc
index 368a3109259..58b7a928fe5 100644
--- a/ACE/ace/ace_for_tao.mpc
+++ b/ACE/ace/ace_for_tao.mpc
@@ -162,6 +162,7 @@ project(ACE_FOR_TAO) : acedefaults, install, svcconf, uuid, versioned_namespace,
SPIPE_Stream.cpp
SString.cpp
Stats.cpp // Required by orbsvcs/tests/Notify
+ String_Base_Const.cpp
Synch_Options.cpp
Task.cpp
Thread.cpp
@@ -330,6 +331,7 @@ project(ACE_FOR_TAO) : acedefaults, install, svcconf, uuid, versioned_namespace,
SStringfwd.h
Static_Object_Lock.h
Strategies.h
+ String_Base_Const.h
Svc_Conf.h
Svc_Conf_Tokens.h
Swap.h