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
@@ -469,7 +469,8 @@ Slice::Preprocessor::printMakefileDependencies(ostream& out, Language lang, cons
469
469
  {
470
470
  if(file.compare(0, p->length(), *p) == 0)
471
471
  {
472
- string s = includePaths[p - fullIncludePaths.begin()] + file.substr(p->length());
472
+ string s = includePaths[static_cast<size_t>(p - fullIncludePaths.begin())] +
473
+ file.substr(p->length());
473
474
  if(IceUtilInternal::isAbsolutePath(newFile) || s.size() < newFile.size())
474
475
  {
475
476
  newFile = s;
@@ -1827,7 +1827,7 @@ Slice::Python::CodeVisitor::writeType(const TypePtr& p)
1827
1827
  if(prx)
1828
1828
  {
1829
1829
  ClassDefPtr def = prx->_class()->definition();
1830
- if(def && (def->isInterface() || def->allOperations().size() > 0))
1830
+ if(!def || def->isAbstract())
1831
1831
  {
1832
1832
  _out << "_M_" << getAbsolute(prx->_class(), "_t_", "Prx");
1833
1833
  }
@@ -2486,10 +2486,10 @@ Slice::Python::CodeVisitor::parseOpComment(const string& comment, OpComment& c)
2486
2486
  //
2487
2487
  string name;
2488
2488
  bool inParam = false, inException = false, inReturn = false;
2489
- vector<string>::size_type i = 0;
2490
- while(i < lines.size())
2489
+ vector<string>::iterator i = lines.begin();
2490
+ while(i != lines.end())
2491
2491
  {
2492
- string l = lines[i];
2492
+ string l = *i;
2493
2493
  string::size_type paramTag = l.find("@param");
2494
2494
  string::size_type throwTag = l.find("@throw");
2495
2495
  string::size_type returnTag = l.find("@return");
@@ -2533,7 +2533,7 @@ Slice::Python::CodeVisitor::parseOpComment(const string& comment, OpComment& c)
2533
2533
  }
2534
2534
  }
2535
2535
  }
2536
- lines.erase(lines.begin() + i);
2536
+ i = lines.erase(i);
2537
2537
  continue;
2538
2538
  }
2539
2539
  else if(throwTag != string::npos)
@@ -2575,7 +2575,7 @@ Slice::Python::CodeVisitor::parseOpComment(const string& comment, OpComment& c)
2575
2575
  }
2576
2576
  }
2577
2577
  }
2578
- lines.erase(lines.begin() + i);
2578
+ i = lines.erase(i);
2579
2579
  continue;
2580
2580
  }
2581
2581
  else if(returnTag != string::npos)
@@ -2592,7 +2592,7 @@ Slice::Python::CodeVisitor::parseOpComment(const string& comment, OpComment& c)
2592
2592
  inParam = false;
2593
2593
  c.returns = l.substr(pos);
2594
2594
  }
2595
- lines.erase(lines.begin() + i);
2595
+ i = lines.erase(i);
2596
2596
  continue;
2597
2597
  }
2598
2598
  else
@@ -2612,7 +2612,7 @@ Slice::Python::CodeVisitor::parseOpComment(const string& comment, OpComment& c)
2612
2612
  c.params[name] += " ";
2613
2613
  }
2614
2614
  c.params[name] += l.substr(pos);
2615
- lines.erase(lines.begin() + i);
2615
+ i = lines.erase(i);
2616
2616
  continue;
2617
2617
  }
2618
2618
  else if(inException)
@@ -2623,7 +2623,7 @@ Slice::Python::CodeVisitor::parseOpComment(const string& comment, OpComment& c)
2623
2623
  c.exceptions[name] += " ";
2624
2624
  }
2625
2625
  c.exceptions[name] += l.substr(pos);
2626
- lines.erase(lines.begin() + i);
2626
+ i = lines.erase(i);
2627
2627
  continue;
2628
2628
  }
2629
2629
  else if(inReturn)
@@ -2633,7 +2633,7 @@ Slice::Python::CodeVisitor::parseOpComment(const string& comment, OpComment& c)
2633
2633
  c.returns += " ";
2634
2634
  }
2635
2635
  c.returns += l.substr(pos);
2636
- lines.erase(lines.begin() + i);
2636
+ i = lines.erase(i);
2637
2637
  continue;
2638
2638
  }
2639
2639
  }
@@ -1224,7 +1224,7 @@ Slice::Ruby::CodeVisitor::writeType(const TypePtr& p)
1224
1224
  if(prx)
