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.
Files changed (283) hide show
  1. checksums.yaml +5 -5
  2. data/ext/Config.h +4 -0
  3. data/ext/Operation.cpp +5 -5
  4. data/ext/Properties.cpp +1 -1
  5. data/ext/Proxy.cpp +16 -2
  6. data/ext/Types.cpp +45 -40
  7. data/ext/Util.cpp +1 -1
  8. data/ext/Util.h +10 -8
  9. data/ext/ice/cpp/include/Ice/Config.h +4 -0
  10. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +1 -1
  11. data/ext/ice/cpp/include/Ice/IconvStringConverter.h +4 -3
  12. data/ext/ice/cpp/include/Ice/InputStream.h +4 -4
  13. data/ext/ice/cpp/include/Ice/Optional.h +11 -0
  14. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +1 -1
  15. data/ext/ice/cpp/include/Ice/OutputStream.h +5 -5
  16. data/ext/ice/cpp/include/Ice/Proxy.h +17 -5
  17. data/ext/ice/cpp/include/Ice/StreamHelpers.h +1 -1
  18. data/ext/ice/cpp/include/Ice/Value.h +1 -1
  19. data/ext/ice/cpp/include/IceUtil/Atomic.h +1 -1
  20. data/ext/ice/cpp/include/IceUtil/Config.h +16 -6
  21. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +4 -4
  22. data/ext/ice/cpp/include/IceUtil/Optional.h +8 -0
  23. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +17 -14
  24. data/ext/ice/cpp/include/IceUtil/Random.h +1 -1
  25. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +2 -2
  26. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +6 -0
  27. data/ext/ice/cpp/include/IceUtil/StringConverter.h +1 -1
  28. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +3 -3
  29. data/ext/ice/cpp/include/generated/Ice/Communicator.h +3 -3
  30. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +3 -3
  31. data/ext/ice/cpp/include/generated/Ice/Connection.h +33 -36
  32. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +3 -3
  33. data/ext/ice/cpp/include/generated/Ice/Current.h +20 -21
  34. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +24 -24
  35. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +3 -3
  36. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +3 -3
  37. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +3 -3
  38. data/ext/ice/cpp/include/generated/Ice/Identity.h +4 -5
  39. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +3 -3
  40. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +3 -3
  41. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +15 -15
  42. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +3 -3
  43. data/ext/ice/cpp/include/generated/Ice/LocalException.h +27 -93
  44. data/ext/ice/cpp/include/generated/Ice/Locator.h +27 -32
  45. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +3 -3
  46. data/ext/ice/cpp/include/generated/Ice/Logger.h +3 -3
  47. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +3 -3
  48. data/ext/ice/cpp/include/generated/Ice/Metrics.h +75 -79
  49. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +3 -3
  50. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +3 -3
  51. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +3 -3
  52. data/ext/ice/cpp/include/generated/Ice/Plugin.h +3 -3
  53. data/ext/ice/cpp/include/generated/Ice/PluginF.h +3 -3
  54. data/ext/ice/cpp/include/generated/Ice/Process.h +3 -3
  55. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +3 -3
  56. data/ext/ice/cpp/include/generated/Ice/Properties.h +3 -3
  57. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +9 -9
  58. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +3 -3
  59. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +9 -11
  60. data/ext/ice/cpp/include/generated/Ice/Router.h +22 -22
  61. data/ext/ice/cpp/include/generated/Ice/RouterF.h +3 -3
  62. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +3 -3
  63. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +3 -3
  64. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +3 -3
  65. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +3 -3
  66. data/ext/ice/cpp/include/generated/Ice/Version.h +15 -17
  67. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +3 -3
  68. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +3 -3
  69. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +3 -3
  70. data/ext/ice/cpp/src/Ice/ArgVector.cpp +3 -3
  71. data/ext/ice/cpp/src/Ice/Base64.cpp +11 -12
  72. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +1 -1
  73. data/ext/ice/cpp/src/Ice/Buffer.cpp +2 -2
  74. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +3 -3
  75. data/ext/ice/cpp/src/Ice/Communicator.cpp +3 -3
  76. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +3 -3
  77. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +19 -0
  78. data/ext/ice/cpp/src/Ice/CommunicatorI.h +5 -0
  79. data/ext/ice/cpp/src/Ice/Connection.cpp +3 -3
  80. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +3 -3
  81. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +31 -16
  82. data/ext/ice/cpp/src/Ice/Current.cpp +3 -3
  83. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +13 -0
  84. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +6 -5
  85. data/ext/ice/cpp/src/Ice/Endpoint.cpp +3 -3
  86. data/ext/ice/cpp/src/Ice/EndpointF.cpp +3 -3
  87. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +3 -3
  88. data/ext/ice/cpp/src/Ice/Exception.cpp +5 -5
  89. data/ext/ice/cpp/src/Ice/FacetMap.cpp +3 -3
  90. data/ext/ice/cpp/src/Ice/HashUtil.h +1 -1
  91. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +12 -1
  92. data/ext/ice/cpp/src/Ice/Identity.cpp +3 -3
  93. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +3 -3
  94. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +3 -3
  95. data/ext/ice/cpp/src/Ice/Incoming.cpp +2 -0
  96. data/ext/ice/cpp/src/Ice/Initialize.cpp +4 -3
  97. data/ext/ice/cpp/src/Ice/InputStream.cpp +19 -19
  98. data/ext/ice/cpp/src/Ice/Instance.cpp +28 -8
  99. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +3 -3
  100. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +3 -3
  101. data/ext/ice/cpp/src/Ice/LocalException.cpp +3 -3
  102. data/ext/ice/cpp/src/Ice/Locator.cpp +7 -7
  103. data/ext/ice/cpp/src/Ice/LocatorF.cpp +3 -3
  104. data/ext/ice/cpp/src/Ice/Logger.cpp +3 -3
  105. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +1 -7
  106. data/ext/ice/cpp/src/Ice/LoggerF.cpp +3 -3
  107. data/ext/ice/cpp/src/Ice/LoggerI.cpp +6 -0
  108. data/ext/ice/cpp/src/Ice/Metrics.cpp +5 -5
  109. data/ext/ice/cpp/src/Ice/Network.cpp +23 -22
  110. data/ext/ice/cpp/src/Ice/Network.h +1 -1
  111. data/ext/ice/cpp/src/Ice/OSLogLoggerI.cpp +57 -0
  112. data/ext/ice/cpp/src/Ice/OSLogLoggerI.h +40 -0
  113. data/ext/ice/cpp/src/Ice/Object.cpp +9 -7
  114. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +3 -3
  115. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +3 -3
  116. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +13 -1
  117. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +4 -0
  118. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +3 -3
  119. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +1 -1
  120. data/ext/ice/cpp/src/Ice/OutputStream.cpp +24 -24
  121. data/ext/ice/cpp/src/Ice/Plugin.cpp +3 -3
  122. data/ext/ice/cpp/src/Ice/PluginF.cpp +3 -3
  123. data/ext/ice/cpp/src/Ice/Process.cpp +3 -3
  124. data/ext/ice/cpp/src/Ice/ProcessF.cpp +3 -3
  125. data/ext/ice/cpp/src/Ice/Properties.cpp +3 -3
  126. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +4 -4
  127. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +3 -3
  128. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +2 -1
  129. data/ext/ice/cpp/src/Ice/PropertyNames.h +1 -1
  130. data/ext/ice/cpp/src/Ice/Proxy.cpp +6 -0
  131. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +1 -1
  132. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +1 -1
  133. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +3 -2
  134. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +3 -3
  135. data/ext/ice/cpp/src/Ice/Router.cpp +6 -6
  136. data/ext/ice/cpp/src/Ice/RouterF.cpp +3 -3
  137. data/ext/ice/cpp/src/Ice/SHA1.cpp +2 -2
  138. data/ext/ice/cpp/src/Ice/Selector.cpp +18 -13
  139. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +3 -3
  140. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +3 -3
  141. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +3 -3
  142. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +6 -6
  143. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +6 -0
  144. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +5 -0
  145. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +5 -0
  146. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +5 -0
  147. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +63 -0
  148. data/ext/ice/cpp/src/Ice/ThreadPool.h +10 -2
  149. data/ext/ice/cpp/src/Ice/Timer.cpp +10 -0
  150. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +11 -1
  151. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +10 -2
  152. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +3 -3
  153. data/ext/ice/cpp/src/Ice/Version.cpp +3 -3
  154. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +16 -15
  155. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +3 -3
  156. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +3 -3
  157. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +3 -3
  158. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +3 -3
  159. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +37 -8
  160. data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +3 -3
  161. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +3 -3
  162. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +3 -3
  163. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +3 -3
  164. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +4 -16
  165. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -1
  166. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +40 -3
  167. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -7
  168. data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +0 -2
  169. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +18 -6
  170. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +19 -7
  171. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +2 -0
  172. data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +32 -21
  173. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +21 -6
  174. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +19 -16
  175. data/ext/ice/cpp/src/IceSSL/Util.cpp +11 -5
  176. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +1 -1
  177. data/ext/ice/cpp/src/IceUtil/Options.cpp +3 -3
  178. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +40 -10
  179. data/ext/ice/cpp/src/IceUtil/Random.cpp +2 -2
  180. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +5 -5
  181. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +3 -3
  182. data/ext/ice/cpp/src/IceUtil/Time.cpp +3 -3
  183. data/ext/ice/cpp/src/IceUtil/UUID.cpp +5 -5
  184. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +4 -4
  185. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +13 -9
  186. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +1 -1
  187. data/ext/ice/cpp/src/Slice/Grammar.cpp +8 -0
  188. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +1 -2
  189. data/ext/ice/cpp/src/Slice/MD5I.cpp +8 -0
  190. data/ext/ice/cpp/src/Slice/Parser.cpp +60 -112
  191. data/ext/ice/cpp/src/Slice/Parser.h +27 -1
  192. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +2 -1
  193. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +10 -10
  194. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +1 -1
  195. data/ext/ice/cpp/src/Slice/Scanner.cpp +8 -0
  196. data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +11 -6
  197. data/ext/ice/mcpp/Makefile +2 -5
  198. data/ice.gemspec +1 -1
  199. data/lib/Glacier2/Metrics.rb +1 -1
  200. data/lib/Glacier2/PermissionsVerifier.rb +1 -1
  201. data/lib/Glacier2/PermissionsVerifierF.rb +1 -1
  202. data/lib/Glacier2/Router.rb +1 -1
  203. data/lib/Glacier2/RouterF.rb +1 -1
  204. data/lib/Glacier2/SSLInfo.rb +1 -1
  205. data/lib/Glacier2/Session.rb +1 -1
  206. data/lib/Ice/BuiltinSequences.rb +1 -1
  207. data/lib/Ice/Communicator.rb +1 -1
  208. data/lib/Ice/CommunicatorF.rb +1 -1
  209. data/lib/Ice/Connection.rb +1 -1
  210. data/lib/Ice/ConnectionF.rb +1 -1
  211. data/lib/Ice/Current.rb +1 -1
  212. data/lib/Ice/Endpoint.rb +1 -1
  213. data/lib/Ice/EndpointF.rb +1 -1
  214. data/lib/Ice/EndpointTypes.rb +1 -1
  215. data/lib/Ice/FacetMap.rb +1 -1
  216. data/lib/Ice/Identity.rb +1 -1
  217. data/lib/Ice/ImplicitContext.rb +1 -1
  218. data/lib/Ice/ImplicitContextF.rb +1 -1
  219. data/lib/Ice/Instrumentation.rb +1 -1
  220. data/lib/Ice/InstrumentationF.rb +1 -1
  221. data/lib/Ice/LocalException.rb +1 -1
  222. data/lib/Ice/Locator.rb +1 -1
  223. data/lib/Ice/LocatorF.rb +1 -1
  224. data/lib/Ice/Logger.rb +1 -1
  225. data/lib/Ice/LoggerF.rb +1 -1
  226. data/lib/Ice/Metrics.rb +1 -1
  227. data/lib/Ice/ObjectAdapter.rb +1 -1
  228. data/lib/Ice/ObjectAdapterF.rb +1 -1
  229. data/lib/Ice/ObjectFactory.rb +1 -1
  230. data/lib/Ice/Plugin.rb +1 -1
  231. data/lib/Ice/PluginF.rb +1 -1
  232. data/lib/Ice/Process.rb +1 -1
  233. data/lib/Ice/ProcessF.rb +1 -1
  234. data/lib/Ice/Properties.rb +1 -1
  235. data/lib/Ice/PropertiesAdmin.rb +1 -1
  236. data/lib/Ice/PropertiesF.rb +1 -1
  237. data/lib/Ice/RemoteLogger.rb +1 -1
  238. data/lib/Ice/Router.rb +1 -1
  239. data/lib/Ice/RouterF.rb +1 -1
  240. data/lib/Ice/ServantLocator.rb +1 -1
  241. data/lib/Ice/ServantLocatorF.rb +1 -1
  242. data/lib/Ice/SliceChecksumDict.rb +1 -1
  243. data/lib/Ice/ValueFactory.rb +1 -1
  244. data/lib/Ice/Version.rb +1 -1
  245. data/lib/IceBox/IceBox.rb +1 -1
  246. data/lib/IceGrid/Admin.rb +1 -1
  247. data/lib/IceGrid/Descriptor.rb +1 -1
  248. data/lib/IceGrid/Exception.rb +1 -1
  249. data/lib/IceGrid/FileParser.rb +1 -1
  250. data/lib/IceGrid/PluginFacade.rb +1 -1
  251. data/lib/IceGrid/Registry.rb +1 -1
  252. data/lib/IceGrid/Session.rb +1 -1
  253. data/lib/IceGrid/UserAccountMapper.rb +1 -1
  254. data/lib/IcePatch2/FileInfo.rb +1 -1
  255. data/lib/IcePatch2/FileServer.rb +1 -1
  256. data/lib/IceStorm/IceStorm.rb +1 -1
  257. data/lib/IceStorm/Metrics.rb +1 -1
  258. data/slice/Glacier2/Metrics.ice +1 -1
  259. data/slice/Ice/Communicator.ice +57 -25
  260. data/slice/Ice/Connection.ice +14 -14
  261. data/slice/Ice/Current.ice +1 -1
  262. data/slice/Ice/Endpoint.ice +6 -6
  263. data/slice/Ice/EndpointF.ice +1 -1
  264. data/slice/Ice/FacetMap.ice +1 -1
  265. data/slice/Ice/ImplicitContext.ice +6 -6
  266. data/slice/Ice/Instrumentation.ice +6 -6
  267. data/slice/Ice/Logger.ice +6 -6
  268. data/slice/Ice/Metrics.ice +12 -9
  269. data/slice/Ice/ObjectAdapter.ice +43 -31
  270. data/slice/Ice/ObjectFactory.ice +1 -1
  271. data/slice/Ice/Plugin.ice +2 -2
  272. data/slice/Ice/Properties.ice +10 -10
  273. data/slice/Ice/ServantLocator.ice +4 -2
  274. data/slice/Ice/ValueFactory.ice +3 -3
  275. data/slice/IceBT/EndpointInfo.ice +1 -1
  276. data/slice/IceGrid/PluginFacade.ice +4 -4
  277. data/slice/IceIAP/ConnectionInfo.ice +1 -1
  278. data/slice/IceIAP/EndpointInfo.ice +1 -1
  279. data/slice/IceSSL/ConnectionInfo.ice +3 -2
  280. data/slice/IceSSL/ConnectionInfoF.ice +1 -1
  281. data/slice/IceSSL/EndpointInfo.ice +1 -1
  282. data/slice/IceStorm/Metrics.ice +1 -1
  283. metadata +5 -3
