zeroc-ice 3.7.2 → 3.7.3

Sign up to get free protection for your applications and to get access to all the features.
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
  #