diff options
Diffstat (limited to 'cpp/src/IceSSL/Util.cpp')
-rwxr-xr-x | cpp/src/IceSSL/Util.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/cpp/src/IceSSL/Util.cpp b/cpp/src/IceSSL/Util.cpp index b0216df5bc7..940c5e1449c 100755 --- a/cpp/src/IceSSL/Util.cpp +++ b/cpp/src/IceSSL/Util.cpp @@ -20,6 +20,12 @@ #include <fstream> +#ifdef __IBMCPP__ +// Work-around for xlC visibility bug +// See "ifstream::tellg visibility error" thread on IBM xlC forum +extern template class std::fpos<char*>; +#endif + using namespace std; using namespace Ice; using namespace IceInternal; @@ -118,12 +124,7 @@ IceSSL::readFile(const string& file, vector<char>& buffer) } is.seekg(0, is.end); -#ifdef __IBMCPP__ - // xlC bug. See src/Ice/LoggerI.cpp - buffer.resize(static_cast<size_t>(is.rdbuf()->pubseekoff(0, is.cur, is.in))); -#else buffer.resize(static_cast<size_t>(is.tellg())); -#endif is.seekg(0, is.beg); if(!buffer.empty()) |