@@ -382,7 +382,7 @@ public:
382
382
  _currentEncaps = new Encaps();
383
383
  _currentEncaps->previous = oldEncaps;
384
384
  }
385
- _currentEncaps->start = i - b.begin();
385
+ _currentEncaps->start = static_cast<size_t>(i - b.begin());
386
386
 
387
387
  //
388
388
  // I don't use readSize() and writeSize() for encapsulations,
@@ -484,7 +484,7 @@ public:
484
484
  {
485
485
  // Skip the optional content of the encapsulation if we are expecting an
486
486
  // empty encapsulation.
487
- i += sz - sizeof(Ice::Int) - 2;
487
+ i += static_cast<size_t>(sz) - sizeof(Ice::Int) - 2;
488
488
  }
489
489
  return encoding;
490
490
  }
@@ -511,7 +511,7 @@ public:
511
511
  }
512
512
 
513
513
  read(encoding);
514
- i += sz - sizeof(Int) - 2;
514
+ i += static_cast<size_t>(sz) - sizeof(Int) - 2;
515
515
  return encoding;
516
516
  }
517
517
 
@@ -1174,7 +1174,7 @@ public:
1174
1174
  */
1175
1175
  size_type pos()
1176
1176
  {
1177
- return i - b.begin();
1177
+ return static_cast<size_t>(i - b.begin());
1178
1178
  }