1225
1225
  {
1226
1226
  ClassDefPtr def = prx->_class()->definition();
1227
- if(def->isInterface() || def->allOperations().size() > 0)
1227
+ if(!def || def->isAbstract())
1228
1228
  {
1229
1229
  _out << getAbsolute(prx->_class(), IdentToUpper, "T_") << "Prx";
1230
1230
  }
@@ -578,6 +578,14 @@ char *slice_text;
578
578
  # pragma GCC diagnostic ignored "-Wsign-compare"
579
579
  #endif
580
580
 
581
+ //
582
+ // Avoid clang conversion warnings
583
+ //
584
+ #if defined(__clang__)
585
+ # pragma clang diagnostic ignored "-Wconversion"
586
+ # pragma clang diagnostic ignored "-Wsign-conversion"
587
+ #endif
588
+
581
589
  #ifdef _MSC_VER
582
590
  # ifdef slice_wrap
583
591
  # undef slice_wrap
@@ -197,6 +197,11 @@ StringLiteralGenerator::escapeASCIIChar(char c)
197
197
  os << "\\" << oct << setfill('0') << setw(3) << static_cast<unsigned int>(c & 0xFF);
198
198
  _format = OctalFormat;
199
199
  }
200
+ else if(_escapeMode == EC6UCN)
201
+ {
202
+ os << "\\u{" << hex << setfill('0') << setw(4) << static_cast<unsigned int>(c & 0xFF) << "}";
203
+ _format = HexFormat;
204
+ }
200
205
  else
201
206
  {
202
207
  os << _shortUCNPrefix << hex << setfill('0') << setw(4) << static_cast<unsigned int>(c & 0xFF);
@@ -231,7 +236,11 @@ StringLiteralGenerator::escapeCodePoint(unsigned int codePoint)
231
236
  else
232
237
  {
233
238
  ostringstream os;
234
- if(codePoint < _cutOff)
239
+ if(_escapeMode == EC6UCN)
240
+ {
241
+ os << "\\u{" << hex << codePoint << "}";
242
+ }
243
+ else if(codePoint < _cutOff)
235
244
  {
236
245
  //
237
246
  // Output octal escape
@@ -255,10 +264,6 @@ StringLiteralGenerator::escapeCodePoint(unsigned int codePoint)
255
264
  os << _shortUCNPrefix << setfill('0') << setw(4) << hex << lowSurrogate;
256
265
  _format = HexFormat;
257
266
  }
258
- else if(_escapeMode == EC6UCN)
259
- {
260
- os << "\\u{" << hex << codePoint << "}";
261
- }
262
267
  else
263
268
  {
264
269
  os << "\\U" << setfill('0') << setw(8) << hex << codePoint;
@@ -360,7 +365,7 @@ Slice::toStringLiteral(const string& value,
360
365
  // keep this escape as is
361
366
  os << "\\" << c << codePointStr;
362
367
  }
363
- else if(c == 'u')
368
+ else if(c == 'u' && escapeMode != EC6UCN)
364
369
  {
365
370
  os << (escapeMode == Matlab ? "\\x" : "\\u") << codePointStr;
366
371
  generator.format(StringLiteralGenerator::HexFormat);
@@ -1,8 +1,6 @@
1
- # **********************************************************************
2
1
  #
3
- # Copyright (c) 2015-2017 ZeroC, Inc. All rights reserved.
2
+ # Copyright (c) ZeroC, Inc. All rights reserved.
4
3
  #
5
- # **********************************************************************
6
4
 
7
5
  PREFIX ?= /opt/mcpp-2.7.2
8
6
 
@@ -54,8 +52,7 @@ OBJS = directive.o eval.o expand.o main.o mbchar.o support.o system.o
54
52
 
55
53
  $(LIBDIR)/libmcpp.a: $(OBJS)
56
54
  -mkdir -p $(LIBDIR)
57
- ar rcs $(LIBDIR)/libmcpp.a $(OBJS)
58
- ranlib $(LIBDIR)/libmcpp.a
55
+ $(AR) rcs $(LIBDIR)/libmcpp.a $(OBJS)
59
56
 
60
57
  install: $(LIBDIR)/libmcpp.a
61
58
  @mkdir -p $(PREFIX)/$(LIBDIR)
@@ -4,7 +4,7 @@
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = 'zeroc-ice'
7
- s.version = '3.7.2'
7
+ s.version = '3.7.3'
8
8
  s.summary = "ZeroC Ice for Ruby"
9
9
  s.description = <<-eos
10
10
  The Internet Communications Engine (Ice) provides a robust, proven
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) ZeroC, Inc. All rights reserved.
4
4
  #
5
5
  #
6
- # Ice version 3.7.2
6
+ # Ice version 3.7.3
7
7
  #
8
8
  # <auto-generated>
9
9
  #