summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Huston <shuston@riverace.com>2011-02-01 14:32:03 +0000
committerSteve Huston <shuston@riverace.com>2011-02-01 14:32:03 +0000
commit7a01ea5f5a1d450367819222f2c1236881bd41ed (patch)
treeb1a2265cdfa06c4737dffc4df99cb2b858221e62
parent7600d346fa2a149775d656b8d4b8313a12ef7d7d (diff)
downloadATCD-7a01ea5f5a1d450367819222f2c1236881bd41ed.tar.gz
ChangeLogTag:Tue Feb 1 14:28:18 UTC 2011 Steve Huston <shuston@riverace.com>
-rw-r--r--ChangeLog6
-rw-r--r--ace/String_Base.cpp4
2 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index e05f0e989e2..f9f948da596 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Tue Feb 1 14:28:18 UTC 2011 Steve Huston <shuston@riverace.com>
+
+ * ace/String_Base.cpp (operator+=): Add a temporary for the return
+ value to quiet an IBM XL C++ 10 optimizer warning about returning
+ the address of a temporary. No, I'm not kidding.
+
Wed Jan 26 20:17:28 UTC 2011 Steve Huston <shuston@riverace.com>
* include/makeinclude/platform_aix_ibm.GNU: If XL C/C++ 10.1 is used,
diff --git a/ace/String_Base.cpp b/ace/String_Base.cpp
index b674c659859..4906c18daf3 100644
--- a/ace/String_Base.cpp
+++ b/ace/String_Base.cpp
@@ -655,7 +655,9 @@ ACE_String_Base<ACE_CHAR_T>::operator+= (const ACE_CHAR_T c)
{
ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::operator+=(const ACE_CHAR_T)");
const size_type slen = 1;
- return this->append (&c, slen);
+ // This temp is silly but it quiets an optimizer warning in IBM XL C++ 10.
+ ACE_String_Base<ACE_CHAR_T>& r = this->append (&c, slen);
+ return r;
}
ACE_END_VERSIONED_NAMESPACE_DECL