1179
1179
 
1180
1180
  /**
@@ -540,10 +540,21 @@ public:
540
540
  return dataptr();
541
541
  }
542
542
 
543
+ //
544
+ // WORKAROUND error: implicit conversion turns string literal into bool
545
+ //
546
+ #if defined(__clang__)
547
+ # pragma clang diagnostic push
548
+ # pragma clang diagnostic ignored "-Wconversion"
549
+ #endif
543
550
  constexpr T const& operator *() const {
544
551
  return TR2_OPTIONAL_ASSERTED_EXPRESSION(initialized(), contained_val());
545
552
  }
546
553
 
554
+ #if defined(__clang__)
555
+ # pragma clang diagnostic pop
556
+ #endif
557
+
547
558
  T& operator *() {
548
559
  assert (initialized());
549
560
  return contained_val();
@@ -664,7 +664,7 @@ public:
664
664
  //
665
665
  // See comments in OutgoingAsync.cpp
666
666
  //
667
- extern ICE_API CallbackBasePtr dummyCallback;
667
+ extern ICE_API CallbackBasePtr dummyCallback ICE_GLOBAL_VAR_SUFFIX;
668
668
 
669
669
  //
670
670
  // Generic callback template that requires the caller to down-cast the
@@ -261,8 +261,8 @@ public:
261
261
  }
262
262
 
263
263
  Container::size_type position = b.size();
264
- resize(position + sz);
265
- memcpy(&b[position], &v[0], sz);
264
+ resize(position + static_cast<size_t>(sz));
265
+ memcpy(&b[position], &v[0], static_cast<size_t>(sz));
266
266
  }
267
267
 
268
268
  /**
@@ -680,8 +680,8 @@ public:
680
680
  if(sz > 0)
681
681
  {
682
682
  Container::size_type position = b.size();
683
- resize(position + sz);
684
- memcpy(&b[position], v.data(), sz);
683
+ resize(position + static_cast<size_t>(sz));
684
+ memcpy(&b[position], v.data(), static_cast<size_t>(sz));
685
685
  }
686
686
  }
687
687
  }
@@ -706,7 +706,7 @@ public:
706
706
  if(sz > 0)
707
707
  {
708
708
  Container::size_type position = b.size();
709
- resize(position + sz);
709
+ resize(position + static_cast<size_t>(sz));
710
710
  memcpy(&b[position], vdata, vsize);
711
711
  }
712
712
  }
@@ -992,6 +992,12 @@ public:
992
992
  */
