zeroc-ice 3.7.2 → 3.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/ext/Config.h +4 -0
- data/ext/Operation.cpp +5 -5
- data/ext/Properties.cpp +1 -1
- data/ext/Proxy.cpp +16 -2
- data/ext/Types.cpp +45 -40
- data/ext/Util.cpp +1 -1
- data/ext/Util.h +10 -8
- data/ext/ice/cpp/include/Ice/Config.h +4 -0
- data/ext/ice/cpp/include/Ice/FactoryTableInit.h +1 -1
- data/ext/ice/cpp/include/Ice/IconvStringConverter.h +4 -3
- data/ext/ice/cpp/include/Ice/InputStream.h +4 -4
- data/ext/ice/cpp/include/Ice/Optional.h +11 -0
- data/ext/ice/cpp/include/Ice/OutgoingAsync.h +1 -1
- data/ext/ice/cpp/include/Ice/OutputStream.h +5 -5
- data/ext/ice/cpp/include/Ice/Proxy.h +17 -5
- data/ext/ice/cpp/include/Ice/StreamHelpers.h +1 -1
- data/ext/ice/cpp/include/Ice/Value.h +1 -1
- data/ext/ice/cpp/include/IceUtil/Atomic.h +1 -1
- data/ext/ice/cpp/include/IceUtil/Config.h +16 -6
- data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +4 -4
- data/ext/ice/cpp/include/IceUtil/Optional.h +8 -0
- data/ext/ice/cpp/include/IceUtil/OutputUtil.h +17 -14
- data/ext/ice/cpp/include/IceUtil/Random.h +1 -1
- data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +2 -2
- data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +6 -0
- data/ext/ice/cpp/include/IceUtil/StringConverter.h +1 -1
- data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Communicator.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Connection.h +33 -36
- data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Current.h +20 -21
- data/ext/ice/cpp/include/generated/Ice/Endpoint.h +24 -24
- data/ext/ice/cpp/include/generated/Ice/EndpointF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/FacetMap.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Identity.h +4 -5
- data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +15 -15
- data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/LocalException.h +27 -93
- data/ext/ice/cpp/include/generated/Ice/Locator.h +27 -32
- data/ext/ice/cpp/include/generated/Ice/LocatorF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Logger.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/LoggerF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Metrics.h +75 -79
- data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Plugin.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/PluginF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Process.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/ProcessF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Properties.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +9 -9
- data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +9 -11
- data/ext/ice/cpp/include/generated/Ice/Router.h +22 -22
- data/ext/ice/cpp/include/generated/Ice/RouterF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Version.h +15 -17
- data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +3 -3
- data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +3 -3
- data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +3 -3
- data/ext/ice/cpp/src/Ice/ArgVector.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Base64.cpp +11 -12
- data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +1 -1
- data/ext/ice/cpp/src/Ice/Buffer.cpp +2 -2
- data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Communicator.cpp +3 -3
- data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +19 -0
- data/ext/ice/cpp/src/Ice/CommunicatorI.h +5 -0
- data/ext/ice/cpp/src/Ice/Connection.cpp +3 -3
- data/ext/ice/cpp/src/Ice/ConnectionF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/ConnectionI.cpp +31 -16
- data/ext/ice/cpp/src/Ice/Current.cpp +3 -3
- data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +13 -0
- data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +6 -5
- data/ext/ice/cpp/src/Ice/Endpoint.cpp +3 -3
- data/ext/ice/cpp/src/Ice/EndpointF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Exception.cpp +5 -5
- data/ext/ice/cpp/src/Ice/FacetMap.cpp +3 -3
- data/ext/ice/cpp/src/Ice/HashUtil.h +1 -1
- data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +12 -1
- data/ext/ice/cpp/src/Ice/Identity.cpp +3 -3
- data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +3 -3
- data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Incoming.cpp +2 -0
- data/ext/ice/cpp/src/Ice/Initialize.cpp +4 -3
- data/ext/ice/cpp/src/Ice/InputStream.cpp +19 -19
- data/ext/ice/cpp/src/Ice/Instance.cpp +28 -8
- data/ext/ice/cpp/src/Ice/Instrumentation.cpp +3 -3
- data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/LocalException.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Locator.cpp +7 -7
- data/ext/ice/cpp/src/Ice/LocatorF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Logger.cpp +3 -3
- data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +1 -7
- data/ext/ice/cpp/src/Ice/LoggerF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/LoggerI.cpp +6 -0
- data/ext/ice/cpp/src/Ice/Metrics.cpp +5 -5
- data/ext/ice/cpp/src/Ice/Network.cpp +23 -22
- data/ext/ice/cpp/src/Ice/Network.h +1 -1
- data/ext/ice/cpp/src/Ice/OSLogLoggerI.cpp +57 -0
- data/ext/ice/cpp/src/Ice/OSLogLoggerI.h +40 -0
- data/ext/ice/cpp/src/Ice/Object.cpp +9 -7
- data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +3 -3
- data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +13 -1
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +4 -0
- data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +3 -3
- data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +1 -1
- data/ext/ice/cpp/src/Ice/OutputStream.cpp +24 -24
- data/ext/ice/cpp/src/Ice/Plugin.cpp +3 -3
- data/ext/ice/cpp/src/Ice/PluginF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Process.cpp +3 -3
- data/ext/ice/cpp/src/Ice/ProcessF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Properties.cpp +3 -3
- data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +4 -4
- data/ext/ice/cpp/src/Ice/PropertiesF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/PropertyNames.cpp +2 -1
- data/ext/ice/cpp/src/Ice/PropertyNames.h +1 -1
- data/ext/ice/cpp/src/Ice/Proxy.cpp +6 -0
- data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +1 -1
- data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +1 -1
- data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +3 -2
- data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Router.cpp +6 -6
- data/ext/ice/cpp/src/Ice/RouterF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/SHA1.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Selector.cpp +18 -13
- data/ext/ice/cpp/src/Ice/ServantLocator.cpp +3 -3
- data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +3 -3
- data/ext/ice/cpp/src/Ice/StreamSocket.cpp +6 -6
- data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +6 -0
- data/ext/ice/cpp/src/Ice/TcpConnector.cpp +5 -0
- data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +5 -0
- data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +5 -0
- data/ext/ice/cpp/src/Ice/ThreadPool.cpp +63 -0
- data/ext/ice/cpp/src/Ice/ThreadPool.h +10 -2
- data/ext/ice/cpp/src/Ice/Timer.cpp +10 -0
- data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +11 -1
- data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +10 -2
- data/ext/ice/cpp/src/Ice/ValueFactory.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Version.cpp +3 -3
- data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +16 -15
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +3 -3
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +3 -3
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +3 -3
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +3 -3
- data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +37 -8
- data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +3 -3
- data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +3 -3
- data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +3 -3
- data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +3 -3
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +4 -16
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -1
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +40 -3
- data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -7
- data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +0 -2
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +18 -6
- data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +19 -7
- data/ext/ice/cpp/src/IceSSL/SSLEngine.h +2 -0
- data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +32 -21
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +21 -6
- data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +19 -16
- data/ext/ice/cpp/src/IceSSL/Util.cpp +11 -5
- data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/Options.cpp +3 -3
- data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +40 -10
- data/ext/ice/cpp/src/IceUtil/Random.cpp +2 -2
- data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +5 -5
- data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +3 -3
- data/ext/ice/cpp/src/IceUtil/Time.cpp +3 -3
- data/ext/ice/cpp/src/IceUtil/UUID.cpp +5 -5
- data/ext/ice/cpp/src/IceUtil/UtilException.cpp +4 -4
- data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +13 -9
- data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +1 -1
- data/ext/ice/cpp/src/Slice/Grammar.cpp +8 -0
- data/ext/ice/cpp/src/Slice/JavaUtil.cpp +1 -2
- data/ext/ice/cpp/src/Slice/MD5I.cpp +8 -0
- data/ext/ice/cpp/src/Slice/Parser.cpp +60 -112
- data/ext/ice/cpp/src/Slice/Parser.h +27 -1
- data/ext/ice/cpp/src/Slice/Preprocessor.cpp +2 -1
- data/ext/ice/cpp/src/Slice/PythonUtil.cpp +10 -10
- data/ext/ice/cpp/src/Slice/RubyUtil.cpp +1 -1
- data/ext/ice/cpp/src/Slice/Scanner.cpp +8 -0
- data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +11 -6
- data/ext/ice/mcpp/Makefile +2 -5
- data/ice.gemspec +1 -1
- data/lib/Glacier2/Metrics.rb +1 -1
- data/lib/Glacier2/PermissionsVerifier.rb +1 -1
- data/lib/Glacier2/PermissionsVerifierF.rb +1 -1
- data/lib/Glacier2/Router.rb +1 -1
- data/lib/Glacier2/RouterF.rb +1 -1
- data/lib/Glacier2/SSLInfo.rb +1 -1
- data/lib/Glacier2/Session.rb +1 -1
- data/lib/Ice/BuiltinSequences.rb +1 -1
- data/lib/Ice/Communicator.rb +1 -1
- data/lib/Ice/CommunicatorF.rb +1 -1
- data/lib/Ice/Connection.rb +1 -1
- data/lib/Ice/ConnectionF.rb +1 -1
- data/lib/Ice/Current.rb +1 -1
- data/lib/Ice/Endpoint.rb +1 -1
- data/lib/Ice/EndpointF.rb +1 -1
- data/lib/Ice/EndpointTypes.rb +1 -1
- data/lib/Ice/FacetMap.rb +1 -1
- data/lib/Ice/Identity.rb +1 -1
- data/lib/Ice/ImplicitContext.rb +1 -1
- data/lib/Ice/ImplicitContextF.rb +1 -1
- data/lib/Ice/Instrumentation.rb +1 -1
- data/lib/Ice/InstrumentationF.rb +1 -1
- data/lib/Ice/LocalException.rb +1 -1
- data/lib/Ice/Locator.rb +1 -1
- data/lib/Ice/LocatorF.rb +1 -1
- data/lib/Ice/Logger.rb +1 -1
- data/lib/Ice/LoggerF.rb +1 -1
- data/lib/Ice/Metrics.rb +1 -1
- data/lib/Ice/ObjectAdapter.rb +1 -1
- data/lib/Ice/ObjectAdapterF.rb +1 -1
- data/lib/Ice/ObjectFactory.rb +1 -1
- data/lib/Ice/Plugin.rb +1 -1
- data/lib/Ice/PluginF.rb +1 -1
- data/lib/Ice/Process.rb +1 -1
- data/lib/Ice/ProcessF.rb +1 -1
- data/lib/Ice/Properties.rb +1 -1
- data/lib/Ice/PropertiesAdmin.rb +1 -1
- data/lib/Ice/PropertiesF.rb +1 -1
- data/lib/Ice/RemoteLogger.rb +1 -1
- data/lib/Ice/Router.rb +1 -1
- data/lib/Ice/RouterF.rb +1 -1
- data/lib/Ice/ServantLocator.rb +1 -1
- data/lib/Ice/ServantLocatorF.rb +1 -1
- data/lib/Ice/SliceChecksumDict.rb +1 -1
- data/lib/Ice/ValueFactory.rb +1 -1
- data/lib/Ice/Version.rb +1 -1
- data/lib/IceBox/IceBox.rb +1 -1
- data/lib/IceGrid/Admin.rb +1 -1
- data/lib/IceGrid/Descriptor.rb +1 -1
- data/lib/IceGrid/Exception.rb +1 -1
- data/lib/IceGrid/FileParser.rb +1 -1
- data/lib/IceGrid/PluginFacade.rb +1 -1
- data/lib/IceGrid/Registry.rb +1 -1
- data/lib/IceGrid/Session.rb +1 -1
- data/lib/IceGrid/UserAccountMapper.rb +1 -1
- data/lib/IcePatch2/FileInfo.rb +1 -1
- data/lib/IcePatch2/FileServer.rb +1 -1
- data/lib/IceStorm/IceStorm.rb +1 -1
- data/lib/IceStorm/Metrics.rb +1 -1
- data/slice/Glacier2/Metrics.ice +1 -1
- data/slice/Ice/Communicator.ice +57 -25
- data/slice/Ice/Connection.ice +14 -14
- data/slice/Ice/Current.ice +1 -1
- data/slice/Ice/Endpoint.ice +6 -6
- data/slice/Ice/EndpointF.ice +1 -1
- data/slice/Ice/FacetMap.ice +1 -1
- data/slice/Ice/ImplicitContext.ice +6 -6
- data/slice/Ice/Instrumentation.ice +6 -6
- data/slice/Ice/Logger.ice +6 -6
- data/slice/Ice/Metrics.ice +12 -9
- data/slice/Ice/ObjectAdapter.ice +43 -31
- data/slice/Ice/ObjectFactory.ice +1 -1
- data/slice/Ice/Plugin.ice +2 -2
- data/slice/Ice/Properties.ice +10 -10
- data/slice/Ice/ServantLocator.ice +4 -2
- data/slice/Ice/ValueFactory.ice +3 -3
- data/slice/IceBT/EndpointInfo.ice +1 -1
- data/slice/IceGrid/PluginFacade.ice +4 -4
- data/slice/IceIAP/ConnectionInfo.ice +1 -1
- data/slice/IceIAP/EndpointInfo.ice +1 -1
- data/slice/IceSSL/ConnectionInfo.ice +3 -2
- data/slice/IceSSL/ConnectionInfoF.ice +1 -1
- data/slice/IceSSL/EndpointInfo.ice +1 -1
- data/slice/IceStorm/Metrics.ice +1 -1
- metadata +5 -3
|
@@ -144,7 +144,7 @@ IceUtil::Time::now(Clock clock)
|
|
|
144
144
|
}
|
|
145
145
|
return Time(tv.tv_sec * ICE_INT64(1000000) + tv.tv_usec);
|
|
146
146
|
#elif defined(__APPLE__)
|
|
147
|
-
|
|
147
|
+
return Time(static_cast<IceUtil::Int64>(mach_absolute_time() * machMultiplier));
|
|
148
148
|
#else
|
|
149
149
|
struct timespec ts;
|
|
150
150
|
if(clock_gettime(CLOCK_MONOTONIC, &ts) < 0)
|
|
@@ -197,8 +197,8 @@ IceUtil::Time::microSecondsDouble(double t)
|
|
|
197
197
|
IceUtil::Time::operator timeval() const
|
|
198
198
|
{
|
|
199
199
|
timeval tv;
|
|
200
|
-
tv.tv_sec = static_cast<
|
|
201
|
-
tv.tv_usec = static_cast<
|
|
200
|
+
tv.tv_sec = static_cast<time_t>(_usec / 1000000);
|
|
201
|
+
tv.tv_usec = static_cast<suseconds_t>(_usec % 1000000);
|
|
202
202
|
return tv;
|
|
203
203
|
}
|
|
204
204
|
#endif
|
|
@@ -47,7 +47,7 @@ public:
|
|
|
47
47
|
int p = GetCurrentProcessId();
|
|
48
48
|
#endif
|
|
49
49
|
myPid[0] = (p >> 8) & 0x7F;
|
|
50
|
-
myPid[1] = p & 0xFF;
|
|
50
|
+
myPid[1] = static_cast<char>(p & 0xFF);
|
|
51
51
|
}
|
|
52
52
|
};
|
|
53
53
|
|
|
@@ -65,11 +65,11 @@ inline void halfByteToHex(unsigned char hb, char*& hexBuffer)
|
|
|
65
65
|
{
|
|
66
66
|
if(hb < 10)
|
|
67
67
|
{
|
|
68
|
-
*hexBuffer++ = '0' + hb;
|
|
68
|
+
*hexBuffer++ = '0' + static_cast<char>(hb);
|
|
69
69
|
}
|
|
70
70
|
else
|
|
71
71
|
{
|
|
72
|
-
*hexBuffer++ = 'A' + (hb - 10);
|
|
72
|
+
*hexBuffer++ = 'A' + static_cast<char>(hb - 10);
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
|
|
@@ -143,8 +143,8 @@ IceUtil::generateUUID()
|
|
|
143
143
|
//
|
|
144
144
|
// Replace the end of the node by myPid (15 bits)
|
|
145
145
|
//
|
|
146
|
-
uuid.node[4] = (uuid.node[4] & 0x80) | myPid[0];
|
|
147
|
-
uuid.node[5] = myPid[1];
|
|
146
|
+
uuid.node[4] = (uuid.node[4] & 0x80) | static_cast<unsigned char>(myPid[0]);
|
|
147
|
+
uuid.node[5] = static_cast<unsigned char>(myPid[1]);
|
|
148
148
|
|
|
149
149
|
//
|
|
150
150
|
// Convert to a UUID string
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
# endif
|
|
44
44
|
# endif
|
|
45
45
|
|
|
46
|
-
# if !defined(__sun) && !defined(__FreeBSD__) && !defined(__MINGW32__) && !defined(ICE_STATIC_LIBS)
|
|
46
|
+
# if !defined(_AIX) && !defined(__sun) && !defined(__FreeBSD__) && !defined(__MINGW32__) && !defined(ICE_STATIC_LIBS)
|
|
47
47
|
# include <execinfo.h>
|
|
48
48
|
# include <cxxabi.h>
|
|
49
49
|
# include <stdint.h>
|
|
@@ -350,8 +350,8 @@ getStackFrames()
|
|
|
350
350
|
#elif defined(ICE_BACKTRACE)
|
|
351
351
|
|
|
352
352
|
stackFrames.resize(100);
|
|
353
|
-
|
|
354
|
-
stackFrames.resize(stackDepth);
|
|
353
|
+
int stackDepth = backtrace(&stackFrames.front(), static_cast<int>(stackFrames.size()));
|
|
354
|
+
stackFrames.resize(static_cast<size_t>(stackDepth));
|
|
355
355
|
if(!stackFrames.empty())
|
|
356
356
|
{
|
|
357
357
|
stackFrames.erase(stackFrames.begin()); // drop the first frame
|
|
@@ -468,7 +468,7 @@ getStackTrace(const vector<void*>& stackFrames)
|
|
|
468
468
|
// Initialize backtraceStrings immediately
|
|
469
469
|
if(p != stackFrames.end())
|
|
470
470
|
{
|
|
471
|
-
backtraceStrings = backtrace_symbols(&*p, stackFrames.size());
|
|
471
|
+
backtraceStrings = backtrace_symbols(&*p, static_cast<int>(stackFrames.size()));
|
|
472
472
|
}
|
|
473
473
|
# endif
|
|
474
474
|
|
|
@@ -527,7 +527,7 @@ Slice::printVersionCheck(Output& out)
|
|
|
527
527
|
out << "\n";
|
|
528
528
|
out << "\n#ifndef ICE_IGNORE_VERSION";
|
|
529
529
|
int iceVersion = ICE_INT_VERSION; // Use this to prevent warning with C++Builder
|
|
530
|
-
if(iceVersion % 100
|
|
530
|
+
if(iceVersion % 100 >= 50)
|
|
531
531
|
{
|
|
532
532
|
//
|
|
533
533
|
// Beta version: exact match required
|
|
@@ -545,7 +545,7 @@ Slice::printVersionCheck(Output& out)
|
|
|
545
545
|
//
|
|
546
546
|
// Generated code is release; reject beta header
|
|
547
547
|
//
|
|
548
|
-
out << "\n# if ICE_INT_VERSION % 100
|
|
548
|
+
out << "\n# if ICE_INT_VERSION % 100 >= 50";
|
|
549
549
|
out << "\n# error Beta header file detected";
|
|
550
550
|
out << "\n# endif";
|
|
551
551
|
|
|
@@ -752,13 +752,13 @@ Slice::typeToString(const TypePtr& type, const string& scope, const StringList&
|
|
|
752
752
|
// Non local classes without operations map to the base
|
|
753
753
|
// proxy class shared_ptr<Ice::ObjectPrx>
|
|
754
754
|
//
|
|
755
|
-
if(
|
|
755
|
+
if(!def || def->isAbstract())
|
|
756
756
|
{
|
|
757
|
-
return getUnqualified(
|
|
757
|
+
return "::std::shared_ptr<" + getUnqualified(fixKwd(proxy->_class()->scoped() + "Prx"), scope) + ">";
|
|
758
758
|
}
|
|
759
759
|
else
|
|
760
760
|
{
|
|
761
|
-
return
|
|
761
|
+
return getUnqualified(cpp11BuiltinTable[Builtin::KindObjectProxy], scope);
|
|
762
762
|
}
|
|
763
763
|
}
|
|
764
764
|
else
|
|
@@ -1496,7 +1496,7 @@ Slice::writeStreamHelpers(Output& out,
|
|
|
1496
1496
|
bool cpp11)
|
|
1497
1497
|
{
|
|
1498
1498
|
// If c is a C++11 class/exception whose base class contains data members (recursively), then we need to generate
|
|
1499
|
-
//
|
|
1499
|
+
// a StreamWriter even if its implementation is empty. This is because our default marshaling uses ice_tuple() which
|
|
1500
1500
|
// contains all of our class/exception's data members as well the base data members, which breaks marshaling. This
|
|
1501
1501
|
// is not an issue for structs.
|
|
1502
1502
|
if(dataMembers.empty() && !(cpp11 && hasBaseDataMembers))
|
|
@@ -1580,7 +1580,7 @@ Slice::writeStreamHelpers(Output& out,
|
|
|
1580
1580
|
}
|
|
1581
1581
|
|
|
1582
1582
|
//
|
|
1583
|
-
// Generate
|
|
1583
|
+
// Generate StreamReader
|
|
1584
1584
|
//
|
|
1585
1585
|
out << nl << "template<typename S>";
|
|
1586
1586
|
out << nl << "struct StreamReader" << (cpp11 ? "<" : "< ") << fullName << ", S>";
|
|
@@ -1619,9 +1619,13 @@ Slice::writeStreamHelpers(Output& out,
|
|
|
1619
1619
|
}
|
|
1620
1620
|
|
|
1621
1621
|
void
|
|
1622
|
-
Slice::writeIceTuple(::IceUtilInternal::Output& out,
|
|
1622
|
+
Slice::writeIceTuple(::IceUtilInternal::Output& out, DataMemberList dataMembers, int typeCtx)
|
|
1623
1623
|
{
|
|
1624
|
-
|
|
1624
|
+
//
|
|
1625
|
+
// Use an empty scope to get full qualified names from calls to typeToString.
|
|
1626
|
+
//
|
|
1627
|
+
const string scope = "";
|
|
1628
|
+
out << nl << "std::tuple<";
|
|
1625
1629
|
for(DataMemberList::const_iterator q = dataMembers.begin(); q != dataMembers.end(); ++q)
|
|
1626
1630
|
{
|
|
1627
1631
|
if(q != dataMembers.begin())
|
|
@@ -59,7 +59,7 @@ void writeEndCode(::IceUtilInternal::Output&, const ParamDeclList&, const Operat
|
|
|
59
59
|
void writeMarshalUnmarshalDataMemberInHolder(IceUtilInternal::Output&, const std::string&, const DataMemberPtr&, bool);
|
|
60
60
|
void writeMarshalUnmarshalAllInHolder(IceUtilInternal::Output&, const std::string&, const DataMemberList&, bool, bool);
|
|
61
61
|
void writeStreamHelpers(::IceUtilInternal::Output&, const ContainedPtr&, DataMemberList, bool, bool, bool);
|
|
62
|
-
void writeIceTuple(::IceUtilInternal::Output&,
|
|
62
|
+
void writeIceTuple(::IceUtilInternal::Output&, DataMemberList, int);
|
|
63
63
|
|
|
64
64
|
bool findMetaData(const std::string&, const ClassDeclPtr&, std::string&);
|
|
65
65
|
bool findMetaData(const std::string&, const StringList&, std::string&);
|
|
@@ -98,6 +98,14 @@
|
|
|
98
98
|
# pragma GCC diagnostic ignored "-Wold-style-cast"
|
|
99
99
|
#endif
|
|
100
100
|
|
|
101
|
+
//
|
|
102
|
+
// Avoid clang conversion warnings
|
|
103
|
+
//
|
|
104
|
+
#if defined(__clang__)
|
|
105
|
+
# pragma clang diagnostic ignored "-Wconversion"
|
|
106
|
+
# pragma clang diagnostic ignored "-Wsign-conversion"
|
|
107
|
+
#endif
|
|
108
|
+
|
|
101
109
|
using namespace std;
|
|
102
110
|
using namespace Slice;
|
|
103
111
|
|
|
@@ -3764,8 +3764,7 @@ Slice::JavaGenerator::typeToString(const TypePtr& type,
|
|
|
3764
3764
|
if(proxy)
|
|
3765
3765
|
{
|
|
3766
3766
|
ClassDefPtr def = proxy->_class()->definition();
|
|
3767
|
-
|
|
3768
|
-
if(def->isAbstract())
|
|
3767
|
+
if(!def || def->isAbstract())
|
|
3769
3768
|
{
|
|
3770
3769
|
return getUnqualified(proxy->_class(), package, "", "Prx");
|
|
3771
3770
|
}
|
|
@@ -58,6 +58,14 @@
|
|
|
58
58
|
# pragma GCC diagnostic ignored "-Wold-style-cast"
|
|
59
59
|
#endif
|
|
60
60
|
|
|
61
|
+
//
|
|
62
|
+
// Avoid clang conversion warnings
|
|
63
|
+
//
|
|
64
|
+
#if defined(__clang__)
|
|
65
|
+
# pragma clang diagnostic ignored "-Wconversion"
|
|
66
|
+
# pragma clang diagnostic ignored "-Wsign-conversion"
|
|
67
|
+
#endif
|
|
68
|
+
|
|
61
69
|
#undef BYTE_ORDER /* 1 = big-endian, -1 = little-endian, 0 = unknown */
|
|
62
70
|
#ifdef ARCH_IS_BIG_ENDIAN
|
|
63
71
|
# define BYTE_ORDER (ARCH_IS_BIG_ENDIAN ? 1 : -1)
|
|
@@ -19,6 +19,51 @@
|
|
|
19
19
|
using namespace std;
|
|
20
20
|
using namespace Slice;
|
|
21
21
|
|
|
22
|
+
Slice::CompilerException::CompilerException(const char* file, int line, const string& r) :
|
|
23
|
+
IceUtil::Exception(file, line),
|
|
24
|
+
_reason(r)
|
|
25
|
+
{
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
#ifndef ICE_CPP11_COMPILER
|
|
29
|
+
Slice::CompilerException::~CompilerException() throw()
|
|
30
|
+
{
|
|
31
|
+
}
|
|
32
|
+
#endif
|
|
33
|
+
|
|
34
|
+
string
|
|
35
|
+
Slice::CompilerException::ice_id() const
|
|
36
|
+
{
|
|
37
|
+
return "::Slice::CompilerException";
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
void
|
|
41
|
+
Slice::CompilerException::ice_print(ostream& out) const
|
|
42
|
+
{
|
|
43
|
+
IceUtil::Exception::ice_print(out);
|
|
44
|
+
out << ": " << _reason;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
#ifndef ICE_CPP11_MAPPING
|
|
48
|
+
Slice::CompilerException*
|
|
49
|
+
Slice::CompilerException::ice_clone() const
|
|
50
|
+
{
|
|
51
|
+
return new CompilerException(*this);
|
|
52
|
+
}
|
|
53
|
+
#endif
|
|
54
|
+
|
|
55
|
+
void
|
|
56
|
+
Slice::CompilerException::ice_throw() const
|
|
57
|
+
{
|
|
58
|
+
throw *this;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
string
|
|
62
|
+
Slice::CompilerException::reason() const
|
|
63
|
+
{
|
|
64
|
+
return _reason;
|
|
65
|
+
}
|
|
66
|
+
|
|
22
67
|
extern FILE* slice_in;
|
|
23
68
|
extern int slice_debug;
|
|
24
69
|
|
|
@@ -227,6 +272,20 @@ Slice::DefinitionContext::warning(WarningCategory category, const string& file,
|
|
|
227
272
|
}
|
|
228
273
|
}
|
|
229
274
|
|
|
275
|
+
void
|
|
276
|
+
Slice::DefinitionContext::error(const string& file, int line, const string& msg) const
|
|
277
|
+
{
|
|
278
|
+
emitError(file, line, msg);
|
|
279
|
+
throw CompilerException(__FILE__, __LINE__, msg);
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
void
|
|
283
|
+
Slice::DefinitionContext::error(const string& file, const string& line, const string& msg) const
|
|
284
|
+
{
|
|
285
|
+
emitError(file, line, msg);
|
|
286
|
+
throw CompilerException(__FILE__, __LINE__, msg);
|
|
287
|
+
}
|
|
288
|
+
|
|
230
289
|
bool
|
|
231
290
|
Slice::DefinitionContext::suppressWarning(WarningCategory category) const
|
|
232
291
|
{
|
|
@@ -4298,6 +4357,7 @@ Slice::ClassDef::isDelegate() const
|
|
|
4298
4357
|
{
|
|
4299
4358
|
return isLocal() && isInterface() && hasMetaData("delegate") && allOperations().size() == 1;
|
|
4300
4359
|
}
|
|
4360
|
+
|
|
4301
4361
|
Slice::ClassDef::ClassDef(const ContainerPtr& container, const string& name, int id, bool intf, const ClassList& bases,
|
|
4302
4362
|
bool local) :
|
|
4303
4363
|
SyntaxTreeBase(container->unit()),
|
|
@@ -6835,11 +6895,6 @@ Slice::Unit::parse(const string& filename, FILE* file, bool debug)
|
|
|
6835
6895
|
popContainer();
|
|
6836
6896
|
assert(_definitionContextStack.size() == 1);
|
|
6837
6897
|
popDefinitionContext();
|
|
6838
|
-
|
|
6839
|
-
if(!checkUndefinedTypes())
|
|
6840
|
-
{
|
|
6841
|
-
status = EXIT_FAILURE;
|
|
6842
|
-
}
|
|
6843
6898
|
}
|
|
6844
6899
|
|
|
6845
6900
|
Slice::unit = 0;
|
|
@@ -6938,113 +6993,6 @@ Slice::Unit::eraseWhiteSpace(string& s)
|
|
|
6938
6993
|
}
|
|
6939
6994
|
}
|
|
6940
6995
|
|
|
6941
|
-
bool
|
|
6942
|
-
Slice::Unit::checkUndefinedTypes()
|
|
6943
|
-
{
|
|
6944
|
-
class Visitor : public ParserVisitor
|
|
6945
|
-
{
|
|
6946
|
-
public:
|
|
6947
|
-
|
|
6948
|
-
Visitor(int& errors) :
|
|
6949
|
-
_errors(errors),
|
|
6950
|
-
_local(false)
|
|
6951
|
-
{
|
|
6952
|
-
}
|
|
6953
|
-
|
|
6954
|
-
virtual bool visitClassDefStart(const ClassDefPtr& p)
|
|
6955
|
-
{
|
|
6956
|
-
_local = p->isLocal();
|
|
6957
|
-
return true;
|
|
6958
|
-
}
|
|
6959
|
-
|
|
6960
|
-
virtual bool visitExceptionStart(const ExceptionPtr& p)
|
|
6961
|
-
{
|
|
6962
|
-
_local = p->isLocal();
|
|
6963
|
-
return true;
|
|
6964
|
-
}
|
|
6965
|
-
|
|
6966
|
-
virtual bool visitStructStart(const StructPtr& p)
|
|
6967
|
-
{
|
|
6968
|
-
_local = p->isLocal();
|
|
6969
|
-
return true;
|
|
6970
|
-
}
|
|
6971
|
-
|
|
6972
|
-
virtual void visitOperation(const OperationPtr& p)
|
|
6973
|
-
{
|
|
6974
|
-
if(p->returnType())
|
|
6975
|
-
{
|
|
6976
|
-
checkUndefined(p->returnType(), "return type", p->file(), p->line());
|
|
6977
|
-
}
|
|
6978
|
-
ParamDeclList params = p->parameters();
|
|
6979
|
-
for(ParamDeclList::const_iterator q = params.begin(); q != params.end(); ++q)
|
|
6980
|
-
{
|
|
6981
|
-
checkUndefined((*q)->type(), "parameter " + (*q)->name(), (*q)->file(), (*q)->line());
|
|
6982
|
-
}
|
|
6983
|
-
}
|
|
6984
|
-
|
|
6985
|
-
virtual void visitParamDecl(const ParamDeclPtr& p)
|
|
6986
|
-
{
|
|
6987
|
-
checkUndefined(p->type(), "parameter " + p->name(), p->file(), p->line());
|
|
6988
|
-
}
|
|
6989
|
-
|
|
6990
|
-
virtual void visitDataMember(const DataMemberPtr& p)
|
|
6991
|
-
{
|
|
6992
|
-
checkUndefined(p->type(), "member " + p->name(), p->file(), p->line());
|
|
6993
|
-
}
|
|
6994
|
-
|
|
6995
|
-
virtual void visitSequence(const SequencePtr& p)
|
|
6996
|
-
{
|
|
6997
|
-
_local = p->isLocal();
|
|
6998
|
-
checkUndefined(p->type(), "element type", p->file(), p->line());
|
|
6999
|
-
}
|
|
7000
|
-
|
|
7001
|
-
virtual void visitDictionary(const DictionaryPtr& p)
|
|
7002
|
-
{
|
|
7003
|
-
_local = p->isLocal();
|
|
7004
|
-
checkUndefined(p->keyType(), "key type", p->file(), p->line());
|
|
7005
|
-
checkUndefined(p->valueType(), "value type", p->file(), p->line());
|
|
7006
|
-
}
|
|
7007
|
-
|
|
7008
|
-
private:
|
|
7009
|
-
|
|
7010
|
-
void checkUndefined(const TypePtr& type, const string& desc, const string& file, const string& line)
|
|
7011
|
-
{
|
|
7012
|
-
//
|
|
7013
|
-
// See ICE-6867. Any use of a proxy requires the full type definition, as does any
|
|
7014
|
-
// use of a class in a non-local context.
|
|
7015
|
-
//
|
|
7016
|
-
ProxyPtr p = ProxyPtr::dynamicCast(type);
|
|
7017
|
-
if(p)
|
|
7018
|
-
{
|
|
7019
|
-
const ClassDeclPtr cl = p->_class();
|
|
7020
|
-
if(!cl->definition())
|
|
7021
|
-
{
|
|
7022
|
-
ostringstream ostr;
|
|
7023
|
-
ostr << desc << " uses a proxy for undefined type `" << cl->scoped() << "'";
|
|
7024
|
-
emitError(file, line, ostr.str());
|
|
7025
|
-
_errors++;
|
|
7026
|
-
}
|
|
7027
|
-
}
|
|
7028
|
-
|
|
7029
|
-
ClassDeclPtr cl = ClassDeclPtr::dynamicCast(type);
|
|
7030
|
-
if(cl && !cl->definition() && !_local)
|
|
7031
|
-
{
|
|
7032
|
-
ostringstream ostr;
|
|
7033
|
-
ostr << desc << " refers to undefined type `" << cl->scoped() << "'";
|
|
7034
|
-
emitError(file, line, ostr.str());
|
|
7035
|
-
_errors++;
|
|
7036
|
-
}
|
|
7037
|
-
}
|
|
7038
|
-
|
|
7039
|
-
int& _errors;
|
|
7040
|
-
bool _local;
|
|
7041
|
-
};
|
|
7042
|
-
|
|
7043
|
-
Visitor v(_errors);
|
|
7044
|
-
visit(&v, true);
|
|
7045
|
-
return _errors == 0;
|
|
7046
|
-
}
|
|
7047
|
-
|
|
7048
6996
|
// ----------------------------------------------------------------------
|
|
7049
6997
|
// CICompare
|
|
7050
6998
|
// ----------------------------------------------------------------------
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
#include <IceUtil/Shared.h>
|
|
9
9
|
#include <IceUtil/Handle.h>
|
|
10
|
+
#include <IceUtil/Exception.h>
|
|
10
11
|
#include <string>
|
|
11
12
|
#include <vector>
|
|
12
13
|
#include <list>
|
|
@@ -18,6 +19,29 @@
|
|
|
18
19
|
namespace Slice
|
|
19
20
|
{
|
|
20
21
|
|
|
22
|
+
class CompilerException : public ::IceUtil::Exception
|
|
23
|
+
{
|
|
24
|
+
public:
|
|
25
|
+
|
|
26
|
+
CompilerException(const char*, int, const std::string&);
|
|
27
|
+
#ifndef ICE_CPP11_COMPILER
|
|
28
|
+
~CompilerException() throw();
|
|
29
|
+
#endif
|
|
30
|
+
virtual std::string ice_id() const;
|
|
31
|
+
virtual void ice_print(std::ostream&) const;
|
|
32
|
+
#ifndef ICE_CPP11_MAPPING
|
|
33
|
+
virtual CompilerException* ice_clone() const;
|
|
34
|
+
#endif
|
|
35
|
+
virtual void ice_throw() const;
|
|
36
|
+
|
|
37
|
+
std::string reason() const;
|
|
38
|
+
|
|
39
|
+
private:
|
|
40
|
+
|
|
41
|
+
static const char* _name;
|
|
42
|
+
const std::string _reason;
|
|
43
|
+
};
|
|
44
|
+
|
|
21
45
|
#if defined(_WIN32) && !defined(__MINGW32__)
|
|
22
46
|
|
|
23
47
|
const IceUtil::Int64 Int32Max = 0x7fffffffi64;
|
|
@@ -241,6 +265,9 @@ public:
|
|
|
241
265
|
void warning(WarningCategory, const std::string&, int, const std::string&) const;
|
|
242
266
|
void warning(WarningCategory, const std::string&, const std::string&, const std::string&) const;
|
|
243
267
|
|
|
268
|
+
void error(const std::string&, int, const std::string&) const;
|
|
269
|
+
void error(const std::string&, const std::string&, const std::string&) const;
|
|
270
|
+
|
|
244
271
|
private:
|
|
245
272
|
|
|
246
273
|
bool suppressWarning(WarningCategory) const;
|
|
@@ -1118,7 +1145,6 @@ private:
|
|
|
1118
1145
|
|
|
1119
1146
|
Unit(bool, bool, bool, bool, const StringList&);
|
|
1120
1147
|
static void eraseWhiteSpace(::std::string&);
|
|
1121
|
-
bool checkUndefinedTypes();
|
|
1122
1148
|
|
|
1123
1149
|
bool _ignRedefs;
|
|
1124
1150
|
bool _all;
|