summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2011-06-06 16:28:43 +0200
committerBenoit Foucher <benoit@zeroc.com>2011-06-06 16:28:43 +0200
commitde9bad9575ea118b1e7616ab2ef81a0fb8b94f93 (patch)
tree92ee1b2ba66aeff53765e1ea9e0c3a38cb54d157
parent5129 - VS add-in getIceHome broken by new assembly location (diff)
downloadice-de9bad9575ea118b1e7616ab2ef81a0fb8b94f93.tar.bz2
ice-de9bad9575ea118b1e7616ab2ef81a0fb8b94f93.tar.xz
ice-de9bad9575ea118b1e7616ab2ef81a0fb8b94f93.zip
Workaround for GCC 4.4 strict aliasing warning
-rw-r--r--cpp/src/IceGrid/FreezeDB/FreezeDB.cpp5
-rw-r--r--cpp/src/IceStorm/FreezeDB/FreezeDB.cpp5
2 files changed, 8 insertions, 2 deletions
diff --git a/cpp/src/IceGrid/FreezeDB/FreezeDB.cpp b/cpp/src/IceGrid/FreezeDB/FreezeDB.cpp
index f6e01e9c826..b3c3da082af 100644
--- a/cpp/src/IceGrid/FreezeDB/FreezeDB.cpp
+++ b/cpp/src/IceGrid/FreezeDB/FreezeDB.cpp
@@ -102,7 +102,10 @@ ApplicationsWrapperPtr
FreezeDatabaseCache::getApplications(const IceDB::DatabaseConnectionPtr& connection)
{
FreezeDB::DatabaseConnection* c = dynamic_cast<FreezeDB::DatabaseConnection*>(connection.get());
- return new FreezeApplicationsWrapper(c->freezeConnection(), "applications");
+ // COMPILERFIX: GCC 4.4 w/ -O2 emits strict aliasing warnings
+ // without the follow temporary.
+ ApplicationsWrapper *w = new FreezeApplicationsWrapper(c->freezeConnection(), "applications");
+ return w;
}
AdaptersWrapperPtr
diff --git a/cpp/src/IceStorm/FreezeDB/FreezeDB.cpp b/cpp/src/IceStorm/FreezeDB/FreezeDB.cpp
index 7d3a45b8497..458dd64790d 100644
--- a/cpp/src/IceStorm/FreezeDB/FreezeDB.cpp
+++ b/cpp/src/IceStorm/FreezeDB/FreezeDB.cpp
@@ -135,7 +135,10 @@ SubscribersWrapperPtr
FreezeDatabaseCache::getSubscribers(const IceDB::DatabaseConnectionPtr& connection)
{
FreezeDB::DatabaseConnection* c = dynamic_cast<FreezeDB::DatabaseConnection*>(connection.get());
- return new FreezeSubscribersWrapper(c->freezeConnection(), "subscribers");
+ // COMPILERFIX: GCC 4.4 w/ -O2 emits strict aliasing warnings
+ // without the follow temporary.
+ SubscribersWrapper* w = new FreezeSubscribersWrapper(c->freezeConnection(), "subscribers");
+ return w;
}
FreezeDBPlugin::FreezeDBPlugin(const Ice::CommunicatorPtr& communicator) : _communicator(communicator)