993
993
  ::std::shared_ptr<::Ice::ObjectPrx> ice_fixed(const ::std::shared_ptr<::Ice::Connection>& connection) const;
994
994
 
995
+ /**
996
+ * Determines whether this proxy is a fixed proxy.
997
+ * @return True if this proxy is a fixed proxy, false otherwise.
998
+ */
999
+ bool ice_isFixed() const;
1000
+
995
1001
  /**
996
1002
  * Obtains the Connection for this proxy. If the proxy does not yet have an established connection,
997
1003
  * it first attempts to create a connection.
@@ -1057,7 +1063,7 @@ public:
1057
1063
  }
1058
1064
 
1059
1065
  /**
1060
- * Flushes any pending batched requests for this communicator. The call blocks until the flush is complete.
1066
+ * Flushes asynchronously any pending batched requests for this communicator.
1061
1067
  * @param ex The exception callback.
1062
1068
  * @param sent The sent callback.
1063
1069
  * @return A function that can be called to cancel the invocation locally.
@@ -1073,7 +1079,7 @@ public:
1073
1079
  }
1074
1080
 
1075
1081
  /**
1076
- * Flushes any pending batched requests for this communicator. The call blocks until the flush is complete.
1082
+ * Flushes asynchronously any pending batched requests for this communicator.
1077
1083
  * @return The future object for the invocation.
1078
1084
  */
