zeroc-ice 3.6b1 → 3.6.0

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 (679) hide show
  1. checksums.yaml +4 -4
  2. data/{ext/ice/BZIP_LICENSE → BZIP2_LICENSE} +0 -0
  3. data/ICE_LICENSE +8 -14
  4. data/LICENSE +2 -1
  5. data/{ext/ice/MCPP_LICENSE → MCPP_LICENSE} +2 -9
  6. data/bin/slice2rb +1 -1
  7. data/ext/Communicator.cpp +1 -1
  8. data/ext/Communicator.h +1 -1
  9. data/ext/Config.h +1 -22
  10. data/ext/Connection.cpp +125 -13
  11. data/ext/Connection.h +1 -1
  12. data/ext/Endpoint.cpp +62 -3
  13. data/ext/Endpoint.h +1 -1
  14. data/ext/ImplicitContext.cpp +1 -1
  15. data/ext/ImplicitContext.h +1 -1
  16. data/ext/Init.cpp +8 -1
  17. data/ext/Logger.cpp +1 -1
  18. data/ext/Logger.h +1 -1
  19. data/ext/ObjectFactory.cpp +1 -1
  20. data/ext/ObjectFactory.h +1 -1
  21. data/ext/Operation.cpp +1 -1
  22. data/ext/Operation.h +1 -1
  23. data/ext/Properties.cpp +1 -1
  24. data/ext/Properties.h +1 -1
  25. data/ext/Proxy.cpp +1 -1
  26. data/ext/Proxy.h +1 -1
  27. data/ext/Slice.cpp +1 -1
  28. data/ext/Slice.h +1 -1
  29. data/ext/Types.cpp +65 -17
  30. data/ext/Types.h +4 -1
  31. data/ext/Util.cpp +49 -58
  32. data/ext/Util.h +1 -1
  33. data/ext/extconf.rb +17 -15
  34. data/ext/ice/cpp/include/Ice/ACMF.h +1 -1
  35. data/ext/ice/cpp/include/Ice/Application.h +1 -1
  36. data/ext/ice/cpp/include/Ice/AsyncResult.h +1 -1
  37. data/ext/ice/cpp/include/Ice/AsyncResultF.h +1 -1
  38. data/ext/ice/cpp/include/Ice/BasicStream.h +1 -1
  39. data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +52 -0
  40. data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +25 -0
  41. data/ext/ice/cpp/include/Ice/Buffer.h +1 -1
  42. data/ext/ice/cpp/include/Ice/BuiltinSequences.h +12 -4
  43. data/ext/ice/cpp/include/Ice/Communicator.h +12 -4
  44. data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +1 -1
  45. data/ext/ice/cpp/include/Ice/CommunicatorF.h +12 -4
  46. data/ext/ice/cpp/include/Ice/Config.h +13 -8
  47. data/ext/ice/cpp/include/Ice/Connection.h +41 -16
  48. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +1 -1
  49. data/ext/ice/cpp/include/Ice/ConnectionF.h +12 -4
  50. data/ext/ice/cpp/include/Ice/ConnectionFactoryF.h +1 -1
  51. data/ext/ice/cpp/include/Ice/ConnectionIF.h +1 -1
  52. data/ext/ice/cpp/include/Ice/Current.h +12 -4
  53. data/ext/ice/cpp/include/Ice/DefaultObjectFactory.h +1 -1
  54. data/ext/ice/cpp/include/Ice/DeprecatedStringConverter.h +1 -1
  55. data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +1 -1
  56. data/ext/ice/cpp/include/Ice/Dispatcher.h +1 -1
  57. data/ext/ice/cpp/include/Ice/DynamicLibrary.h +1 -1
  58. data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +1 -1
  59. data/ext/ice/cpp/include/Ice/Endpoint.h +16 -6
  60. data/ext/ice/cpp/include/Ice/EndpointF.h +12 -4
  61. data/ext/ice/cpp/include/Ice/EndpointTypes.h +12 -4
  62. data/ext/ice/cpp/include/Ice/Exception.h +3 -3
  63. data/ext/ice/cpp/include/Ice/FacetMap.h +12 -4
  64. data/ext/ice/cpp/include/Ice/FactoryTable.h +1 -1
  65. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +1 -1
  66. data/ext/ice/cpp/include/Ice/Format.h +1 -1
  67. data/ext/ice/cpp/include/Ice/Functional.h +1 -1
  68. data/ext/ice/cpp/include/Ice/GCObject.h +5 -1
  69. data/ext/ice/cpp/include/Ice/Handle.h +1 -1
  70. data/ext/ice/cpp/include/Ice/Ice.h +4 -3
  71. data/ext/ice/cpp/include/Ice/Identity.h +13 -5
  72. data/ext/ice/cpp/include/Ice/ImplicitContext.h +12 -4
  73. data/ext/ice/cpp/include/Ice/ImplicitContextF.h +12 -4
  74. data/ext/ice/cpp/include/Ice/Incoming.h +1 -1
  75. data/ext/ice/cpp/include/Ice/IncomingAsync.h +1 -1
  76. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +1 -1
  77. data/ext/ice/cpp/include/Ice/Initialize.h +4 -2
  78. data/ext/ice/cpp/include/Ice/InstanceF.h +1 -1
  79. data/ext/ice/cpp/include/Ice/Instrumentation.h +12 -4
  80. data/ext/ice/cpp/include/Ice/InstrumentationF.h +12 -4
  81. data/ext/ice/cpp/include/Ice/LocalException.h +12 -4
  82. data/ext/ice/cpp/include/Ice/LocalObject.h +1 -1
  83. data/ext/ice/cpp/include/Ice/LocalObjectF.h +1 -1
  84. data/ext/ice/cpp/include/Ice/Locator.h +137 -129
  85. data/ext/ice/cpp/include/Ice/LocatorF.h +12 -4
  86. data/ext/ice/cpp/include/Ice/Logger.h +12 -4
  87. data/ext/ice/cpp/include/Ice/LoggerF.h +12 -4
  88. data/ext/ice/cpp/include/Ice/LoggerUtil.h +1 -1
  89. data/ext/ice/cpp/include/Ice/Metrics.h +144 -136
  90. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +1 -1
  91. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +1 -1
  92. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +35 -26
  93. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +1 -1
  94. data/ext/ice/cpp/include/Ice/Object.h +1 -1
  95. data/ext/ice/cpp/include/Ice/ObjectAdapter.h +12 -4
  96. data/ext/ice/cpp/include/Ice/ObjectAdapterF.h +12 -4
  97. data/ext/ice/cpp/include/Ice/ObjectAdapterFactoryF.h +1 -1
  98. data/ext/ice/cpp/include/Ice/ObjectF.h +1 -1
  99. data/ext/ice/cpp/include/Ice/ObjectFactory.h +12 -4
  100. data/ext/ice/cpp/include/Ice/ObjectFactoryF.h +12 -4
  101. data/ext/ice/cpp/include/Ice/ObjectFactoryManagerF.h +1 -1
  102. data/ext/ice/cpp/include/Ice/ObserverHelper.h +1 -1
  103. data/ext/ice/cpp/include/Ice/Outgoing.h +67 -39
  104. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +31 -34
  105. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +4 -4
  106. data/ext/ice/cpp/include/Ice/Plugin.h +12 -4
  107. data/ext/ice/cpp/include/Ice/PluginF.h +12 -4
  108. data/ext/ice/cpp/include/Ice/Process.h +36 -28
  109. data/ext/ice/cpp/include/Ice/ProcessF.h +12 -4
  110. data/ext/ice/cpp/include/Ice/Properties.h +12 -4
  111. data/ext/ice/cpp/include/Ice/PropertiesAdmin.h +86 -78
  112. data/ext/ice/cpp/include/Ice/PropertiesF.h +12 -4
  113. data/ext/ice/cpp/include/Ice/Protocol.h +1 -1
  114. data/ext/ice/cpp/include/Ice/Proxy.h +6 -2
  115. data/ext/ice/cpp/include/Ice/ProxyF.h +1 -1
  116. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +1 -1
  117. data/ext/ice/cpp/include/Ice/ProxyHandle.h +1 -1
  118. data/ext/ice/cpp/include/Ice/ReferenceF.h +1 -1
  119. data/ext/ice/cpp/include/Ice/RemoteLogger.h +137 -129
  120. data/ext/ice/cpp/include/Ice/RequestHandlerF.h +1 -1
  121. data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +1 -1
  122. data/ext/ice/cpp/include/Ice/Router.h +37 -29
  123. data/ext/ice/cpp/include/Ice/RouterF.h +12 -4
  124. data/ext/ice/cpp/include/Ice/ServantLocator.h +12 -4
  125. data/ext/ice/cpp/include/Ice/ServantLocatorF.h +12 -4
  126. data/ext/ice/cpp/include/Ice/ServantManagerF.h +1 -1
  127. data/ext/ice/cpp/include/Ice/Service.h +1 -1
  128. data/ext/ice/cpp/include/Ice/SliceChecksumDict.h +12 -4
  129. data/ext/ice/cpp/include/Ice/SliceChecksums.h +1 -1
  130. data/ext/ice/cpp/include/Ice/SlicedData.h +1 -6
  131. data/ext/ice/cpp/include/Ice/SlicedDataF.h +1 -1
  132. data/ext/ice/cpp/include/Ice/Stream.h +3 -5
  133. data/ext/ice/cpp/include/Ice/StreamF.h +1 -1
  134. data/ext/ice/cpp/include/Ice/StreamHelpers.h +1 -1
  135. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +1 -1
  136. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +1 -1
  137. data/ext/ice/cpp/include/Ice/Version.h +14 -6
  138. data/ext/ice/cpp/include/IceSSL/Config.h +19 -1
  139. data/ext/ice/cpp/include/IceSSL/ConnectionInfo.h +61 -7
  140. data/ext/ice/cpp/include/IceSSL/EndpointInfo.h +52 -5
  141. data/ext/ice/cpp/include/IceSSL/IceSSL.h +2 -2
  142. data/ext/ice/cpp/include/IceSSL/Plugin.h +32 -26
  143. data/ext/ice/cpp/include/IceUtil/AbstractMutex.h +1 -1
  144. data/ext/ice/cpp/include/IceUtil/Atomic.h +186 -0
  145. data/ext/ice/cpp/include/IceUtil/Cache.h +1 -1
  146. data/ext/ice/cpp/include/IceUtil/Cond.h +1 -1
  147. data/ext/ice/cpp/include/IceUtil/Config.h +31 -20
  148. data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +1 -1
  149. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +1 -1
  150. data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +9 -2
  151. data/ext/ice/cpp/include/IceUtil/Exception.h +4 -3
  152. data/ext/ice/cpp/include/IceUtil/Functional.h +1 -1
  153. data/ext/ice/cpp/include/IceUtil/Handle.h +1 -1
  154. data/ext/ice/cpp/include/IceUtil/IceUtil.h +2 -2
  155. data/ext/ice/cpp/include/IceUtil/IconvStringConverter.h +1 -1
  156. data/ext/ice/cpp/include/IceUtil/InputUtil.h +1 -1
  157. data/ext/ice/cpp/include/IceUtil/Iterator.h +1 -1
  158. data/ext/ice/cpp/include/IceUtil/Lock.h +1 -1
  159. data/ext/ice/cpp/include/IceUtil/Monitor.h +1 -1
  160. data/ext/ice/cpp/include/IceUtil/Mutex.h +1 -1
  161. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +1 -1
  162. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +1 -1
  163. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +1 -1
  164. data/ext/ice/cpp/include/IceUtil/Optional.h +1 -1
  165. data/ext/ice/cpp/include/IceUtil/Options.h +1 -1
  166. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +8 -11
  167. data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +1 -1
  168. data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +5 -1
  169. data/ext/ice/cpp/include/IceUtil/Random.h +1 -1
  170. data/ext/ice/cpp/include/IceUtil/RecMutex.h +1 -1
  171. data/ext/ice/cpp/include/IceUtil/SHA1.h +8 -26
  172. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +5 -5
  173. data/ext/ice/cpp/include/IceUtil/ScopedArray.h +1 -1
  174. data/ext/ice/cpp/include/IceUtil/Shared.h +3 -37
  175. data/ext/ice/cpp/include/IceUtil/StringUtil.h +1 -1
  176. data/ext/ice/cpp/include/IceUtil/Thread.h +1 -1
  177. data/ext/ice/cpp/include/IceUtil/ThreadException.h +1 -1
  178. data/ext/ice/cpp/include/IceUtil/Time.h +1 -1
  179. data/ext/ice/cpp/include/IceUtil/Timer.h +1 -1
  180. data/ext/ice/cpp/include/IceUtil/UUID.h +1 -1
  181. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +1 -1
  182. data/ext/ice/cpp/include/IceUtil/UniquePtr.h +1 -1
  183. data/ext/ice/cpp/include/Slice/CPlusPlusUtil.h +7 -6
  184. data/ext/ice/cpp/include/Slice/Checksum.h +1 -1
  185. data/ext/ice/cpp/include/Slice/CsUtil.h +1 -1
  186. data/ext/ice/cpp/include/Slice/DotNetNames.h +1 -1
  187. data/ext/ice/cpp/include/Slice/FileTracker.h +1 -1
  188. data/ext/ice/cpp/include/Slice/JavaUtil.h +3 -1
  189. data/ext/ice/cpp/include/Slice/ObjCUtil.h +127 -0
  190. data/ext/ice/cpp/include/Slice/PHPUtil.h +1 -1
  191. data/ext/ice/cpp/include/Slice/Parser.h +18 -12
  192. data/ext/ice/cpp/include/Slice/Preprocessor.h +6 -4
  193. data/ext/ice/cpp/include/Slice/PythonUtil.h +1 -1
  194. data/ext/ice/cpp/include/Slice/RubyUtil.h +1 -1
  195. data/ext/ice/cpp/include/Slice/Util.h +20 -2
  196. data/ext/ice/cpp/src/Ice/ACM.cpp +1 -1
  197. data/ext/ice/cpp/src/Ice/ACM.h +1 -1
  198. data/ext/ice/cpp/src/Ice/Acceptor.cpp +1 -1
  199. data/ext/ice/cpp/src/Ice/Acceptor.h +1 -1
  200. data/ext/ice/cpp/src/Ice/AcceptorF.h +1 -1
  201. data/ext/ice/cpp/src/Ice/AsyncResult.cpp +1 -1
  202. data/ext/ice/cpp/src/Ice/Base64.cpp +1 -1
  203. data/ext/ice/cpp/src/Ice/Base64.h +1 -1
  204. data/ext/ice/cpp/src/Ice/BasicStream.cpp +7 -5
  205. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +227 -0
  206. data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +59 -0
  207. data/ext/ice/cpp/src/Ice/Buffer.cpp +3 -3
  208. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +10 -4
  209. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +82 -282
  210. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +8 -21
  211. data/ext/ice/cpp/src/Ice/Communicator.cpp +11 -5
  212. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +10 -4
  213. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +6 -6
  214. data/ext/ice/cpp/src/Ice/CommunicatorI.h +1 -1
  215. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +42 -180
  216. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +10 -19
  217. data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +25 -0
  218. data/ext/ice/cpp/src/Ice/Connection.cpp +17 -11
  219. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +10 -4
  220. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +137 -51
  221. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +18 -8
  222. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +105 -391
  223. data/ext/ice/cpp/src/Ice/ConnectionI.h +25 -23
  224. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +5 -29
  225. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +3 -8
  226. data/ext/ice/cpp/src/Ice/Connector.cpp +1 -1
  227. data/ext/ice/cpp/src/Ice/Connector.h +1 -1
  228. data/ext/ice/cpp/src/Ice/ConnectorF.h +1 -1
  229. data/ext/ice/cpp/src/Ice/Current.cpp +10 -4
  230. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +1 -1
  231. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +1 -1
  232. data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +1 -1
  233. data/ext/ice/cpp/src/Ice/DeprecatedStringConverter.cpp +1 -1
  234. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +1 -1
  235. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +1 -1
  236. data/ext/ice/cpp/src/Ice/Endpoint.cpp +17 -11
  237. data/ext/ice/cpp/src/Ice/EndpointF.cpp +10 -4
  238. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +19 -1
  239. data/ext/ice/cpp/src/Ice/EndpointFactory.h +13 -1
  240. data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +1 -1
  241. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +1 -1
  242. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +1 -1
  243. data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +1 -1
  244. data/ext/ice/cpp/src/Ice/EndpointI.cpp +1 -1
  245. data/ext/ice/cpp/src/Ice/EndpointI.h +33 -1
  246. data/ext/ice/cpp/src/Ice/EndpointIF.h +1 -1
  247. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +10 -4
  248. data/ext/ice/cpp/src/Ice/EventHandler.cpp +1 -1
  249. data/ext/ice/cpp/src/Ice/EventHandler.h +4 -1
  250. data/ext/ice/cpp/src/Ice/EventHandlerF.h +1 -1
  251. data/ext/ice/cpp/src/Ice/Exception.cpp +20 -11
  252. data/ext/ice/cpp/src/Ice/FacetMap.cpp +10 -4
  253. data/ext/ice/cpp/src/Ice/FactoryTable.cpp +1 -1
  254. data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +2 -2
  255. data/ext/ice/cpp/src/Ice/GCObject.cpp +1 -1
  256. data/ext/ice/cpp/src/Ice/HashUtil.h +1 -1
  257. data/ext/ice/cpp/src/Ice/HttpParser.cpp +27 -15
  258. data/ext/ice/cpp/src/Ice/HttpParser.h +4 -6
  259. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +7 -1
  260. data/ext/ice/cpp/src/Ice/IPEndpointI.h +2 -1
  261. data/ext/ice/cpp/src/Ice/IPEndpointIF.h +1 -1
  262. data/ext/ice/cpp/src/Ice/Identity.cpp +11 -5
  263. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +11 -5
  264. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +10 -4
  265. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +1 -1
  266. data/ext/ice/cpp/src/Ice/ImplicitContextI.h +1 -1
  267. data/ext/ice/cpp/src/Ice/Incoming.cpp +22 -20
  268. data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +1 -1
  269. data/ext/ice/cpp/src/Ice/IncomingRequest.h +1 -1
  270. data/ext/ice/cpp/src/Ice/Initialize.cpp +31 -5
  271. data/ext/ice/cpp/src/Ice/Instance.cpp +102 -59
  272. data/ext/ice/cpp/src/Ice/Instance.h +28 -2
  273. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +20 -14
  274. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +10 -4
  275. data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +1 -1
  276. data/ext/ice/cpp/src/Ice/InstrumentationI.h +1 -1
  277. data/ext/ice/cpp/src/Ice/LocalException.cpp +10 -4
  278. data/ext/ice/cpp/src/Ice/LocalObject.cpp +1 -1
  279. data/ext/ice/cpp/src/Ice/Locator.cpp +83 -77
  280. data/ext/ice/cpp/src/Ice/LocatorF.cpp +10 -4
  281. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +77 -69
  282. data/ext/ice/cpp/src/Ice/LocatorInfo.h +1 -1
  283. data/ext/ice/cpp/src/Ice/LocatorInfoF.h +1 -1
  284. data/ext/ice/cpp/src/Ice/Logger.cpp +11 -5
  285. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +1 -1
  286. data/ext/ice/cpp/src/Ice/LoggerAdminI.h +1 -1
  287. data/ext/ice/cpp/src/Ice/LoggerF.cpp +10 -4
  288. data/ext/ice/cpp/src/Ice/LoggerI.cpp +10 -8
  289. data/ext/ice/cpp/src/Ice/LoggerI.h +1 -1
  290. data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +2 -2
  291. data/ext/ice/cpp/src/Ice/Metrics.cpp +122 -116
  292. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +1 -1
  293. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +1 -1
  294. data/ext/ice/cpp/src/Ice/Network.cpp +63 -19
  295. data/ext/ice/cpp/src/Ice/Network.h +10 -3
  296. data/ext/ice/cpp/src/Ice/NetworkF.h +1 -1
  297. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +1 -1
  298. data/ext/ice/cpp/src/Ice/NetworkProxy.h +1 -1
  299. data/ext/ice/cpp/src/Ice/NetworkProxyF.h +1 -1
  300. data/ext/ice/cpp/src/Ice/Object.cpp +1 -1
  301. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +11 -5
  302. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +10 -4
  303. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +9 -9
  304. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +2 -2
  305. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +3 -3
  306. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +5 -5
  307. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +11 -5
  308. data/ext/ice/cpp/src/Ice/ObjectFactoryF.cpp +10 -4
  309. data/ext/ice/cpp/src/Ice/ObjectFactoryManager.cpp +9 -10
  310. data/ext/ice/cpp/src/Ice/ObjectFactoryManager.h +1 -1
  311. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +1 -1
  312. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +6 -5
  313. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +1 -1
  314. data/ext/ice/cpp/src/Ice/Outgoing.cpp +209 -254
  315. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +120 -106
  316. data/ext/ice/cpp/src/Ice/Plugin.cpp +12 -6
  317. data/ext/ice/cpp/src/Ice/PluginF.cpp +10 -4
  318. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +21 -2
  319. data/ext/ice/cpp/src/Ice/Process.cpp +25 -19
  320. data/ext/ice/cpp/src/Ice/ProcessF.cpp +10 -4
  321. data/ext/ice/cpp/src/Ice/Properties.cpp +11 -5
  322. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +39 -33
  323. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +1 -1
  324. data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +1 -1
  325. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +10 -4
  326. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +1 -1
  327. data/ext/ice/cpp/src/Ice/PropertiesI.h +1 -1
  328. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +12 -8
  329. data/ext/ice/cpp/src/Ice/PropertyNames.h +2 -2
  330. data/ext/ice/cpp/src/Ice/Protocol.cpp +7 -7
  331. data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +9 -6
  332. data/ext/ice/cpp/src/Ice/ProtocolInstance.h +25 -7
  333. data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +1 -1
  334. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +1 -1
  335. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +1 -1
  336. data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +1 -1
  337. data/ext/ice/cpp/src/Ice/Proxy.cpp +32 -13
  338. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +1 -1
  339. data/ext/ice/cpp/src/Ice/ProxyFactory.h +1 -1
  340. data/ext/ice/cpp/src/Ice/Reference.cpp +101 -86
  341. data/ext/ice/cpp/src/Ice/Reference.h +16 -9
  342. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +1 -1
  343. data/ext/ice/cpp/src/Ice/ReferenceFactory.h +1 -1
  344. data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +1 -1
  345. data/ext/ice/cpp/src/Ice/RegisterPlugins.cpp +28 -0
  346. data/ext/ice/cpp/src/Ice/RegisterPlugins.h +25 -0
  347. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +92 -86
  348. data/ext/ice/cpp/src/Ice/ReplyStatus.h +1 -1
  349. data/ext/ice/cpp/src/Ice/RequestHandler.cpp +1 -1
  350. data/ext/ice/cpp/src/Ice/RequestHandler.h +4 -8
  351. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +24 -16
  352. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +5 -4
  353. data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +1 -1
  354. data/ext/ice/cpp/src/Ice/ResponseHandler.h +3 -3
  355. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +16 -5
  356. data/ext/ice/cpp/src/Ice/RetryQueue.h +3 -2
  357. data/ext/ice/cpp/src/Ice/RetryQueueF.h +1 -1
  358. data/ext/ice/cpp/src/Ice/Router.cpp +27 -21
  359. data/ext/ice/cpp/src/Ice/RouterF.cpp +10 -4
  360. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +1 -1
  361. data/ext/ice/cpp/src/Ice/RouterInfo.h +1 -1
  362. data/ext/ice/cpp/src/Ice/RouterInfoF.h +1 -1
  363. data/ext/ice/cpp/src/Ice/Selector.cpp +480 -1
  364. data/ext/ice/cpp/src/Ice/Selector.h +130 -1
  365. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +11 -5
  366. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +10 -4
  367. data/ext/ice/cpp/src/Ice/ServantManager.cpp +29 -23
  368. data/ext/ice/cpp/src/Ice/ServantManager.h +1 -1
  369. data/ext/ice/cpp/src/Ice/SharedContext.h +1 -1
  370. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +10 -4
  371. data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +1 -1
  372. data/ext/ice/cpp/src/Ice/SlicedData.cpp +1 -1
  373. data/ext/ice/cpp/src/Ice/Stream.cpp +1 -1
  374. data/ext/ice/cpp/src/Ice/StreamI.cpp +1 -1
  375. data/ext/ice/cpp/src/Ice/StreamI.h +1 -1
  376. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +30 -22
  377. data/ext/ice/cpp/src/Ice/StreamSocket.h +7 -4
  378. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +1 -1
  379. data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +1 -1
  380. data/ext/ice/cpp/src/Ice/SysLoggerI.h +1 -1
  381. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +8 -8
  382. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +1 -1
  383. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +1 -1
  384. data/ext/ice/cpp/src/Ice/TcpConnector.h +1 -1
  385. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +21 -38
  386. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +5 -6
  387. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +29 -4
  388. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +7 -2
  389. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +2 -2
  390. data/ext/ice/cpp/src/Ice/ThreadPool.h +1 -1
  391. data/ext/ice/cpp/src/Ice/TraceLevels.cpp +2 -2
  392. data/ext/ice/cpp/src/Ice/TraceLevels.h +1 -1
  393. data/ext/ice/cpp/src/Ice/TraceLevelsF.h +1 -1
  394. data/ext/ice/cpp/src/Ice/TraceUtil.cpp +16 -7
  395. data/ext/ice/cpp/src/Ice/TraceUtil.h +1 -1
  396. data/ext/ice/cpp/src/Ice/Transceiver.cpp +1 -1
  397. data/ext/ice/cpp/src/Ice/Transceiver.h +2 -1
  398. data/ext/ice/cpp/src/Ice/TransceiverF.h +1 -1
  399. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +1 -1
  400. data/ext/ice/cpp/src/Ice/UdpConnector.h +1 -1
  401. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +13 -39
  402. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +2 -5
  403. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +46 -10
  404. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +3 -2
  405. data/ext/ice/cpp/src/Ice/Version.cpp +12 -6
  406. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +1 -1
  407. data/ext/ice/cpp/src/Ice/WSAcceptor.h +1 -1
  408. data/ext/ice/cpp/src/Ice/WSConnector.cpp +1 -1
  409. data/ext/ice/cpp/src/Ice/WSConnector.h +1 -1
  410. data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +6 -38
  411. data/ext/ice/cpp/src/Ice/WSEndpoint.h +12 -1
  412. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +31 -35
  413. data/ext/ice/cpp/src/Ice/WSTransceiver.h +13 -1
  414. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +66 -60
  415. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +106 -100
  416. data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +1 -1
  417. data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +1 -1
  418. data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +76 -36
  419. data/ext/ice/cpp/src/IceDiscovery/LookupI.h +1 -1
  420. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +19 -6
  421. data/ext/ice/cpp/src/IceDiscovery/PluginI.h +1 -1
  422. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +452 -0
  423. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +732 -0
  424. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +520 -0
  425. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.h +36 -0
  426. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +8 -8
  427. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +1 -1
  428. data/ext/ice/cpp/src/IceSSL/Certificate.cpp +49 -47
  429. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +13 -5
  430. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +1 -1
  431. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +1 -1
  432. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +10 -38
  433. data/ext/ice/cpp/src/IceSSL/EndpointI.h +4 -3
  434. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +13 -5
  435. data/ext/ice/cpp/src/IceSSL/Instance.cpp +2 -2
  436. data/ext/ice/cpp/src/IceSSL/Instance.h +1 -1
  437. data/ext/ice/cpp/src/IceSSL/InstanceF.h +1 -1
  438. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +107 -111
  439. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +130 -47
  440. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +11 -3
  441. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +8 -14
  442. data/ext/ice/cpp/src/IceSSL/PluginI.h +1 -1
  443. data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +1 -1
  444. data/ext/ice/cpp/src/IceSSL/RFC2253.h +1 -1
  445. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +238 -156
  446. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +93 -66
  447. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +7 -3
  448. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +2 -2
  449. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +32 -35
  450. data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +1 -1
  451. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +244 -360
  452. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +59 -29
  453. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +8 -4
  454. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +1 -1
  455. data/ext/ice/cpp/src/IceSSL/TrustManager.h +1 -1
  456. data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +1 -1
  457. data/ext/ice/cpp/src/IceSSL/Util.cpp +427 -620
  458. data/ext/ice/cpp/src/IceSSL/Util.h +72 -15
  459. data/ext/ice/cpp/src/IceUtil/ArgVector.cpp +1 -1
  460. data/ext/ice/cpp/src/IceUtil/ArgVector.h +1 -1
  461. data/ext/ice/cpp/src/IceUtil/Cond.cpp +1 -1
  462. data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +1 -1
  463. data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +1 -1
  464. data/ext/ice/cpp/src/IceUtil/CountDownLatch.cpp +1 -1
  465. data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +1 -1
  466. data/ext/ice/cpp/src/IceUtil/Exception.cpp +105 -96
  467. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +2 -1
  468. data/ext/ice/cpp/src/IceUtil/FileUtil.h +9 -1
  469. data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +1 -1
  470. data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +1 -1
  471. data/ext/ice/cpp/src/IceUtil/Options.cpp +1 -1
  472. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +12 -25
  473. data/ext/ice/cpp/src/IceUtil/Random.cpp +1 -1
  474. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +1 -1
  475. data/ext/ice/cpp/src/IceUtil/SHA1.cpp +72 -10
  476. data/ext/ice/cpp/src/IceUtil/Shared.cpp +3 -132
  477. data/ext/ice/cpp/src/IceUtil/StopWatch.h +1 -1
  478. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +1 -1
  479. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +1 -1
  480. data/ext/ice/cpp/src/IceUtil/Thread.cpp +16 -1
  481. data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +1 -1
  482. data/ext/ice/cpp/src/IceUtil/Time.cpp +1 -1
  483. data/ext/ice/cpp/src/IceUtil/Timer.cpp +1 -1
  484. data/ext/ice/cpp/src/IceUtil/UUID.cpp +1 -1
  485. data/ext/ice/cpp/src/IceUtil/Unicode.cpp +1 -1
  486. data/ext/ice/cpp/src/IceUtil/Unicode.h +1 -1
  487. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +62 -55
  488. data/ext/ice/cpp/src/Slice/Checksum.cpp +1 -1
  489. data/ext/ice/cpp/src/Slice/CsUtil.cpp +8 -29
  490. data/ext/ice/cpp/src/Slice/DotNetNames.cpp +1 -1
  491. data/ext/ice/cpp/src/Slice/FileTracker.cpp +1 -1
  492. data/ext/ice/cpp/src/Slice/Grammar.cpp +1 -1
  493. data/ext/ice/cpp/src/Slice/GrammarUtil.h +1 -1
  494. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +145 -172
  495. data/ext/ice/cpp/src/Slice/MD5.cpp +1 -1
  496. data/ext/ice/cpp/src/Slice/MD5.h +1 -1
  497. data/ext/ice/cpp/src/Slice/ObjCUtil.cpp +1310 -0
  498. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +1 -1
  499. data/ext/ice/cpp/src/Slice/Parser.cpp +65 -187
  500. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +61 -9
  501. data/ext/ice/cpp/src/Slice/Python.cpp +36 -3
  502. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +10 -10
  503. data/ext/ice/cpp/src/Slice/Ruby.cpp +34 -3
  504. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +8 -7
  505. data/ext/ice/cpp/src/Slice/Scanner.cpp +1 -1
  506. data/ext/ice/cpp/src/Slice/Util.cpp +137 -30
  507. data/ext/ice/mcpp/LICENSE +29 -0
  508. data/ext/ice/mcpp/Makefile +60 -0
  509. data/ext/ice/mcpp/Makefile.mak +46 -0
  510. data/ext/ice/mcpp/README.md +30 -0
  511. data/ext/ice/mcpp/config.h +89 -0
  512. data/ext/ice/mcpp/configed.H +1 -146
  513. data/ext/ice/mcpp/directive.c +115 -410
  514. data/ext/ice/mcpp/eval.c +38 -377
  515. data/ext/ice/mcpp/expand.c +155 -852
  516. data/ext/ice/mcpp/internal.H +10 -44
  517. data/ext/ice/mcpp/main.c +6 -345
  518. data/ext/ice/mcpp/mbchar.c +17 -654
  519. data/ext/ice/mcpp/mcpp.gyp +62 -0
  520. data/ext/ice/mcpp/support.c +116 -943
  521. data/ext/ice/mcpp/system.H +0 -23
  522. data/ext/ice/mcpp/system.c +81 -2321
  523. data/ice.gemspec +3 -4
  524. data/lib/Glacier2.rb +1 -1
  525. data/lib/Glacier2/Metrics.rb +2 -2
  526. data/lib/Glacier2/PermissionsVerifier.rb +2 -2
  527. data/lib/Glacier2/PermissionsVerifierF.rb +2 -2
  528. data/lib/Glacier2/Router.rb +2 -2
  529. data/lib/Glacier2/RouterF.rb +2 -2
  530. data/lib/Glacier2/SSLInfo.rb +2 -2
  531. data/lib/Glacier2/Session.rb +2 -2
  532. data/lib/Ice.rb +1 -1
  533. data/lib/Ice/BuiltinSequences.rb +2 -2
  534. data/lib/Ice/Communicator.rb +2 -2
  535. data/lib/Ice/CommunicatorF.rb +2 -2
  536. data/lib/Ice/Connection.rb +26 -14
  537. data/lib/Ice/ConnectionF.rb +2 -2
  538. data/lib/Ice/Current.rb +2 -2
  539. data/lib/Ice/Endpoint.rb +4 -2
  540. data/lib/Ice/EndpointF.rb +2 -2
  541. data/lib/Ice/EndpointTypes.rb +2 -2
  542. data/lib/Ice/FacetMap.rb +2 -2
  543. data/lib/Ice/Identity.rb +2 -2
  544. data/lib/Ice/ImplicitContext.rb +2 -2
  545. data/lib/Ice/ImplicitContextF.rb +2 -2
  546. data/lib/Ice/Instrumentation.rb +2 -2
  547. data/lib/Ice/InstrumentationF.rb +2 -2
  548. data/lib/Ice/LocalException.rb +2 -2
  549. data/lib/Ice/Locator.rb +2 -2
  550. data/lib/Ice/LocatorF.rb +2 -2
  551. data/lib/Ice/Logger.rb +2 -2
  552. data/lib/Ice/LoggerF.rb +2 -2
  553. data/lib/Ice/Metrics.rb +2 -2
  554. data/lib/Ice/ObjectAdapterF.rb +2 -2
  555. data/lib/Ice/ObjectFactory.rb +2 -2
  556. data/lib/Ice/ObjectFactoryF.rb +2 -2
  557. data/lib/Ice/Plugin.rb +2 -2
  558. data/lib/Ice/PluginF.rb +2 -2
  559. data/lib/Ice/Process.rb +2 -2
  560. data/lib/Ice/ProcessF.rb +2 -2
  561. data/lib/Ice/Properties.rb +2 -2
  562. data/lib/Ice/PropertiesAdmin.rb +2 -2
  563. data/lib/Ice/PropertiesF.rb +2 -2
  564. data/lib/Ice/Router.rb +2 -2
  565. data/lib/Ice/RouterF.rb +2 -2
  566. data/lib/Ice/SliceChecksumDict.rb +2 -2
  567. data/lib/Ice/Version.rb +2 -2
  568. data/lib/IceBox.rb +1 -1
  569. data/lib/IceBox/IceBox.rb +2 -2
  570. data/lib/IceGrid.rb +1 -1
  571. data/lib/IceGrid/Admin.rb +2 -2
  572. data/lib/IceGrid/Descriptor.rb +2 -2
  573. data/lib/IceGrid/Exception.rb +2 -2
  574. data/lib/IceGrid/FileParser.rb +2 -2
  575. data/lib/IceGrid/Locator.rb +2 -2
  576. data/lib/IceGrid/Observer.rb +2 -2
  577. data/lib/IceGrid/Query.rb +2 -2
  578. data/lib/IceGrid/Registry.rb +2 -2
  579. data/lib/IceGrid/Session.rb +2 -2
  580. data/lib/IceGrid/UserAccountMapper.rb +2 -2
  581. data/lib/IcePatch2.rb +1 -1
  582. data/lib/IcePatch2/FileInfo.rb +52 -2
  583. data/lib/IcePatch2/FileServer.rb +33 -4
  584. data/lib/IceStorm.rb +1 -1
  585. data/lib/IceStorm/IceStorm.rb +2 -2
  586. data/lib/IceStorm/Metrics.rb +2 -2
  587. data/slice/Freeze/BackgroundSaveEvictor.ice +2 -2
  588. data/slice/Freeze/CatalogData.ice +2 -2
  589. data/slice/Freeze/Connection.ice +2 -2
  590. data/slice/Freeze/ConnectionF.ice +2 -2
  591. data/slice/Freeze/DB.ice +2 -2
  592. data/slice/Freeze/Evictor.ice +2 -2
  593. data/slice/Freeze/EvictorF.ice +2 -2
  594. data/slice/Freeze/EvictorStorage.ice +2 -2
  595. data/slice/Freeze/Exception.ice +2 -2
  596. data/slice/Freeze/Transaction.ice +2 -2
  597. data/slice/Freeze/TransactionalEvictor.ice +2 -2
  598. data/slice/Glacier2/Metrics.ice +7 -6
  599. data/slice/Glacier2/PermissionsVerifier.ice +4 -3
  600. data/slice/Glacier2/PermissionsVerifierF.ice +3 -2
  601. data/slice/Glacier2/Router.ice +4 -3
  602. data/slice/Glacier2/RouterF.ice +3 -2
  603. data/slice/Glacier2/SSLInfo.ice +3 -2
  604. data/slice/Glacier2/Session.ice +12 -11
  605. data/slice/Ice/BuiltinSequences.ice +4 -3
  606. data/slice/Ice/Communicator.ice +22 -25
  607. data/slice/Ice/CommunicatorF.ice +3 -2
  608. data/slice/Ice/Connection.ice +39 -11
  609. data/slice/Ice/ConnectionF.ice +3 -2
  610. data/slice/Ice/Current.ice +4 -3
  611. data/slice/Ice/Endpoint.ice +11 -3
  612. data/slice/Ice/EndpointF.ice +3 -2
  613. data/slice/Ice/EndpointTypes.ice +3 -2
  614. data/slice/Ice/FacetMap.ice +3 -2
  615. data/slice/Ice/Identity.ice +3 -2
  616. data/slice/Ice/ImplicitContext.ice +3 -2
  617. data/slice/Ice/ImplicitContextF.ice +3 -2
  618. data/slice/Ice/Instrumentation.ice +4 -2
  619. data/slice/Ice/InstrumentationF.ice +4 -2
  620. data/slice/Ice/LocalException.ice +29 -10
  621. data/slice/Ice/Locator.ice +5 -3
  622. data/slice/Ice/LocatorF.ice +3 -2
  623. data/slice/Ice/Logger.ice +3 -2
  624. data/slice/Ice/LoggerF.ice +3 -2
  625. data/slice/Ice/Metrics.ice +15 -14
  626. data/slice/Ice/ObjectAdapter.ice +5 -4
  627. data/slice/Ice/ObjectAdapterF.ice +3 -2
  628. data/slice/Ice/ObjectFactory.ice +3 -2
  629. data/slice/Ice/ObjectFactoryF.ice +3 -2
  630. data/slice/Ice/Plugin.ice +3 -2
  631. data/slice/Ice/PluginF.ice +3 -2
  632. data/slice/Ice/Process.ice +3 -2
  633. data/slice/Ice/ProcessF.ice +3 -2
  634. data/slice/Ice/Properties.ice +3 -2
  635. data/slice/Ice/PropertiesAdmin.ice +3 -2
  636. data/slice/Ice/PropertiesF.ice +3 -2
  637. data/slice/Ice/RemoteLogger.ice +3 -2
  638. data/slice/Ice/Router.ice +3 -2
  639. data/slice/Ice/RouterF.ice +3 -2
  640. data/slice/Ice/ServantLocator.ice +3 -2
  641. data/slice/Ice/ServantLocatorF.ice +3 -2
  642. data/slice/Ice/SliceChecksumDict.ice +3 -2
  643. data/slice/Ice/Version.ice +3 -2
  644. data/slice/IceBox/IceBox.ice +2 -2
  645. data/slice/IceDiscovery/IceDiscovery.ice +2 -2
  646. data/slice/IceGrid/Admin.ice +49 -48
  647. data/slice/IceGrid/Descriptor.ice +3 -2
  648. data/slice/IceGrid/Exception.ice +6 -5
  649. data/slice/IceGrid/FileParser.ice +4 -3
  650. data/slice/IceGrid/Locator.ice +4 -3
  651. data/slice/IceGrid/Observer.ice +28 -27
  652. data/slice/IceGrid/PluginFacade.ice +3 -2
  653. data/slice/IceGrid/Query.ice +3 -2
  654. data/slice/IceGrid/Registry.ice +4 -3
  655. data/slice/IceGrid/Session.ice +9 -8
  656. data/slice/IceGrid/UserAccountMapper.ice +4 -3
  657. data/slice/{IceGrid/Discovery.ice → IceLocatorDiscovery/IceLocatorDiscovery.ice} +12 -14
  658. data/slice/IcePatch2/FileInfo.ice +31 -2
  659. data/slice/IcePatch2/FileServer.ice +63 -5
  660. data/slice/IceSSL/ConnectionInfo.ice +17 -2
  661. data/slice/IceSSL/EndpointInfo.ice +21 -3
  662. data/slice/IceStorm/IceStorm.ice +3 -2
  663. data/slice/IceStorm/Metrics.ice +4 -3
  664. metadata +27 -23
  665. data/ext/ice/cpp/include/Ice/Makefile +0 -26
  666. data/ext/ice/cpp/include/IceSSL/Makefile +0 -26
  667. data/ext/ice/cpp/include/IceUtil/Makefile +0 -26
  668. data/ext/ice/cpp/include/Slice/Makefile +0 -26
  669. data/ext/ice/cpp/src/Ice/Application.cpp +0 -760
  670. data/ext/ice/cpp/src/Ice/EventLoggerMsg.h +0 -53
  671. data/ext/ice/cpp/src/Ice/Makefile +0 -190
  672. data/ext/ice/cpp/src/Ice/Service.cpp +0 -1897
  673. data/ext/ice/cpp/src/IceDiscovery/Makefile +0 -61
  674. data/ext/ice/cpp/src/IceSSL/Makefile +0 -82
  675. data/ext/ice/cpp/src/IceUtil/Makefile +0 -68
  676. data/ext/ice/cpp/src/Slice/Makefile +0 -65
  677. data/ext/ice/mcpp/config.h.Darwin +0 -227
  678. data/ext/ice/mcpp/config.h.Linux +0 -227
  679. data/ext/ice/mcpp/config.h.MINGW +0 -7