1079
1085
  template<template<typename> class P = std::promise> auto
@@ -2658,6 +2664,12 @@ public:
2658
2664
  */
2659
2665
  ::Ice::ObjectPrx ice_fixed(const ::Ice::ConnectionPtr& connection) const;
2660
2666
 
2667
+ /**
2668
+ * Determines whether this proxy is a fixed proxy.
2669
+ * @return True if this proxy is a fixed proxy, false otherwise.
2670
+ */
2671
+ bool ice_isFixed() const;
2672
+
2661
2673
  /**
2662
2674
  * Obtains the Connection for this proxy. If the proxy does not yet have an established connection,
2663
2675
  * it first attempts to create a connection.
@@ -2729,7 +2741,7 @@ public:
2729
2741
  }
2730
2742
 
2731
2743
  /**
2732
- * Flushes any pending batched requests for this proxy. The call blocks until the flush is complete.
2744
+ * Flushes asynchronously any pending batched requests for this proxy.
2733
2745
  * @return The asynchronous result object for the invocation.
2734
2746
  */
2735
2747
  ::Ice::AsyncResultPtr begin_ice_flushBatchRequests()
@@ -2738,7 +2750,7 @@ public:
2738
2750
  }
2739
2751
 
2740
2752
  /**
2741
- * Flushes any pending batched requests for this proxy. The call blocks until the flush is complete.
2753
+ * Flushes asynchronously any pending batched requests for this proxy.
2742
2754
  * @param cb Asynchronous callback object.
2743
2755
  * @param cookie User-defined data to associate with the invocation.
2744
2756
  * @return The asynchronous result object for the invocation.
@@ -2750,7 +2762,7 @@ public:
2750
2762
  }
2751
2763
 
2752
2764
  /**
2753
- * Flushes any pending batched requests for this proxy. The call blocks until the flush is complete.
2765
+ * Flushes asynchronously any pending batched requests for this proxy.
2754
2766
  * @param cb Asynchronous callback object.
2755
2767
  * @param cookie User-defined data to associate with the invocation.
2756
2768
  * @return The asynchronous result object for the invocation.
@@ -583,7 +583,7 @@ struct StreamHelper<T, StreamHelperCategorySequence>
583
583
  read(S* stream, T& v)
584
584
  {
585
585
  Int sz = stream->readAndCheckSeqSize(StreamableTraits<typename T::value_type>::minWireSize);
586
- T(sz).swap(v);
586
+ T(static_cast<size_t>(sz)).swap(v);
587
587
  for(typename T::iterator p = v.begin(); p != v.end(); ++p)
588
588
  {
589
589
  stream->read(*p);
@@ -42,7 +42,7 @@ public:
42
42
  virtual void ice_preMarshal();
43
43
 
44
44
  /**
45
- * The Ice run time invokes this method vafter unmarshaling an object's data members. This allows a
45
+ * The Ice run time invokes this method after unmarshaling an object's data members. This allows a
46
46
  * subclass to override this method in order to perform additional initialization.
47
47
  */
48
48
  virtual void ice_postUnmarshal();
@@ -23,7 +23,7 @@
23
23
  #elif ((defined(__GNUC__) && (((__GNUC__* 100) + __GNUC_MINOR__) >= 401)) || __clang__) && \
24
24
  ((defined(__sun) && (defined(__sparc) || defined(__sparcv9))) || \
25
25
  defined(__APPLE__) || \
26
- (defined(__linux) && \
26
+ (defined(__linux__) && \
27
27
  (defined(__i486) || defined(__i586) || \
28
28
  defined(__i686) || defined(__x86_64))))
29
29
 
@@ -21,12 +21,14 @@
21
21
  #endif
22
22
 
23
23
  #if (defined(__BYTE_ORDER) && defined(__LITTLE_ENDIAN) && (__BYTE_ORDER == __LITTLE_ENDIAN)) || \
24
- (defined(_BYTE_ORDER) && defined(_LITTLE_ENDIAN) && (_BYTE_ORDER == _LITTLE_ENDIAN))
24
+ (defined(_BYTE_ORDER) && defined(_LITTLE_ENDIAN) && (_BYTE_ORDER == _LITTLE_ENDIAN)) || \
25
+ (defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__))
25
26
 
26
27
  # define ICE_LITTLE_ENDIAN
27
28
 
28
29
  #elif (defined(__BYTE_ORDER) && defined(__BIG_ENDIAN) && (__BYTE_ORDER == __BIG_ENDIAN)) || \
29
- (defined(_BYTE_ORDER) && defined(_BIG_ENDIAN) && (_BYTE_ORDER == _BIG_ENDIAN))
30
+ (defined(_BYTE_ORDER) && defined(_BIG_ENDIAN) && (_BYTE_ORDER == _BIG_ENDIAN)) || \
31
+ (defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__))
30
32
 
31
33
  # define ICE_BIG_ENDIAN
32
34
 
@@ -80,7 +82,7 @@
80
82
  # elif defined(__WORDSIZE) && (__WORDSIZE == 32)
81
83
  # define ICE_32
82
84
  # elif defined(__sun) && (defined(__sparcv9) || defined(__x86_64)) || \
83
- defined(__linux) && defined(__x86_64) || \
85
+ defined(__linux__) && defined(__x86_64) || \
84
86
  defined(__APPLE__) && defined(__x86_64) || \
85
87
  defined(__hppa) && defined(__LP64__) || \
86
88
  defined(_ARCH_COM) && defined(__64BIT__) || \
@@ -171,7 +173,7 @@
171
173
  // With Visual Studio, we can import/export member functions without importing/
172
174
  // exporting the whole class
173
175
  # define ICE_MEMBER_IMPORT_EXPORT
174
- #elif defined(__GNUC__) || defined(__clang__)
176
+ #elif (defined(__GNUC__) || defined(__clang__) || defined(__IBMCPP__)) && !defined(__ibmxl__)
175
177
  # define ICE_DECLSPEC_EXPORT __attribute__((visibility ("default")))
176
178
  # define ICE_DECLSPEC_IMPORT __attribute__((visibility ("default")))
177
179
  #elif defined(__SUNPRO_CC)
@@ -190,6 +192,14 @@
190
192
  # define ICE_MEMBER(API) /**/
191
193
  #endif
192
194
 
195
+ // With IBM xlC, the visibility attribute must be at the end of the
196
+ // declaration of global variables.
197
+ #if defined(__IBMCPP__) && !defined(ICE_STATIC_LIBS)
198
+ # define ICE_GLOBAL_VAR_SUFFIX __attribute__((visibility ("default")))
199
+ #else
200
+ # define ICE_GLOBAL_VAR_SUFFIX /**/
201
+ #endif
202
+
193
203
  //
194
204
  // Let's use these extensions with Ice:
195
205
  //
@@ -273,8 +283,8 @@
273
283
  //
274
284
  // The Ice version.
275
285
  //