@@ -0,0 +1,89 @@
1
+ // **********************************************************************
2
+ //
3
+ // Copyright (c) 2015 ZeroC, Inc. All rights reserved.
4
+ //
5
+ // **********************************************************************
6
+
7
+ // Simplified and reduced version of config.h, with support for Windows,
8
+ // OS X and Linux.
9
+
10
+ #define COMPILER INDEPENDENT
11
+
12
+ // Windows support for MSC and MINGW
13
+ #if defined(_WIN32)
14
+
15
+ #define HOST_COMPILER MSC
16
+ #define HOST_SYSTEM SYS_WIN
17
+ #define SYSTEM SYS_WIN
18
+ #define OBJEXT "obj"
19
+
20
+ #elif defined(__APPLE__)
21
+
22
+ /* Define if the cases of file name are folded. */
23
+ #define FNAME_FOLD 1
24
+
25
+ /* Define to 1 if the system has the type `intmax_t'. */
26
+ #define HAVE_INTMAX_T 1
27
+
28
+ /* Define to 1 if you have the <inttypes.h> header file. */
29
+ #define HAVE_INTTYPES_H 1
30
+
31
+ /* Define to 1 if the system has the type `long long'. */
32
+ #define HAVE_LONG_LONG 1
33
+
34
+ /* Define to 1 if you have the <stdint.h> header file. */
35
+ #define HAVE_STDINT_H 1
36
+
37
+ /* Define to 1 if you have the `stpcpy' function. */
38
+ #define HAVE_STPCPY 1
39
+
40
+ /* Define the host compiler. */
41
+ #define HOST_COMPILER GNUC
42
+
43
+ /* Define the host system. */
44
+ #define HOST_SYSTEM SYS_MAC
45
+
46
+ /* Define printf length modifier for the longest integer. */
47
+ #define LL_FORM "j"
48
+
49
+ /* Define the suffix of object file. */
50
+ #define OBJEXT "o"
51
+
52
+ /* Define the target system. */
53
+ #define SYSTEM SYS_MAC
54
+
55
+ #else
56
+
57
+ // Linux.
58
+
59
+ /* Define to 1 if the system has the type `intmax_t'. */
60
+ #define HAVE_INTMAX_T 1
61
+
62
+ /* Define to 1 if you have the <inttypes.h> header file. */
63
+ #define HAVE_INTTYPES_H 1
64
+
65
+ /* Define to 1 if the system has the type `long long'. */
66
+ #define HAVE_LONG_LONG 1
67
+
68
+ /* Define to 1 if you have the <stdint.h> header file. */
69
+ #define HAVE_STDINT_H 1
70
+
71
+ /* Define to 1 if you have the `stpcpy' function. */
72
+ #define HAVE_STPCPY 1
73
+
74
+ /* Define the host compiler. */
75
+ #define HOST_COMPILER GNUC
76
+
77
+ /* Define the host system. */
78
+ #define HOST_SYSTEM SYS_LINUX
79
+
80
+ /* Define printf length modifier for the longest integer. */
81
+ #define LL_FORM "j"
82
+
83
+ /* Define the suffix of object file. */
84
+ #define OBJEXT "o"
85
+
86
+ /* Define the target system. */
87
+ #define SYSTEM SYS_LINUX
88
+
89
+ #endif
@@ -56,15 +56,6 @@
56
56
  #define COMPILER_FAMILY (COMPILER & 0xF0)