276
- #define ICE_STRING_VERSION "3.7.2" // "A.B.C", with A=major, B=minor, C=patch
277
- #define ICE_INT_VERSION 30702 // AABBCC, with AA=major, BB=minor, CC=patch
286
+ #define ICE_STRING_VERSION "3.7.3" // "A.B.C", with A=major, B=minor, C=patch
287
+ #define ICE_INT_VERSION 30703 // AABBCC, with AA=major, BB=minor, CC=patch
278
288
  #define ICE_SO_VERSION "37" // "ABC", with A=major, B=minor, C=patch
279
289
 
280
290
  #if !defined(ICE_BUILDING_ICE) && defined(ICE_API_EXPORTS)
@@ -77,13 +77,13 @@ operator<<(ConsoleErr& err, const T& val)
77
77
  ICE_API ConsoleErr& endl(ConsoleErr&);
78
78
  ICE_API ConsoleErr& flush(ConsoleErr&);
79
79
 
80
- extern ICE_API ConsoleOut consoleOut;
81
- extern ICE_API ConsoleErr consoleErr;
80
+ extern ICE_API ConsoleOut consoleOut ICE_GLOBAL_VAR_SUFFIX;
81
+ extern ICE_API ConsoleErr consoleErr ICE_GLOBAL_VAR_SUFFIX;
82
82
 
83
83
  #else
84
84
 
85
- extern ICE_API std::ostream& consoleOut;
86
- extern ICE_API std::ostream& consoleErr;
85
+ extern ICE_API std::ostream& consoleOut ICE_GLOBAL_VAR_SUFFIX;
86
+ extern ICE_API std::ostream& consoleErr ICE_GLOBAL_VAR_SUFFIX;
87
87
 
88
88
  #endif
89
89
 
@@ -46,6 +46,14 @@ public:
46
46
  {
47
47
  }
48
48
 