57
57
  #define HOST_SYS_FAMILY (HOST_SYSTEM & 0xF000)
58
58
 
59
- /* Default MBCHAR (multi-byte character) encoding. */
60
- #define EUC_JP 0x10 /* Extended UNIX code of JIS X 0208 */
61
- #define GB2312 0x20 /* EUC-like encoding of Chinese GB 2312-80 */
62
- #define KSC5601 0x30 /* EUC-like encoding of Korean KS C 5601 */
63
- #define SJIS 0x80 /* Shift-JIS encoding of JIS X 0208 */
64
- #define BIGFIVE 0x90 /* Encoding of Taiwanese Big Five */
65
- #define ISO2022_JP 0x100 /* ISO-2022-JP (ISO-2022-JP1) encoding */
66
- #define UTF8 0x1000 /* UTF-8 encoding */
67
-
68
59
  /*
69
60
  * MBCHAR means multi-byte character encoding.
70
61
  * MBCHAR means the default encoding, and you can change the encoding by
@@ -138,88 +129,13 @@
138
129
  #define CURRENT 1
139
130
  #define SOURCE 2
140
131
 
141
- #if SYS_FAMILY == SYS_UNIX
142
- #define SYSTEM_OLD "unix"
143
- #define SYSTEM_STD1 "__unix"
144
- #define SYSTEM_STD2 "__unix__"
145
- #endif
146
-
147
- #if SYSTEM == SYS_FREEBSD
148
- #define SYSTEM_EXT "__FreeBSD__"
149
- #endif
150
-
151
- #if SYSTEM == SYS_LINUX
152
- #define SYSTEM_EXT "__linux__"
153
- #endif
154
-
155
- #if SYSTEM == SYS_MAC
156
- #define SYSTEM_EXT "__APPLE__"
157
- #endif
158
-
159
- #if SYSTEM == SYS_CYGWIN
160
- #define SYSTEM_EXT "__CYGWIN__"
161
- #if defined (__CYGWIN64__)
162
- #define SYSTEM_EXT2 "__CYGWIN64__"
163
- #else
164
- #define SYSTEM_EXT2 "__CYGWIN32__"
165
- #endif
166
- #ifndef MBCHAR
167
- #define MBCHAR SJIS
168
- #endif
169
- #endif
170
-
171
- #if SYSTEM == SYS_MINGW
172
- #define SYSTEM_EXT "__MINGW__"
173
- #if defined (__MINGW64__)
174
- #define SYSTEM_EXT2 "__MINGW64__"
175
- #else
176
- #define SYSTEM_EXT2 "__MINGW32__"
177
- #endif
178
- #ifndef MBCHAR
179
- #define MBCHAR SJIS
180
- #endif
181
- #endif
182
-
183
- #if SYS_FAMILY == SYS_UNIX
184
- #ifndef MBCHAR
185
- #define MBCHAR EUC_JP /* UTF8 if you like */
186
- #endif
187
- #endif
188
-
189
- #if COMPILER == GNUC
190
- #define COMPILER_EXT "__GNUC__"
191
- #define COMPILER_EXT_VAL GCC_MAJOR_VERSION
192
- #define COMPILER_EXT2 "__GNUC_MINOR__"
193
- #define COMPILER_EXT2_VAL GCC_MINOR_VERSION
194
- #define COMPILER_CPLUS "__GNUG__"
195
- #define COMPILER_CPLUS_VAL GCC_MAJOR_VERSION
196
- #ifndef ENV_C_INCLUDE_DIR
197
- #define ENV_C_INCLUDE_DIR "C_INCLUDE_PATH"
198
- #define ENV_CPLUS_INCLUDE_DIR "CPLUS_INCLUDE_PATH"
199
- #endif
200
- /*
201
- * __SIZE_TYPE__, __PTRDIFF_TYPE__ and __WCHAR_TYPE__ are the predefines of
202
- * GCC and undocumented in GCC 2.
203
- * On GCC V.3.*, V.4.*, these macros are known by mcpp_g*_predef_*.h files.
204
- */
205
- #if __GNUC__ == 2
206
- #define COMPILER_SP1 "__SIZE_TYPE__"
207
- #define COMPILER_SP2 "__PTRDIFF_TYPE__"
208
- #define COMPILER_SP3 "__WCHAR_TYPE__"
209
- #endif
210
-
211
- #define CMP_NAME "GCC"
212
- #endif /* COMPILER == GNUC */
132
+ #define MBCHAR UTF8
213
133
 
214
134
  #if COMPILER == INDEPENDENT
215
135
  /* specifications of compiler-independent-build */
216
136
  #define LINE_PREFIX "#line "
217
137
  #define STD_LINE_PREFIX TRUE /* Output #line by C source format */
218
- #define HAVE_DIGRAPHS TRUE /* Output digraphs as it is */
219
138
  #define SEARCH_INIT SOURCE /* Include directory relative to source */
220
- #define SJIS_IS_ESCAPE_FREE TRUE /* Do not treat SJIS specially */
221
- #define BIGFIVE_IS_ESCAPE_FREE TRUE /* Do not treat specially */
222
- #define ISO2022_JP_IS_ESCAPE_FREE TRUE /* Do not treat specially */
223
139
  #define TARGET_HAVE_LONG_LONG TRUE /* dummy */
224
140
  #define STDC_VERSION 199409L /* Initial value of __STDC_VERSION__ */
225
141
  #endif
@@ -228,41 +144,6 @@
228
144
  * defaults
229
145
  */
230
146
 
231
- #ifdef SYSTEM_EXT
232
- #ifndef SYSTEM_EXT_VAL
233
- #define SYSTEM_EXT_VAL "1"
234
- #endif
235
- #endif
236
- #ifdef SYSTEM_EXT2
237
- #ifndef SYSTEM_EXT2_VAL
238
- #define SYSTEM_EXT2_VAL "1"
239
- #endif
240
- #endif
241
- #ifdef COMPILER_STD1
242
- #ifndef COMPILER_STD1_VAL
243
- #define COMPILER_STD1_VAL "1"
244
- #endif
245
- #endif
246
- #ifdef COMPILER_STD2
247
- #ifndef COMPILER_STD2_VAL
248
- #define COMPILER_STD2_VAL "1"
249
- #endif
250
- #endif
251
- #ifdef COMPILER_EXT
252
- #ifndef COMPILER_EXT_VAL
253
- #define COMPILER_EXT_VAL "1"
254
- #endif
255
- #endif
256
- #ifdef COMPILER_EXT2
257
- #ifndef COMPILER_EXT2_VAL
258
- #define COMPILER_EXT2_VAL "1"
259
- #endif
260
- #endif
261
- #ifdef COMPILER_CPLUS
262
- #ifndef COMPILER_CPLUS_VAL
263
- #define COMPILER_CPLUS_VAL "1"
264
- #endif
265
- #endif
266
147
 