49
+ /**
50
+ * Constructs an optional as a copy of the given optional.
51
+ * @param r The source optional.
52
+ */
53
+ Optional(const Optional& r) : _value(r._value), _isSet(r._isSet)
54
+ {
55
+ }
56
+
49
57
  /**
50
58
  * Constructs an optional with the given value.
51
59
  * @param p The initial value.
@@ -72,12 +72,12 @@ protected:
72
72
  class ICE_API NextLine
73
73
  {
74
74
  };
75
- extern ICE_API NextLine nl;
75
+ extern ICE_API NextLine nl ICE_GLOBAL_VAR_SUFFIX;
76
76
 
77
77
  class ICE_API Separator
78
78
  {
79
79
  };
80
- extern ICE_API Separator sp;
80
+ extern ICE_API Separator sp ICE_GLOBAL_VAR_SUFFIX;
81
81
 
82
82
  // ----------------------------------------------------------------------
83
83
  // Output
@@ -87,9 +87,9 @@ class ICE_API Output : public OutputBase
87
87
  {
88
88
  public:
89
89
 
90
- Output();
91
- Output(std::ostream&);
92
- Output(const char*);
90
+ Output(bool breakBeforeBlock = true, bool shortEmptyBlock = false);
91
+ Output(std::ostream&, bool = true, bool = false);
92
+ Output(const char*, bool = true, bool = false);
93
93
 
94
94
  virtual void print(const std::string&); // Print a string.
95
95
 
@@ -104,6 +104,9 @@ private:
104
104
  std::string _blockStart;
105
105
  std::string _blockEnd;
106
106
  int _par; // If >= 0, we are writing a parameter list.
107
+ const bool _breakBeforeBlock; // If true break before starting a new block.
108
+ const bool _shortEmptyBlock; // If true, an empty block is written <sb><eb>.
109
+ bool _emptyBlock;
107
110
  };
108
111
 
109
112
  template<typename T>
@@ -146,7 +149,7 @@ operator<<(Output& o, const Separator&)
146
149
  class ICE_API StartBlock
147
150
  {
148
151
  };
149
- extern ICE_API StartBlock sb;
152
+ extern ICE_API StartBlock sb ICE_GLOBAL_VAR_SUFFIX;
150
153
 
151
154
  template<>
152
155
  inline Output&
@@ -159,7 +162,7 @@ operator<<(Output& o, const StartBlock&)
159
162
  class ICE_API EndBlock
160
163
  {
161
164
  };
162
- extern ICE_API EndBlock eb;
165
+ extern ICE_API EndBlock eb ICE_GLOBAL_VAR_SUFFIX;
163
166
 
164
167
  template<>
165
168
  inline Output&
@@ -172,7 +175,7 @@ operator<<(Output& o, const EndBlock&)
172
175
  class ICE_API StartPar
173
176
  {
174
177
  };
175
- extern ICE_API StartPar spar;
178
+ extern ICE_API StartPar spar ICE_GLOBAL_VAR_SUFFIX;
176
179
 
177
180
  template<>
178
181
  inline Output&
@@ -185,7 +188,7 @@ operator<<(Output& o, const StartPar&)
185
188
  class ICE_API EndPar
186
189
  {
187
190
  };
188
- extern ICE_API EndPar epar;
191
+ extern ICE_API EndPar epar ICE_GLOBAL_VAR_SUFFIX;
189
192
 
190
193
  template<>
191
194
  inline Output&
@@ -198,7 +201,7 @@ operator<<(Output& o, const EndPar&)
198
201
  class ICE_API StartAbrk
199
202
  {
200
203
  };
201
- extern ICE_API StartAbrk sabrk;
204
+ extern ICE_API StartAbrk sabrk ICE_GLOBAL_VAR_SUFFIX;
202
205
 
203
206
  template<>
204
207
  inline Output&
@@ -211,7 +214,7 @@ operator<<(Output& o, const StartAbrk&)
211
214
  class ICE_API EndAbrk
212
215
  {
213
216
  };
214
- extern ICE_API EndAbrk eabrk;
217
+ extern ICE_API EndAbrk eabrk ICE_GLOBAL_VAR_SUFFIX;
215
218
 
216
219
  template<>
217
220
  inline Output&
@@ -289,7 +292,7 @@ operator<<(XMLOutput& o, const Separator&)
289
292
  class ICE_API EndElement
290
293
  {
291
294
  };
292
- extern ICE_API EndElement ee;
295
+ extern ICE_API EndElement ee ICE_GLOBAL_VAR_SUFFIX;
293
296
 
294
297
  template<>
295
298
  inline XMLOutput&
@@ -350,12 +353,12 @@ operator<<(XMLOutput& o, const Attribute& e)
350
353
  class ICE_API StartEscapes
351
354
  {
352
355
  };
353
- extern ICE_API StartEscapes startEscapes;
356
+ extern ICE_API StartEscapes startEscapes ICE_GLOBAL_VAR_SUFFIX;
354
357
 
355
358
  class ICE_API EndEscapes
356
359
  {
357
360
  };
358
- extern ICE_API EndEscapes endEscapes;
361
+ extern ICE_API EndEscapes endEscapes ICE_GLOBAL_VAR_SUFFIX;
359
362
 
360
363
  template<>
361
364
  inline XMLOutput&
@@ -37,7 +37,7 @@ struct RandomNumberGenerator : public std::unary_function<std::ptrdiff_t, std::p
37
37
  {
38
38
  std::ptrdiff_t operator()(std::ptrdiff_t d)
39
39
  {
40
- return IceUtilInternal::random(static_cast<int>(d));
40
+ return static_cast<std::ptrdiff_t>(IceUtilInternal::random(static_cast<int>(d)));
41
41
  }
42
42
  };
43
43
 
@@ -7,8 +7,8 @@
7
7
 
8
8
  #include "winver.h"
9
9
 
10
- #define ICE_VERSION 3,7,2,0
11
- #define ICE_STRING_VERSION "3.7.2\0"
10
+ #define ICE_VERSION 3,7,3,0
11
+ #define ICE_STRING_VERSION "3.7.3\0"
12
12
  #define ICE_SO_VERSION "37\0"
13
13
  #define ICE_COMPANY_NAME "ZeroC, Inc.\0"
14
14
  #define ICE_COPYRIGHT "\251 ZeroC, Inc.\0"
@@ -30,4 +30,10 @@
30
30
  # pragma warning(disable:5033)
31
31
  #endif
32
32
 
33
+ #if defined(__clang__)
34
+ # pragma clang diagnostic ignored "-Wconversion"
35
+ # pragma clang diagnostic ignored "-Wsign-conversion"
36
+ # pragma clang diagnostic ignored "-Wdocumentation"
37
+ #endif
38
+
33
39
  #endif
@@ -66,7 +66,7 @@ public:
66
66
  }
67
67
  };
68
68
 
69
- #ifdef __clang__
69
+ #if defined(__clang__) && !defined(ICE_STATIC_LIBS)
70
70
  //
71
71
  // Explicit template instantiation so that dynamic_cast of derived exported
72
72
  // classes works well with clang, see ICE-7473.
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.2
5
+ // Ice version 3.7.3
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -32,10 +32,10 @@
32
32
  # if ICE_INT_VERSION / 100 != 307
33
33
  # error Ice version mismatch!
34
34
  # endif
35
- # if ICE_INT_VERSION % 100 > 50
35
+ # if ICE_INT_VERSION % 100 >= 50
36
36
  # error Beta header file detected
37
37
  # endif
38
- # if ICE_INT_VERSION % 100 < 2
38
+ # if ICE_INT_VERSION % 100 < 3
39
39
  # error Ice patch level mismatch!
40
40
  # endif
41
41
  #endif