267
148
  #ifndef ENV_C_INCLUDE_DIR
268
149
  #define ENV_C_INCLUDE_DIR "INCLUDE"
@@ -315,32 +196,6 @@
315
196
  #define LONGMAX LONG_MAX
316
197
  #define ULONGMAX ULONG_MAX
317
198
 
318
- /*
319
- * Define MBCHAR (multi-byte character encoding) to SJIS, EUC_JP or other.
320
- */
321
- #ifndef MBCHAR
322
- #define MBCHAR 0
323
- #endif
324
-
325
- /*
326
- * SJIS_IS_ESCAPE_FREE means the compiler does not escape '0x5c' ('\\') in
327
- * shift-JIS encoded multi-byte character. SJIS_IS_ESCAPE_FREE == FALSE
328
- * enables cpp to insert * '\\' before '\\' of the 2nd byte of SJIS code in
329
- * literal. This insertion is for the compiler-proper which can't recognize
330
- * SJIS literal.
331
- * BIGFIVE_IS_ESCAPE_FREE means similar case on BIGFIVE encoding.
332
- * ISO2022_JP_IS_ESCAPE_FREE means similar case on ISO2022_JP encoding.
333
- */
334
- #ifndef SJIS_IS_ESCAPE_FREE
335
- #define SJIS_IS_ESCAPE_FREE FALSE /* or TRUE following your compiler */
336
- #endif
337
- #ifndef BIGFIVE_IS_ESCAPE_FREE
338
- #define BIGFIVE_IS_ESCAPE_FREE FALSE /* or TRUE following your compiler */
339
- #endif
340
- #ifndef ISO2022_JP_IS_ESCAPE_FREE
341
- #define ISO2022_JP_IS_ESCAPE_FREE FALSE /* or TRUE following compiler */
342
- #endif
343
-
344
199
  /*
345
200
  * P A R T 2 Configurations for host-compiler.
346
201
  *
@@ -35,12 +35,8 @@
35
35
  * are placed here.
36
36
  */
37
37
 
38
- #if PREPROCESSED
39
- #include "mcpp.H"
40
- #else
41
38
  #include "system.H"
42
39
  #include "internal.H"
43
- #endif
44
40
 
45
41
  static int do_if( int hash, const char * directive_name);
46
42
  /* #if, #elif, #ifdef, #ifndef */
@@ -58,8 +54,6 @@ static char * def_stringization( char * repl_cur);
58
54
  /* Define stringization */
59
55
  static char * mgtoken_save( const char * macroname);
60
56
  /* Prefix DEF_MAGIC to macro name in repl-text */
61
- static char * str_parm_scan( char * string_end);
62
- /* Scan the parameter in quote */
63
57
  static void do_undef( void);
64
58
  /* Process #undef directive */
65
59
  static void dump_repl( const DEFBUF * dp, FILE * fp, int gcc2_va);
@@ -79,9 +73,6 @@ static void dump_repl( const DEFBUF * dp, FILE * fp, int gcc2_va);
79
73
  #define L_undef ('u' ^ ('d' << 1))
80
74
  #define L_line ('l' ^ ('n' << 1))
81
75
  #define L_include ('i' ^ ('c' << 1))
82
- #if COMPILER == GNUC
83
- #define L_include_next ('i' ^ ('c' << 1) ^ ('_' << 1))
84
- #endif
85
76
  #if SYSTEM == SYS_MAC
86
77
  #define L_import ('i' ^ ('p' << 1))
87
78
  #endif
@@ -121,27 +112,13 @@ void directive( void)
121
112
  if (c == '\n') /* 'null' directive */
122
113
  goto ret;
123
114
  token_type = scan_token( c, (workp = work_buf, &workp), work_end);
124
- if (in_asm && (token_type != NAM
125
- || (! str_eq( identifier, "asm")
126
- && ! str_eq( identifier, "endasm"))))
127
- /* In #asm block, ignore #anything other than #asm or #endasm */
128
- goto skip_line;
129
115
  if (token_type != NAM) {
130
- if (mcpp_mode == OLD_PREP && token_type == NUM) { /* # 123 [fname]*/
131
- strcpy( identifier, "line");
132
- } else {
133
- if (compiling) {
134
- if (option_flags.lang_asm) {
135
- if (warn_level & 1)
136
- cwarn( illeg_dir, work_buf, 0L, NULL);
137
- } else {
138
- cerror( illeg_dir, work_buf, 0L, NULL);
139
- }
140
- } else if (warn_level & 8) {
141
- cwarn( illeg_dir, work_buf, 0L, in_skipped);
142
- }
143
- goto skip_line;
116
+ if (compiling) {
117
+ cerror( illeg_dir, work_buf, 0L, NULL);
118
+ } else if (warn_level & 8) {
119
+ cwarn( illeg_dir, work_buf, 0L, in_skipped);
144
120
  }
121
+ goto skip_line;
145
122
  }
146
123
  hash = (identifier[ 1] == EOS) ? identifier[ 0]
147
124
  : (identifier[ 0] ^ (identifier[ 2] << 1));
@@ -160,9 +137,6 @@ void directive( void)
160
137
  case L_undef: tp = "undef"; break;
161
138
  case L_line: tp = "line"; break;
162
139
  case L_include: tp = "include"; break;
163
- #if COMPILER == GNUC
164
- case L_include_next: tp = "include_next"; break;
165
- #endif
166
140
  #if SYSTEM == SYS_MAC
167
141
  case L_import: tp = "import"; break;
168
142
  #endif
@@ -179,11 +153,6 @@ void directive( void)
179
153
  if (! compiling) { /* Not compiling now */
180
154
  switch (hash) {
181
155
  case L_elif :
182
- if (! standard) {
183
- if (warn_level & 8)
184
- do_old(); /* Unknown directive */
185
- goto skip_line; /* Skip the line */
186
- } /* Else fall through */
187
156
  case L_else : /* Test the #if's nest, if 0, compile */
188
157
  case L_endif: /* Un-nest #if */
189
158
  break;
@@ -192,7 +161,7 @@ void directive( void)
192
161
  case L_ifndef : /* we must nest #if's.*/
193
162
  if (&ifstack[ BLK_NEST] < ++ifptr)
194
163
  goto if_nest_err;
195
- if (standard && (warn_level & 8)
164
+ if ((warn_level & 8)
196
165
  && &ifstack[ std_limits.blk_nest + 1] == ifptr)
197
166
  cwarn( many_nesting, NULL, (long) std_limits.blk_nest
198
167
  , in_skipped);
@@ -216,7 +185,7 @@ void directive( void)
216
185
  case L_ifndef:
217
186
  if (&ifstack[ BLK_NEST] < ++ifptr)
218
187
  goto if_nest_err;
219
- if (standard && (warn_level & 4) &&
188
+ if ((warn_level & 4) &&
220
189
  &ifstack[ std_limits.blk_nest + 1] == ifptr)
221
190
  cwarn( many_nesting, NULL , (long) std_limits.blk_nest, NULL);
222
191
  ifptr->stat = WAS_COMPILING;
@@ -224,10 +193,6 @@ void directive( void)
224
193
  goto ifdo;
225
194
 
226
195
  case L_elif:
227
- if (! standard) {
228
- do_old(); /* Unrecognized directive */
229
- break;
230
- }
231
196
  if (ifptr == &ifstack[0])
232
197
  goto nest_err;
233
198
  if (ifptr == infile->initif) {
@@ -258,10 +223,7 @@ ifdo:
258
223
  if (ifptr == &ifstack[0])
259
224
  goto nest_err;
260
225
  if (ifptr == infile->initif) {
261
- if (standard)
262
- goto in_file_nest_err;
263
- else if (warn_level & 1)
264
- cwarn( not_in_section, NULL, 0L, NULL);
226
+ goto in_file_nest_err;
265
227
  }
266
228
  if (ifptr->stat & ELSE_SEEN)
267
229
  goto else_seen_err;
@@ -284,10 +246,7 @@ ifdo:
284
246
  if (ifptr == &ifstack[0])
285
247
  goto nest_err;
286
248
  if (ifptr <= infile->initif) {
287
- if (standard)
288
- goto in_file_nest_err;
289
- else if (warn_level & 1)
290
- cwarn( not_in_section, NULL, 0L, NULL);
249
+ goto in_file_nest_err;
291
250
  }
292
251
  if (! compiling && (ifptr->stat & WAS_COMPILING))
293
252
  wrong_line = TRUE;
@@ -327,18 +286,10 @@ ifdo:
327
286
  break;
328
287
 
329
288
  case L_error:
330
- if (! standard) {
331
- do_old(); /* Unrecognized directive */
332
- break;
333
- }
334
289
  cerror( infile->buffer, NULL, 0L, NULL); /* _E_ */
335
290
  break;
336
291
 
337
292
  case L_pragma:
338
- if (! standard) {
339
- do_old(); /* Unrecognized directive */
340
- break;
341
- }
342
293
  do_pragma();
343
294
  newlines = -1; /* Do not putout excessive '\n' */
344
295
  break;
@@ -354,42 +305,19 @@ ifdo:
354
305
  case L_define :
355
306
  case L_line :
356
307
  goto skip_line; /* To prevent duplicate error message */
357
- #if COMPILER == GNUC
358
- case L_include_next :
359
- if (file != infile) /* File has been included */
360
- newlines = -1;
361
- #endif
362
308
  #if SYSTEM == SYS_MAC
363
309
  case L_import :
364
310
  if (file != infile) /* File has been included */
365
311
  newlines = -1;
366
312
  #endif
367
313
  case L_error :
368
- if (standard)
369
- goto skip_line;
370
- /* Else fall through */
314
+ goto skip_line;
371
315
  case L_include :
372
316
  case L_pragma :
373
- if (standard)
374
- break; /* Already read over the line */
375
- /* Else fall through */
317
+ break; /* Already read over the line */
376
318
  default : /* L_else, L_endif, L_undef, etc. */
377
- if (mcpp_mode == OLD_PREP) {
378
- /*
379
- * Ignore the rest of the #directive line so you can write
380
- * #if foo
381
- * #endif foo
382
- */
383
- ;
384
- } else if (skip_ws() != '\n') {
385
- #if COMPILER == GNUC
386
- if (standard && hash != L_endif)
387
- #else
388
- if (standard)
389
- #endif
390
- cerror( excess, infile->bptr-1, 0L, NULL);
391
- else if (warn_level & 1)
392
- cwarn( excess, infile->bptr-1, 0L, NULL);
319
+ if (skip_ws() != '\n') {
320
+ cerror( excess, infile->bptr-1, 0L, NULL);
393
321
  }
394
322
  skip_nl();
395
323
  }
@@ -414,7 +342,6 @@ if_nest_err:
414
342
  ret:
415
343
  in_directive = FALSE;
416
344
  keep_comments = option_flags.c && compiling && !no_output;
417
- keep_spaces = option_flags.k && compiling;
418
345
  /* keep_spaces is on for #define line even if no_output is TRUE */
419
346
  if (! wrong_line)
420
347
  newlines++;
@@ -514,32 +441,23 @@ static long do_line( void)
514
441
  return -1L; /* Line number is not changed */
515
442
  }
516
443
 
517
- if (standard) {
518
- token_type = get_unexpandable( c, FALSE);
519
- if (macro_line == MACRO_ERROR) /* Unterminated macro */
520
- return -1L; /* already diagnosed. */
521
- if (token_type == NO_TOKEN) /* Macro expanded to 0 token */
522
- goto no_num;
523
- if (token_type != NUM)
524
- goto illeg_num;
525
- } else if (scan_token( c, (workp = work_buf, &workp), work_end) != NUM) {
444
+ token_type = get_unexpandable( c, FALSE);
445
+ if (macro_line == MACRO_ERROR) /* Unterminated macro */
446
+ return -1L; /* already diagnosed. */
447
+ if (token_type == NO_TOKEN) /* Macro expanded to 0 token */
448
+ goto no_num;
449
+ if (token_type != NUM)
526
450
  goto illeg_num;
527
- }
528
451
  for (workp = work_buf; *workp != EOS; workp++) {
529
452
  if (! isdigit( *workp & UCHARMAX)) {
530
- if (standard) {
531
- cerror( not_digits, work_buf, 0L, NULL);
532
- return -1L;
533
- } else if (warn_level & 1) {
534
- cwarn( not_digits, work_buf, 0L, NULL);
535
- }
453
+ cerror( not_digits, work_buf, 0L, NULL);
454
+ return -1L;
536
455
  }
537
456
  }
538
457
  valp = eval_num( work_buf); /* Evaluate number */
539
458
  if (valp->sign == VAL_ERROR) { /* Error diagnosed by eval_num()*/
540
459
  return -1;
541
- } else if (standard
542
- && (std_limits.line_num < valp->val || valp->val <= 0L)) {
460
+ } else if ((std_limits.line_num < valp->val || valp->val <= 0L)) {
543
461
  if (valp->val < LINE99LIMIT && valp->val > 0L) {
544
462
  if (warn_level & 1)
545
463
  cwarn( out_of_range, work_buf, std_limits.line_num, NULL);
@@ -549,53 +467,25 @@ static long do_line( void)
549
467
  }
550
468
  }
551
469
 
552
- if (standard) {
553
- token_type = get_unexpandable( skip_ws(), FALSE);
554
- if (macro_line == MACRO_ERROR)
555
- return -1L;
556
- if (token_type != STR) {
557
- if (token_type == NO_TOKEN) { /* Filename is absent */
558
- return (long) valp->val;
559
- } else { /* Expanded macro should be a quoted string */
560
- goto not_fname;
561
- }
562
- }
563
- } else {
564
- if ((c = skip_ws()) == '\n') {
565
- unget_ch();
470
+ token_type = get_unexpandable( skip_ws(), FALSE);
471
+ if (macro_line == MACRO_ERROR)
472
+ return -1L;
473
+ if (token_type != STR) {
474
+ if (token_type == NO_TOKEN) { /* Filename is absent */
566
475
  return (long) valp->val;
567
- }
568
- if (scan_token( c, (workp = work_buf, &workp), work_end) != STR)
476
+ } else { /* Expanded macro should be a quoted string */
569
477
  goto not_fname;
478
+ }
570
479
  }
571
- #if COMPILER == GNUC
572
- if (memcmp( workp - 3, "//", 2) == 0) { /* "/cur-dir//" */
573
- save = infile->filename; /* Do not change the file name */
574
- } else
575
- #endif
576
480
  {
577
481
  *(workp - 1) = EOS; /* Ignore right '"' */
578
482
  save = save_string( &work_buf[ 1]); /* Ignore left '"' */
579
483
  }
580
484
 
581
- if (standard) {
582
- if (get_unexpandable( skip_ws(), FALSE) != NO_TOKEN) {
583
- cerror( excess, work_buf, 0L, NULL);
584
- free( save);
585
- return -1L;
586
- }
587
- } else if (mcpp_mode == OLD_PREP) {
588
- skip_nl();
589
- unget_ch();
590
- } else if ((c = skip_ws()) == '\n') {
591
- unget_ch();
592
- } else {
593
- if (warn_level & 1) {
594
- scan_token( c, (workp = work_buf, &workp), work_end);
595
- cwarn( excess, work_buf, 0, NULL);
596
- }
597
- skip_nl();
598
- unget_ch();
485
+ if (get_unexpandable( skip_ws(), FALSE) != NO_TOKEN) {
486
+ cerror( excess, work_buf, 0L, NULL);
487
+ free( save);
488
+ return -1L;
599
489
  }
600
490
 
601
491
  if (infile->filename)
@@ -641,9 +531,6 @@ static char * token_p; /* Pointer to the token scanned */
641
531
  static char * repl_base; /* Base of buffer for repl-text */
642
532
  static char * repl_end; /* End of buffer for repl-text */
643
533
  static const char * const no_ident = "No identifier"; /* _E_ */
644
- #if COMPILER == GNUC
645
- static int gcc2_va_arg; /* GCC2-spec variadic macro */
646
- #endif
647
534
 
648
535
  DEFBUF * do_define(
649
536
  int ignore_redef, /* Do not redefine */
@@ -718,43 +605,29 @@ DEFBUF * do_define(
718
605
  prevp = look_prev( identifier, &cmp);
719
606
  /* Find place in the macro list to insert the definition */
720
607
  defp = *prevp;
721
- if (standard) {
722
- if (cmp || defp->push) { /* Not known or 'pushed' macro */
723
- if (str_eq( identifier, "defined")
724
- || ((stdc_val || cplus_val)
725
- && str_eq( identifier, "__VA_ARGS__"))) {
726
- cerror(
727
- "\"%s\" shouldn't be defined", identifier, 0L, NULL); /* _E_ */
728
- return NULL;
729
- }
730
- redefined = FALSE; /* Quite new definition */
731
- } else { /* It's known: */
732
- if (ignore_redef)
733
- return defp;
734
- dnargs = (defp->nargs == DEF_NOARGS_STANDARD
735
- || defp->nargs == DEF_NOARGS_PREDEF
736
- || defp->nargs == DEF_NOARGS_PREDEF_OLD)
737
- ? DEF_NOARGS : defp->nargs;
738
- if (dnargs <= DEF_NOARGS_DYNAMIC /* __FILE__ and such */
739
- || dnargs == DEF_PRAGMA /* _Pragma() pseudo-macro */
740
- ) {
741
- cerror( predef, identifier, 0L, NULL);
742
- return NULL;
743
- } else {
744
- redefined = TRUE; /* Remember this fact */
745
- }
608
+ if (cmp || defp->push) { /* Not known or 'pushed' macro */
609
+ if (str_eq( identifier, "defined")
610
+ || ((stdc_val)
611
+ && str_eq( identifier, "__VA_ARGS__"))) {
612
+ cerror(
613
+ "\"%s\" shouldn't be defined", identifier, 0L, NULL); /* _E_ */
614
+ return NULL;
746
615
  }
747
- } else {
748
- if (cmp) {
749
- redefined = FALSE; /* Quite new definition */
750
- } else { /* It's known: */
751
- if (ignore_redef)
752
- return defp;
753
- dnargs = (defp->nargs == DEF_NOARGS_STANDARD
754
- || defp->nargs == DEF_NOARGS_PREDEF
755
- || defp->nargs == DEF_NOARGS_PREDEF_OLD)
756
- ? DEF_NOARGS : defp->nargs;
757
- redefined = TRUE;
616
+ redefined = FALSE; /* Quite new definition */
617
+ } else { /* It's known: */
618
+ if (ignore_redef)
619
+ return defp;
620
+ dnargs = (defp->nargs == DEF_NOARGS_STANDARD
621
+ || defp->nargs == DEF_NOARGS_PREDEF
622
+ || defp->nargs == DEF_NOARGS_PREDEF_OLD)
623
+ ? DEF_NOARGS : defp->nargs;
624
+ if (dnargs <= DEF_NOARGS_DYNAMIC /* __FILE__ and such */
625
+ || dnargs == DEF_PRAGMA /* _Pragma() pseudo-macro */
626
+ ) {
627
+ cerror( predef, identifier, 0L, NULL);
628
+ return NULL;
629
+ } else {
630
+ redefined = TRUE; /* Remember this fact */
758
631
  }
759
632
  }
760
633
  }
@@ -782,14 +655,13 @@ DEFBUF * do_define(
782
655
  in_define = FALSE;
783
656
  if (redefined) {
784
657
  if (dnargs != nargs || ! str_eq( defp->repl, repl_list)
785
- || (mcpp_mode == STD && ! str_eq( defp->parmnames, work_buf))
658
+ || (! str_eq( defp->parmnames, work_buf))
786
659
  ) { /* Warn if differently redefined */
787
660
  if (warn_level & 1) {
788
661
  cwarn(
789
662
  "The macro is redefined", NULL, 0L, NULL); /* _W1_ */
790
- if (! option_flags.no_source_line)
791
- dump_a_def( " previously macro", defp, FALSE, TRUE
792
- , fp_err);
663
+ dump_a_def( " previously macro", defp, FALSE, TRUE
664
+ , fp_err);
793
665
  }
794
666
  } else { /* Identical redefinition */
795
667
  return defp;
@@ -813,11 +685,6 @@ DEFBUF * do_define(
813
685
  , e_line_col.line, e_line_col.col);
814
686
  wrong_line = TRUE; /* Need #line later */
815
687
  }
816
- if (mcpp_mode == STD && cplus_val && id_operator( macroname)
817
- && (warn_level & 1))
818
- /* These are operators, not identifiers, in C++98 */
819
- cwarn( "\"%s\" is defined as macro", macroname /* _W1_ */
820
- , 0L, NULL);
821
688
  return defp;
822
689
  }
823
690
 
@@ -842,9 +709,6 @@ static int get_parm( void)
842
709
 
843
710
  parms[ 0].name = workp = work_buf;
844
711
  work_buf[ 0] = EOS;
845
- #if COMPILER == GNUC
846
- gcc2_va_arg = FALSE;
847
- #endif
848
712
 
849
713
  /* POST_STD mode */
850
714
  insert_sep = NO_SEP; /* Clear the inserted token separator */
@@ -870,7 +734,7 @@ static int get_parm( void)
870
734
  } else if (c == ',' || c == ')') {
871
735
  cerror( "Empty parameter", NULL, 0L, NULL); /* _E_ */
872
736
  return FALSE;
873
- } else if (standard && (stdc_val || cplus_val)
737
+ } else if ((stdc_val)
874
738
  && token_type == OPE && openum == OP_ELL) {
875
739
  /*
876
740
  * Enable variable argument macro which is a feature of
@@ -889,7 +753,7 @@ static int get_parm( void)
889
753
  return FALSE; /* Bad parameter syntax */
890
754
  }
891
755
  }
892
- if (standard && (stdc_val || cplus_val)
756
+ if ((stdc_val)
893
757
  && str_eq( identifier, "__VA_ARGS__")) {
894
758
  cerror( illeg_parm, parms[ nargs].name, 0L, NULL);
895
759
  return FALSE;
@@ -908,22 +772,6 @@ static int get_parm( void)
908
772
 
909
773
  *--workp = EOS; /* Remove excessive ',' */
910
774
  if (c != ')') { /* Must end at ) */
911
- #if COMPILER == GNUC
912
- /* Handle GCC2 variadic params like par... */
913
- char * tp = workp;
914
- if (mcpp_mode == STD
915
- &&(token_type = scan_token( c, &workp, work_end)) == OPE
916
- && openum == OP_ELL) {
917
- if ((c = skip_ws()) != ')') {
918
- cerror( misplaced_ellip, NULL, 0L, NULL);
919
- return FALSE;
920
- }
921
- *tp = EOS; /* Remove "..." */
922
- nargs |= VA_ARGS;
923
- gcc2_va_arg = TRUE;
924
- goto ret;
925
- }
926
- #endif
927
775
  unget_ch(); /* Push back '\n' */
928
776
  cerror(
929
777
  "Missing \",\" or \")\" in parameter list \"(%s\"" /* _E_ */
@@ -975,27 +823,21 @@ static int get_repl(
975
823
 
976
824
  *repl_cur = EOS;
977
825
  token_p = NULL;
978
- if (mcpp_mode == STD) {
979
- c = get_ch();
980
- unget_ch();
981
- if (((char_type[ c] & SPA) == 0) && (nargs < 0) && (warn_level & 1))
982
- cwarn( "No space between macro name \"%s\" and repl-text"/* _W1_ */
983
- , macroname, 0L, NULL);
984
- }
826
+ c = get_ch();
827
+ unget_ch();
828
+ if (((char_type[ c] & SPA) == 0) && (nargs < 0) && (warn_level & 1))
829
+ cwarn( "No space between macro name \"%s\" and repl-text"/* _W1_ */
830
+ , macroname, 0L, NULL);
985
831
  c = skip_ws(); /* Get to the body */
986
832
 
987
833
  while (c != '\n') {
988
- if (standard) {
989
- prev_prev_token = prev_token;
990
- prev_token = token_p;
991
- }
834
+ prev_prev_token = prev_token;
835
+ prev_token = token_p;
992
836
  token_p = repl_cur; /* Remember the pointer */
993
837
  token_type = scan_token( c, &repl_cur, repl_end);
994
838
 
995
839
  switch (token_type) {
996
840
  case OPE: /* Operator or punctuator */
997
- if (! standard)
998
- break;
999
841
  switch (openum) {
1000
842
  case OP_CAT: /* ## */
1001
843
  if (prev_token == NULL) {
@@ -1041,17 +883,8 @@ static int get_repl(
1041
883
  */
1042
884
  temp = is_formal( identifier, TRUE);
1043
885
  if (temp == NULL) { /* Not a parameter name */
1044
- if (! standard)
1045
- break;
1046
- if ((stdc_val || cplus_val)
886
+ if ((stdc_val)
1047
887
  && str_eq( identifier, "__VA_ARGS__")) {
1048
- #if COMPILER == GNUC
1049
- if (gcc2_va_arg) {
1050
- cerror( "\"%s\" cannot be used in GCC2-spec variadic macro" /* _E_ */
1051
- , identifier, 0L, NULL);
1052
- return FALSE;
1053
- }
1054
- #endif
1055
888
  cerror( "\"%s\" without corresponding \"...\"" /* _E_ */
1056
889
  , identifier, 0L, NULL);
1057
890
  return FALSE;
@@ -1060,36 +893,13 @@ static int get_repl(
1060
893
  repl_cur = temp; /* Macro name */
1061
894
  } else { /* Parameter name */
1062
895
  repl_cur = temp;
1063
- #if COMPILER == GNUC
1064
- if (mcpp_mode == STD && (nargs & VA_ARGS)
1065
- && *(repl_cur - 1) == (nargs & ~AVA_ARGS)) {
1066
- if (! str_eq( identifier, "__VA_ARGS__")
1067
- && (warn_level & 2))
1068
- cwarn(
1069
- "GCC2-spec variadic macro is defined" /* _W2_ */
1070
- , NULL, 0L, NULL);
1071
- if (prev_token && *prev_token == CAT
1072
- && prev_prev_token && *prev_prev_token == ',')
1073
- /* ", ## __VA_ARGS__" is sequence peculiar */
1074
- /* to GCC3-spec variadic macro. */
1075
- /* Or ", ## last_arg" is sequence peculiar */
1076
- /* to GCC2-spec variadic macro. */
1077
- nargs |= GVA_ARGS;
1078
- /* Mark as sequence peculiar to GCC */
1079
- /* This will be warned at expansion time */
1080
- }
1081
- #endif
1082
896
  }
1083
897
  break;
1084
898
 
1085
899
  case STR: /* String in mac. body */
1086
900
  case CHR: /* Character constant */
1087
- if (mcpp_mode == OLD_PREP)
1088
- repl_cur = str_parm_scan( repl_cur);
1089
901
  break;
1090
902
  case SEP:
1091
- if (mcpp_mode == OLD_PREP && c == COM_SEP)
1092
- repl_cur--; /* Skip comment now */
1093
903
  break;
1094
904
  default: /* Any token as it is */
1095
905
  break;
@@ -1108,18 +918,16 @@ static int get_repl(
1108
918
  *repl_cur = EOS; /* Terminate work */
1109
919
 
1110
920
  unget_ch(); /* For syntax check */
1111
- if (standard) {
1112
- if (token_p && *token_p == CAT) {
1113
- cerror( "No token after ##", NULL, 0L, NULL); /* _E_ */
1114
- return FALSE;
1115
- }
1116
- if (multi_cats && (warn_level & 4))
1117
- cwarn( multiple_cats, NULL, 0L, NULL);
1118
- if ((nargs & VA_ARGS) && stdc_ver < 199901L && (warn_level & 2))
1119
- /* Variable arg macro is the spec of C99, not C90 nor C++98 */
1120
- cwarn( "Variable argument macro is defined", /* _W2_ */
1121
- NULL, 0L, NULL);
921
+ if (token_p && *token_p == CAT) {
922
+ cerror( "No token after ##", NULL, 0L, NULL); /* _E_ */
923
+ return FALSE;
1122
924
  }
925
+ if (multi_cats && (warn_level & 4))
926
+ cwarn( multiple_cats, NULL, 0L, NULL);
927
+ if ((nargs & VA_ARGS) && stdc_ver < 199901L && (warn_level & 2))
928
+ /* Variable arg macro is the spec of C99, not C90 nor C++98 */
929
+ cwarn( "Variable argument macro is defined", /* _W2_ */
930
+ NULL, 0L, NULL);
1123
931
 
1124
932
  return TRUE;
1125
933
  }
@@ -1146,14 +954,10 @@ static char * is_formal(
1146
954
  if ((len == parm.len
1147
955
  /* Note: parms[].name are comma separated */
1148
956
  && memcmp( name, parm.name, parm.len) == 0)
1149
- || (standard && (nargs & VA_ARGS)
957
+ || ((nargs & VA_ARGS)
1150
958
  && i == (nargs & ~AVA_ARGS) - 1 && conv
1151
959
  && str_eq( name, va_arg))) { /* __VA_ARGS__ */
1152
960
  /* If it's known */
1153
- #if COMPILER == GNUC
1154
- if (gcc2_va_arg && str_eq( name, va_arg))
1155
- return NULL; /* GCC2 variadic macro */
1156
- #endif
1157
961
  if (conv) {
1158
962
  repl_cur = token_p; /* Overwrite on the name*/
1159
963
  *repl_cur++ = MAC_PARM; /* Save the signal */
@@ -1217,40 +1021,6 @@ static char * mgtoken_save( const char * macroname)
1217
1021
  }
1218
1022
  }
1219
1023
 
1220
- static char * str_parm_scan( char * string_end)
1221
- /*
1222
- * String parameter scan.
1223
- * This code -- if enabled -- recognizes a formal parameter in a string
1224
- * literal or in a character constant.
1225
- * #define foo(bar, v) printf("%bar\n", v)
1226
- * foo( d, i)
1227
- * expands to:
1228
- * printf("%d\n", i)
1229
- * str_parm_scan() return the advanced pointer into the replacement text.
1230
- * This has been superceded by # stringizing and string concatenation.
1231
- * This routine is called only in OLD_PREP mode.
1232
- */
1233
- {
1234
- int delim;
1235
- int c;
1236
- char * tp;
1237
- char * wp; /* Pointer into the quoted literal */
1238
-
1239
- delim = *token_p;
1240
- unget_string( ++token_p, NULL);
1241
- /* Pseudo-token-parsing in a string literal */
1242
- wp = token_p;
1243
- while ((c = get_ch()) != delim) {
1244
- token_p = wp;
1245
- if (scan_token( c, &wp, string_end) != NAM)
1246
- continue;
1247
- if ((tp = is_formal( token_p, TRUE)) != NULL)
1248
- wp = tp;
1249
- }
1250
- *wp++ = delim;
1251
- return wp;
1252
- }
1253
-
1254
1024
  static void do_undef( void)
1255
1025
  /*
1256
1026
  * Remove the symbol from the defined list.
@@ -1274,21 +1044,19 @@ static void do_undef( void)
1274
1044
  if (warn_level & 8)
1275
1045
  cwarn( "\"%s\" wasn't defined" /* _W8_ */
1276
1046
  , identifier, 0L, NULL);
1277
- } else if (standard && (defp->nargs <= DEF_NOARGS_STANDARD
1047
+ } else if ((defp->nargs <= DEF_NOARGS_STANDARD
1278
1048
  /* Standard predef */
1279
1049
  || defp->nargs == DEF_PRAGMA)) {
1280
1050
  /* _Pragma() pseudo-macro */
1281
1051
  cerror( "\"%s\" shouldn't be undefined" /* _E_ */
1282
1052
  , identifier, 0L, NULL);
1283
- } else if (standard) {
1053
+ } else {
1284
1054
  c = skip_ws();
1285
1055
  unget_ch();
1286
1056
  if (c != '\n') /* Trailing junk */
1287
1057
  return;
1288
1058
  else
1289
1059
  undefine( identifier);
1290
- } else {
1291
- undefine( identifier);
1292
1060
  }
1293
1061
  }
1294
1062
  }
@@ -1304,13 +1072,11 @@ static void do_undef( void)
1304
1072
  static DEFBUF * symtab[ SBSIZE];
1305
1073
  static long num_of_macro = 0;
1306
1074
 
1307
- #if MCPP_LIB
1308
1075
  void init_directive( void)
1309
1076
  /* Initialize static variables. */
1310
1077
  {
1311
1078
  num_of_macro = 0;
1312
1079
  }
1313
- #endif
1314
1080
 
1315
1081
  DEFBUF * look_id( const char * name)
1316
1082
  /*
@@ -1323,10 +1089,7 @@ DEFBUF * look_id( const char * name)
1323
1089
 
1324
1090
  prevp = look_prev( name, &cmp);
1325
1091
 
1326
- if (standard)
1327
- return ((cmp == 0 && (*prevp)->push == 0) ? *prevp : NULL);
1328
- else
1329
- return ((cmp == 0) ? *prevp : NULL);
1092
+ return ((cmp == 0 && (*prevp)->push == 0) ? *prevp : NULL);
1330
1093
  }
1331
1094
 
1332
1095
  DEFBUF ** look_prev(
@@ -1412,14 +1175,11 @@ DEFBUF * install_macro(
1412
1175
  cfatal( "Bug: Illegal macro installation of \"%s\"" /* _F_ */
1413
1176
  , name, 0L, NULL); /* Use "" instead of NULL */
1414
1177
  s_name = strlen( name);
1415
- if (mcpp_mode == STD)
1416
- s_parmnames = strlen( parmnames) + 1;
1417
- else
1418
- s_parmnames = 0;
1178
+ s_parmnames = strlen( parmnames) + 1;
1419
1179
  s_repl = strlen( repl) + 1;
1420
1180
  dp = (DEFBUF *)
1421
1181
  xmalloc( sizeof (DEFBUF) + s_name + s_parmnames + s_repl);
1422
- if (cmp || (standard && (*prevp)->push)) { /* New definition */
1182
+ if (cmp || ((*prevp)->push)) { /* New definition */
1423
1183
  dp->link = defp; /* Insert to linked list */
1424
1184
  *prevp = dp;
1425
1185
  } else { /* Redefinition */
@@ -1428,21 +1188,16 @@ DEFBUF * install_macro(
1428
1188
  free( defp);
1429
1189
  }
1430
1190
  dp->nargs = predefine ? predefine : numargs;
1431
- if (standard) {
1432
- dp->push = 0;
1433
- dp->parmnames = (char *)dp + sizeof (DEFBUF) + s_name;
1434
- dp->repl = dp->parmnames + s_parmnames;
1435
- if (mcpp_mode == STD)
1436
- memcpy( dp->parmnames, parmnames, s_parmnames);
1437
- } else {
1438
- dp->repl = (char *)dp + sizeof (DEFBUF) + s_name;
1439
- }
1191
+ dp->push = 0;
1192
+ dp->parmnames = (char *)dp + sizeof (DEFBUF) + s_name;
1193
+ dp->repl = dp->parmnames + s_parmnames;
1194
+ memcpy( dp->parmnames, parmnames, s_parmnames);
1440
1195
  memcpy( dp->name, name, s_name + 1);
1441
1196
  memcpy( dp->repl, repl, s_repl);
1442
1197
  /* Remember where the macro is defined */
1443
1198
  dp->fname = cur_fullname; /* Full-path-list of current file */
1444
1199
  dp->mline = src_line;
1445
- if (standard && cmp && ++num_of_macro == std_limits.n_macro + 1
1200
+ if (cmp && ++num_of_macro == std_limits.n_macro + 1
1446
1201
  && std_limits.n_macro && (warn_level & 4))
1447
1202
  /* '&& std_limits.n_macro' to avoid warning before initialization */
1448
1203
  cwarn( "More than %.0s%ld macros defined" /* _W4_ */
@@ -1468,7 +1223,7 @@ int undefine(
1468
1223
  dp = *prevp; /* Definition to delete */
1469
1224
  if (cmp || dp->nargs <= DEF_NOARGS_STANDARD)
1470
1225
  return FALSE; /* Not defined or Standard predefined */
1471
- if (standard && dp->push)
1226
+ if (dp->push)
1472
1227
  return FALSE; /* 'Pushed' macro */
1473
1228
  *prevp = dp->link; /* Link the previous and the next */
1474
1229
  if ((mcpp_debug & MACRO_CALL) && dp->mline) {
@@ -1477,8 +1232,7 @@ int undefine(
1477
1232
  wrong_line = TRUE;
1478
1233
  }
1479
1234
  free( dp); /* Delete the definition */
1480
- if (standard)
1481
- num_of_macro--;
1235
+ num_of_macro--;
1482
1236
  return TRUE;
1483
1237
  }
1484
1238
 
@@ -1500,54 +1254,34 @@ static void dump_repl(
1500
1254
  for (cp = dp->repl; (c = *cp++ & UCHARMAX) != EOS; ) {
1501
1255
 
1502
1256
  switch (c) {
1503
- case MAC_PARM: /* Parameter */
1257
+ case MAC_PARM: { /* Parameter */
1258
+ PARM parm;
1504
1259
  c = (*cp++ & UCHARMAX) - 1;
1505
- if (standard) {
1506
- PARM parm = parms[ c];
1507
- if ((numargs & VA_ARGS) && c == (numargs & ~AVA_ARGS) - 1) {
1508
- mcpp_fputs( gcc2_va ? parm.name : "__VA_ARGS__"
1509
- , FP2DEST( fp));
1510
- /* gcc2_va is possible only in STD mode */
1511
- } else {
1512
- if (mcpp_mode == STD) {
1513
- for (i = 0, cp1 = parm.name; i < parm.len; i++)
1514
- mcpp_fputc( *cp1++, FP2DEST( fp));
1515
- } else {
1516
- mcpp_fputc( 'a' + c % 26, FP2DEST( fp));
1517
- if (c > 26)
1518
- mcpp_fputc( '0' + c / 26, FP2DEST( fp));
1519
- }
1520
- }
1260
+ parm = parms[ c];
1261
+ if ((numargs & VA_ARGS) && c == (numargs & ~AVA_ARGS) - 1) {
1262
+ mcpp_fputs( gcc2_va ? parm.name : "__VA_ARGS__"
1263
+ , FP2DEST( fp));
1264
+ /* gcc2_va is possible only in STD mode */
1521
1265
  } else {
1522
- mcpp_fputc( 'a' + c % 26, FP2DEST( fp));
1523
- if (c > 26)
1524
- mcpp_fputc( '0' + c / 26, FP2DEST( fp));
1266
+ for (i = 0, cp1 = parm.name; i < parm.len; i++)
1267
+ mcpp_fputc( *cp1++, FP2DEST( fp));
1525
1268
  }
1526
1269
  break;
1270
+ }
1527
1271
  case DEF_MAGIC:
1528
- if (! standard)
1529
- mcpp_fputc( c, FP2DEST( fp));
1530
1272
  /* Else skip */
1531
1273
  break;
1532
1274
  case CAT:
1533
- if (standard)
1534
- mcpp_fputs( "##", FP2DEST( fp));
1535
- else
1536
- mcpp_fputc( c, FP2DEST( fp));
1275
+ mcpp_fputs( "##", FP2DEST( fp));
1537
1276
  break;
1538
1277
  case ST_QUOTE:
1539
- if (standard)
1540
- mcpp_fputs( "#", FP2DEST( fp));
1541
- else
1542
- mcpp_fputc( c, FP2DEST( fp));
1278
+ mcpp_fputs( "#", FP2DEST( fp));
1543
1279
  break;
1544
1280
  case COM_SEP:
1545
1281
  /*
1546
1282
  * Though TOK_SEP coincides to COM_SEP, this cannot appear in
1547
1283
  * Standard mode.
1548
1284
  */
1549
- if (mcpp_mode == OLD_PREP)
1550
- mcpp_fputs( "/**/", FP2DEST( fp));
1551
1285
  break;
1552
1286
  default:
1553
1287
  mcpp_fputc( c, FP2DEST( fp));
@@ -1583,9 +1317,9 @@ void dump_a_def(
1583
1317
  int gcc2_va = FALSE; /* GCC2-spec variadic */
1584
1318
  int i;
1585
1319
 
1586
- if (standard && numargs == DEF_PRAGMA) /* _Pragma pseudo-macro */
1320
+ if (numargs == DEF_PRAGMA) /* _Pragma pseudo-macro */
1587
1321
  return;
1588
- if ((numargs < CAN_REDEF) || (standard && dp->push))
1322
+ if ((numargs < CAN_REDEF) || (dp->push))
1589
1323
  commented = TRUE;
1590
1324
  else
1591
1325
  commented = FALSE;
@@ -1596,46 +1330,19 @@ void dump_a_def(
1596
1330
  mcpp_fprintf( FP2DEST( fp), "%s#define %s", commented ? "/* " : "",
1597
1331
  dp->name); /* Macro name */
1598
1332
  if (numargs >= 0) { /* Parameter list */
1599
- if (mcpp_mode == STD) {
1600
- const char * appendix = null;
1601
- if (! newdef) {
1602
- /* Make parms[] for dump_repl() */
1603
- for (i = 0, cp = dp->parmnames; i < numargs;
1604
- i++, cp = cp1 + 1) {
1605
- if ((cp1 = strchr( cp, ',')) == NULL) /* The last arg */
1606
- parms[ i].len = strlen( cp);
1607
- else
1608
- parms[ i].len = (size_t) (cp1 - cp);
1609
- parms[ i].name = cp;
1610
- }
1611
- }
1612
- #if COMPILER == GNUC
1613
- if ((dp->nargs & VA_ARGS)
1614
- && memcmp( parms[ numargs - 1].name, "...", 3) != 0) {
1615
- appendix = "..."; /* Append ... so as to become 'args...' */
1616
- gcc2_va = TRUE;
1617
- }
1618
- #endif
1619
- mcpp_fprintf( FP2DEST( fp), "(%s%s)", dp->parmnames, appendix);
1620
- } else {
1621
- if (newdef) {
1622
- mcpp_fprintf( FP2DEST( fp), "(%s)", parms[ 0].name);
1623
- } else if (numargs == 0) {
1624
- mcpp_fputs( "()", FP2DEST( fp));
1625
- } else {
1626
- /* Print parameter list automatically made as: */
1627
- /* a, b, c, ..., a0, b0, c0, ..., a1, b1, c1, ... */
1628
- mcpp_fputc( '(', FP2DEST( fp));
1629
- for (i = 0; i < numargs; i++) { /* Make parameter list */
1630
- mcpp_fputc( 'a' + i % 26, FP2DEST( fp));
1631
- if (i >= 26)
1632
- mcpp_fputc( '0' + i / 26, FP2DEST( fp));
1633
- if (i + 1 < numargs)
1634
- mcpp_fputc( ',', FP2DEST( fp));
1635
- }
1636
- mcpp_fputc( ')', FP2DEST( fp));
1333
+ const char * appendix = null;
1334
+ if (! newdef) {
1335
+ /* Make parms[] for dump_repl() */
1336
+ for (i = 0, cp = dp->parmnames; i < numargs;
1337
+ i++, cp = cp1 + 1) {
1338
+ if ((cp1 = strchr( cp, ',')) == NULL) /* The last arg */
1339
+ parms[ i].len = strlen( cp);
1340
+ else
1341
+ parms[ i].len = (size_t) (cp1 - cp);
1342
+ parms[ i].name = cp;
1637
1343
  }
1638
1344
  }
1345
+ mcpp_fprintf( FP2DEST( fp), "(%s%s)", dp->parmnames, appendix);
1639
1346
  }
1640
1347
  if (*dp->repl) {
1641
1348
  mcpp_fputc( ' ', FP2DEST( fp));
@@ -1676,7 +1383,6 @@ void dump_def(
1676
1383
  wrong_line = TRUE; /* Line number is out of sync */
1677
1384
  }
1678
1385
 
1679
- #if MCPP_LIB
1680
1386
  void clear_symtable( void)
1681
1387
  /*
1682
1388
  * Free all the macro definitions.
@@ -1695,5 +1401,4 @@ void clear_symtable( void)
1695
1401
  *symp = NULL;
1696
1402
  }
1697
1403
  }
1698
- #endif
1699
1404