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,62 @@
1
+ {
2
+ 'targets': [
3
+ {
4
+ 'target_name': 'mcpp',
5
+ 'product_prefix' : 'lib',
6
+ 'type': 'static_library',
7
+ 'sources': [
8
+ 'directive.c',
9
+ 'eval.c',
10
+ 'expand.c',
11
+ 'main.c',
12
+ 'mbchar.c',
13
+ 'support.c',
14
+ 'system.c',
15
+ ],
16
+ 'include_dirs' : ['.'],
17
+ 'defines' : [
18
+ 'HAVE_CONFIG_H',
19
+ 'MCPP_LIB=1'
20
+ ],
21
+ 'configurations': {
22
+ 'Release': {
23
+ 'msvs_settings': {
24
+ 'VCCLCompilerTool': {
25
+ 'RuntimeLibrary': '2',
26
+ 'ExceptionHandling': '1',
27
+ 'RuntimeTypeInfo' : 'true'
28
+ },
29
+ },
30
+ 'msvs_disabled_warnings': [
31
+ 4018,
32
+ 4090,
33
+ 4101,
34
+ 4102,
35
+ 4133,
36
+ 4146,
37
+ 4244,
38
+ 4267
39
+ ]
40
+ }
41
+ },
42
+ 'conditions': [
43
+ ['OS=="mac"', {
44
+ 'xcode_settings': {
45
+ "MACOSX_DEPLOYMENT_TARGET":"10.9",
46
+ 'OTHER_CFLAGS': [
47
+ '-fno-common',
48
+ '-stdlib=libstdc++',
49
+ '-w'
50
+ ]
51
+ }
52
+ }],
53
+ ['OS=="linux"', {
54
+ 'cflags' : [
55
+ '-fPIC',
56
+ '-w'
57
+ ]
58
+ }]
59
+ ]
60
+ }
61
+ ]
62
+ }
@@ -50,9 +50,6 @@
50
50
  * returns the advanced output pointer.
51
51
  * get_ch() Reads the next byte from the current input stream, handling
52
52
  * end of (macro/file) input and embedded comments appropriately.
53
- * cnv_trigraph() Maps trigraph sequence to C character.
54
- * cnv_digraph() Maps digraph sequence to C character.
55
- * id_operator() See whether the identifier is an operator in C++.
56
53
  * unget_ch() Pushs last gotten character back on the input stream.
57
54
  * unget_string() Pushs sequence on the input stream.
58
55
  * save_string() Saves a string in malloc() memory.
@@ -70,23 +67,13 @@
70
67
  * buffer.
71
68
  */
72
69
 
73
- #if PREPROCESSED
74
- #include "mcpp.H"
75
- #else
76
70
  #include "system.H"
77
71
  #include "internal.H"
78
- #endif
79
72
 
80
73
  static void scan_id( int c);
81
74
  /* Scan an identifier */
82
75
  static char * scan_number( int c, char * out, char * out_end);
83
76
  /* Scan a preprocessing number */
84
- static char * scan_number_prestd( int c, char * out, char * out_end);
85
- /* scan_number() for pre-Standard mode */
86
- #if OK_UCN
87
- static char * scan_ucn( int cnt, char * out);
88
- /* Scan an UCN sequence */
89
- #endif
90
77
  static char * scan_op( int c, char * out);
91
78
  /* Scan an operator or a punctuator */
92
79
  static char * parse_line( void);
@@ -100,10 +87,6 @@ static char * at_eof( int in_comment);
100
87
  static void do_msg( const char * severity, const char * format
101
88
  , const char * arg1, long arg2, const char * arg3);
102
89
  /* Putout diagnostic message */
103
- static char * cat_line( int del_bsl);
104
- /* Splice the line */
105
- static void put_line( char * out, FILE * fp);
106
- /* Put out a logical line */
107
90
  static void dump_token( int token_type, const char * cp);
108
91
  /* Dump a token and its type */
109
92
 
@@ -133,7 +116,6 @@ static CAT_LINE bsl_cat_line;
133
116
  static CAT_LINE com_cat_line;
134
117
  /* Datum on the last catenated line by a line-crossing comment */
135
118
 
136
- #if MCPP_LIB
137
119
  static int use_mem_buffers = FALSE;
138
120
 
139
121
  void init_support( void)
@@ -174,11 +156,6 @@ void mcpp_use_mem_buffers(
174
156
  }
175
157
  }
176
158
 
177
- int using_mem_buffers( void)
178
- {
179
- return use_mem_buffers;
180
- }
181
-
182
159
  #define BUF_INCR_SIZE (NWORK * 2)
183
160
  #define MAX( a, b) (((a) > (b)) ? (a) : (b))
184
161
 
@@ -247,7 +224,6 @@ char * mcpp_get_mem_buffer(
247
224
  return mem_buffers[ od].buffer;
248
225
  }
249
226
 
250
- #endif /* MCPP_LIB */
251
227
 
252
228
  #define DEST2FP(od) \
253
229
  (od == OUT) ? fp_out : \
@@ -268,17 +244,13 @@ int mcpp_lib_fputc(
268
244
  OUTDEST od
269
245
  )
270
246
  {
271
- #if MCPP_LIB
272
247
  if (use_mem_buffers) {
273
248
  return mem_putc( c, od);
274
249
  } else {
275
- #endif
276
250
  FILE * stream = DEST2FP( od);
277
251
 
278
252
  return (stream != NULL) ? fputc( c, stream) : EOF;
279
- #if MCPP_LIB
280
253
  }
281
- #endif
282
254
  }
283
255
 
284
256
  int (* mcpp_fputc)( int c, OUTDEST od) = mcpp_lib_fputc;
@@ -288,17 +260,13 @@ int mcpp_lib_fputs(
288
260
  OUTDEST od
289
261
  )
290
262
  {
291
- #if MCPP_LIB
292
263
  if (use_mem_buffers) {
293
264
  return mem_puts( s, od);
294
265
  } else {
295
- #endif
296
266
  FILE * stream = DEST2FP( od);
297
267
 
298
268
  return (stream != NULL) ? fputs( s, stream) : EOF;
299
- #if MCPP_LIB
300
269
  }
301
- #endif
302
270
  }
303
271
 
304
272
  int (* mcpp_fputs)( const char * s, OUTDEST od) = mcpp_lib_fputs;
@@ -318,7 +286,6 @@ int mcpp_lib_fprintf(
318
286
  int rc;
319
287
 
320
288
  va_start( ap, format);
321
- #if MCPP_LIB
322
289
  if (use_mem_buffers) {
323
290
  static char mem_buffer[ NWORK];
324
291
 
@@ -328,11 +295,8 @@ int mcpp_lib_fprintf(
328
295
  rc = mem_puts( mem_buffer, od);
329
296
  }
330
297
  } else {
331
- #endif
332
298
  rc = vfprintf( stream, format, ap);
333
- #if MCPP_LIB
334
299
  }
335
- #endif
336
300
  va_end( ap);
337
301
 
338
302
  return rc;
@@ -344,7 +308,6 @@ int mcpp_lib_fprintf(
344
308
 
345
309
  int (* mcpp_fprintf)( OUTDEST od, const char * format, ...) = mcpp_lib_fprintf;
346
310
 
347
- #if MCPP_LIB
348
311
  void mcpp_reset_def_out_func( void)
349
312
  {
350
313
  mcpp_fputc = mcpp_lib_fputc;
@@ -362,7 +325,6 @@ void mcpp_set_out_func(
362
325
  mcpp_fputs = func_fputs;
363
326
  mcpp_fprintf = func_fprintf;
364
327
  }
365
- #endif
366
328
 
367
329
  int get_unexpandable(
368
330
  int c, /* First char of token */
@@ -401,8 +363,7 @@ int get_unexpandable(
401
363
  /* This diagnostic is issued even if "diag" is FALSE. */
402
364
  cwarn( "Macro \"%s\" is expanded to 0 token" /* _W1_ */
403
365
  , defp->name, 0L, NULL);
404
- if (! option_flags.no_source_line)
405
- dump_a_def( " macro", defp, FALSE, TRUE, fp_err);
366
+ dump_a_def( " macro", defp, FALSE, TRUE, fp_err);
406
367
  }
407
368
  }
408
369
 
@@ -422,16 +383,11 @@ int get_unexpandable(
422
383
  c = get_ch();
423
384
  continue;
424
385
  }
425
- if (standard && str_eq( identifier, "defined")) {
386
+ if (str_eq( identifier, "defined")) {
426
387
  cwarn( "Macro \"%s\" is expanded to \"defined\"" /* _W1_ */
427
388
  , defp->name, 0L, NULL);
428
389
  break;
429
390
  }
430
- if (! standard && str_eq( identifier, "sizeof")) {
431
- cwarn( "Macro \"%s\" is expanded to \"sizeof\"" /* _W1_ */
432
- , defp->name, 0L, NULL);
433
- break;
434
- }
435
391
  c = get_ch();
436
392
  }
437
393
  if (file == infile) {
@@ -501,8 +457,7 @@ int scan_token(
501
457
  int token_type = 0; /* Type of token */
502
458
  int ch;
503
459
 
504
- if (standard)
505
- in_token = TRUE; /* While a token is scanned */
460
+ in_token = TRUE; /* While a token is scanned */
506
461
  c = c & UCHARMAX;
507
462
  ch_type = char_type[ c] & MBMASK;
508
463
 
@@ -510,8 +465,6 @@ int scan_token(
510
465
  case LET: /* Probably an identifier */
511
466
  switch (c) {
512
467
  case 'L':
513
- if (! standard)
514
- goto ident;
515
468
  ch = get_ch();
516
469
  if (char_type[ ch] & QUO) { /* char_type[ ch] == QUO */
517
470
  if (ch == '"')
@@ -525,7 +478,6 @@ int scan_token(
525
478
  unget_ch();
526
479
  } /* Fall through */
527
480
  default: /* An identifier */
528
- ident:
529
481
  scan_id( c);
530
482
  out = stpcpy( out, identifier);
531
483
  token_type = NAM;
@@ -550,8 +502,7 @@ ident:
550
502
  goto operat;
551
503
  /* Else fall through */
552
504
  case DIG: /* Preprocessing number */
553
- out = (standard ? scan_number( c, out, out_end)
554
- : scan_number_prestd( c, out, out_end));
505
+ out = scan_number( c, out, out_end);
555
506
  token_type = NUM;
556
507
  break;
557
508
  case PUNC:
@@ -559,25 +510,7 @@ operat: out = scan_op( c, out); /* Operator or punctuator */
559
510
  token_type = OPE; /* Number is set in global "openum" */
560
511
  break;
561
512
  default: /* Special tokens or special characters */
562
- #if OK_UCN
563
- if (mcpp_mode == STD && c == '\\' && stdc2) {
564
- ch = get_ch();
565
- unget_ch();
566
- if (ch == 'U' || ch == 'u')
567
- goto ident; /* Universal-Characte-Name */
568
- }
569
- #endif
570
- #if OK_MBIDENT
571
- if (mcpp_mode == STD && (char_type[ c] & mbchk) && stdc3) {
572
- char * bptr = infile->bptr;
573
- mb_read( c, &infile->bptr, &out);
574
- infile->bptr = bptr;
575
- out = *out_pp;
576
- goto ident; /* An identifier with multi-byte characters */
577
- /* Mbchar cheking has been done in scan_quote() and others. */
578
- }
579
- #endif
580
- if ((standard && (c == CAT || c == ST_QUOTE)) || (char_type[ c] & SPA))
513
+ if (((c == CAT || c == ST_QUOTE)) || (char_type[ c] & SPA))
581
514
  token_type = SEP; /* Token separator or magic char*/
582
515
  else
583
516
  token_type = SPE;
@@ -592,9 +525,6 @@ operat: out = scan_op( c, out); /* Operator or punctuator */
592
525
  , *out_pp, 0L, NULL);
593
526
  if (mcpp_debug & TOKEN)
594
527
  dump_token( token_type, *out_pp);
595
- if (mcpp_mode == POST_STD && token_type != SEP && infile->fp != NULL
596
- && (char_type[ *infile->bptr & UCHARMAX] & SPA) == 0)
597
- insert_sep = INSERT_SEP; /* Insert token separator */
598
528
  *out_pp = out;
599
529
 
600
530
  in_token = FALSE; /* Token scanning has been done */
@@ -610,13 +540,6 @@ static void scan_id(
610
540
  */
611
541
  {
612
542
  static char * const limit = &identifier[ IDMAX];
613
- static int dollar_diagnosed = FALSE; /* Flag of diagnosing '$' */
614
- #if OK_UCN
615
- int uc2 = 0, uc4 = 0; /* Count of UCN16, UCN32 */
616
- #endif
617
- #if OK_MBIDENT
618
- int mb = 0; /* Count of MBCHAR */
619
- #endif
620
543
  size_t len; /* Length of identifier */
621
544
  char * bp = identifier;
622
545
 
@@ -632,56 +555,9 @@ static void scan_id(
632
555
  do {
633
556
  if (bp < limit)
634
557
  *bp++ = c;
635
- #if OK_UCN
636
- if (mcpp_mode == STD && c == '\\' && stdc2) {
637
- int cnt;
638
- char * tp = bp;
639
-
640
- if ((c = get_ch()) == 'u') {
641
- cnt = 4;
642
- } else if (c == 'U') {
643
- cnt = 8;
644
- } else {
645
- unget_ch();
646
- bp--;
647
- break;
648
- }
649
- *bp++ = c;
650
- if ((bp = scan_ucn( cnt, bp)) == NULL) /* Error */
651
- return;
652
- if (cnt == 4)
653
- uc2++;
654
- else if (cnt == 8)
655
- uc4++;
656
- if (limit <= tp) /* Too long identifier */
657
- bp = tp; /* Back the pointer */
658
- goto next_c;
659
- }
660
- #endif /* OK_UCN */
661
- #if OK_MBIDENT
662
- if (mcpp_mode == STD && (char_type[ c] & mbchk) && stdc3) {
663
- len = mb_read( c, &infile->bptr, &bp);
664
- if (len & MB_ERROR) {
665
- if (infile->fp)
666
- cerror(
667
- "Illegal multi-byte character sequence." /* _E_ */
668
- , NULL, 0L, NULL);
669
- } else {
670
- mb += len;
671
- }
672
- }
673
- #endif /* OK_MBIDENT */
674
- #if OK_UCN
675
- next_c:
676
- #endif
558
+
677
559
  c = get_ch();
678
560
  } while ((char_type[ c] & (LET | DIG)) /* Letter or digit */
679
- #if OK_UCN
680
- || (mcpp_mode == STD && c == '\\' && stdc2)
681
- #endif
682
- #if OK_MBIDENT
683
- || (mcpp_mode == STD && (char_type[ c] & mbchk) && stdc3)
684
- #endif
685
561
  );
686
562
 
687
563
  unget_ch();
@@ -694,24 +570,10 @@ next_c:
694
570
  len = bp - identifier;
695
571
  #if IDMAX > IDLEN90MIN
696
572
  /* UCN16, UCN32, MBCHAR are counted as one character for each. */
697
- #if OK_UCN
698
- if (mcpp_mode == STD)
699
- len -= (uc2 * 5) - (uc4 * 9);
700
- #endif
701
- #if OK_MBIDENT
702
- if (mcpp_mode == STD)
703
- len -= mb;
704
- #endif
705
- if (standard && infile->fp && len > std_limits.id_len && (warn_level & 4))
573
+ if (infile->fp && len > std_limits.id_len && (warn_level & 4))
706
574
  cwarn( "Identifier longer than %.0s%ld characters \"%s\"" /* _W4_ */
707
575
  , NULL, (long) std_limits.id_len, identifier);
708
576
  #endif /* IDMAX > IDLEN90MIN */
709
-
710
- if (option_flags.dollar_in_name && dollar_diagnosed == FALSE
711
- && (warn_level & 2) && strchr( identifier, '$') != NULL) {
712
- cwarn( "'$' in identifier \"%s\"", identifier, 0L, NULL); /* _W2_ */
713
- dollar_diagnosed = TRUE; /* Diagnose only once */
714
- }
715
577
  }
716
578
 
717
579
  char * scan_quote(
@@ -735,18 +597,15 @@ char * scan_quote(
735
597
  const char * const empty_const
736
598
  = "Empty character constant %s%.0ld%s";
737
599
  const char * skip;
738
- size_t len;
739
600
  int c;
740
601
  char * out_p = out;
741
602
 
742
603
  /* Set again in case of called from routines other than scan_token(). */
743
- if (standard)
744
- in_token = TRUE;
604
+ in_token = TRUE;
745
605
  *out_p++ = delim;
746
606
  if (delim == '<')
747
607
  delim = '>';
748
608
 
749
- scan:
750
609
  while ((c = get_ch()) != EOS) {
751
610
 
752
611
  #if MBCHAR
@@ -777,29 +636,8 @@ scan:
777
636
  if (c == delim) {
778
637
  break;
779
638
  } else if (c == '\\' && delim != '>') { /* In string literal */
780
- #if OK_UCN
781
- if (mcpp_mode == STD && stdc2) {
782
- int cnt;
783
- char * tp;
784
-
785
- *out_p++ = c;
786
- if ((c = get_ch()) == 'u') {
787
- cnt = 4;
788
- } else if (c == 'U') {
789
- cnt = 8;
790
- } else {
791
- goto escape;
792
- }
793
- *out_p++ = c;
794
- if ((tp = scan_ucn( cnt, out_p)) != NULL)
795
- out_p = tp;
796
- /* Else error */
797
- continue; /* Error or not, anyway continue */
798
- }
799
- #endif /* OK_UCN */
800
639
  *out_p++ = c; /* Escape sequence */
801
640
  c = get_ch();
802
- escape:
803
641
  #if MBCHAR
804
642
  if (char_type[ c] & mbchk) {
805
643
  /* '\\' followed by multi-byte char */
@@ -807,15 +645,6 @@ escape:
807
645
  continue;
808
646
  }
809
647
  #endif
810
- if (! standard && c == '\n') { /* <backslash><newline> */
811
- out_p--; /* Splice the lines */
812
- if (cat_line( TRUE) == NULL) /* End of file */
813
- break;
814
- c = get_ch();
815
- }
816
- } else if (mcpp_mode == POST_STD && c == ' ' && delim == '>'
817
- && infile->fp == NULL) {
818
- continue; /* Skip space possibly inserted by macro expansion */
819
648
  } else if (c == '\n') {
820
649
  break;
821
650
  }
@@ -825,7 +654,6 @@ escape:
825
654
  "Illegal control character %.0s0lx%02x in quotation" /* _W1_ */
826
655
  , NULL, (long) c, NULL);
827
656
  *out_p++ = c;
828
- chk_limit:
829
657
  if (out_end < out_p) {
830
658
  *out_end = EOS;
831
659
  cfatal( "Too long quotation", NULL, 0L, NULL); /* _F_ */
@@ -840,54 +668,22 @@ chk_limit:
840
668
  if (diag) { /* At translation phase 3 */
841
669
  skip = (infile->fp == NULL) ? NULL : skip_line;
842
670
  if (c != delim) {
843
- if (mcpp_mode == OLD_PREP /* Implicit closing of quote*/
844
- && (delim == '"' || delim == '\''))
845
- goto done;
846
671
  if (delim == '"') {
847
- if (mcpp_mode != POST_STD && option_flags.lang_asm) {
848
- /* STD, KR */
849
- /* Concatenate the unterminated string to the next line */
850
- if (warn_level & 1)
851
- cwarn( unterm_string
852
- , ", catenated to the next line" /* _W1_ */
853
- , 0L, NULL);
854
- if (cat_line( FALSE) != NULL)
855
- goto scan; /* Splice the lines */
856
- /* Else end of file */
857
- } else {
858
- cerror( unterm_string, skip, 0L, NULL); /* _E_ */
859
- }
672
+ cerror( unterm_string, skip, 0L, NULL); /* _E_ */
860
673
  } else if (delim == '\'') {
861
- if (mcpp_mode != POST_STD && option_flags.lang_asm) {
862
- /* STD, KR */
863
- if (warn_level & 1)
864
- cwarn( unterm_char, out, 0L, NULL); /* _W1_ */
865
- goto done;
866
- } else {
867
- cerror( unterm_char, out, 0L, skip); /* _E_ */
868
- }
674
+ cerror( unterm_char, out, 0L, skip); /* _E_ */
869
675
  } else {
870
676
  cerror( "Unterminated header name %s%.0ld%s" /* _E_ */
871
677
  , out, 0L, skip);
872
678
  }
873
679
  out_p = NULL;
874
680
  } else if (delim == '\'' && out_p - out <= 2) {
875
- if (mcpp_mode != POST_STD && option_flags.lang_asm) {
876
- /* STD, KR */
877
- if (warn_level & 1)
878
- cwarn( empty_const, out, 0L, skip); /* _W1_ */
879
- } else {
880
- cerror( empty_const, out, 0L, skip); /* _E_ */
881
- out_p = NULL;
882
- goto done;
883
- }
884
- } else if (mcpp_mode == POST_STD && delim == '>' && (warn_level & 2)) {
885
- cwarn(
886
- "Header-name enclosed by <, > is an obsolescent feature %s" /* _W2_ */
887
- , out, 0L, skip);
681
+ cerror( empty_const, out, 0L, skip); /* _E_ */
682
+ out_p = NULL;
683
+ goto done;
888
684
  }
889
685
  #if NWORK-2 > SLEN90MIN
890
- if (standard && out_p - out > std_limits.str_len && (warn_level & 4))
686
+ if (out_p - out > std_limits.str_len && (warn_level & 4))
891
687
  cwarn( "Quotation longer than %.0s%ld bytes" /* _W4_ */
892
688
  , NULL, std_limits.str_len, NULL);
893
689
  #endif
@@ -898,44 +694,6 @@ done:
898
694
  return out_p;
899
695
  }
900
696
 
901
- static char * cat_line(
902
- int del_bsl /* Delete the <backslash><newline> ? */
903
- )
904
- /*
905
- * If del_bsl == TRUE:
906
- * Delete <backslash><newline> sequence in string literal.
907
- * FALSE: Overwrite the <newline> with <backslash>'n'.
908
- * Return NULL on end of file. Called only from scan_quote().
909
- * This routine is never called in POST_STD mode.
910
- */
911
- {
912
- size_t len;
913
- char * save1, * save2;
914
-
915
- if (del_bsl) { /* Delete the <backslash><newline> */
916
- infile->bptr -= 2;
917
- len = infile->bptr - infile->buffer;
918
- } else { /* Overwrite the <newline> with <backslash>'n' */
919
- strcpy( infile->bptr, "\\n");
920
- len = strlen( infile->buffer);
921
- }
922
- save1 = save_string( infile->buffer);
923
- save2 = get_line( FALSE); /* infile->buffer is overwritten */
924
- if (save2 == NULL) {
925
- free( save1);
926
- return NULL;
927
- }
928
- save2 = save_string( infile->buffer);
929
- memcpy( infile->buffer, save1, len);
930
- strcpy( infile->buffer + len, save2); /* Catenate */
931
- free( save1);
932
- free( save2);
933
- if (! del_bsl)
934
- len -= 2;
935
- infile->bptr = infile->buffer + len;
936
- return infile->bptr;
937
- }
938
-
939
697
  static char * scan_number(
940
698
  int c, /* First char of number */
941
699
  char * out, /* Output buffer */
@@ -955,55 +713,16 @@ static char * scan_number(
955
713
  do {
956
714
  *out_p++ = c;
957
715
  if (c == 'E' || c == 'e' /* Sign should follow 'E', 'e', */
958
- || (stdc3 && (c == 'P' || c == 'p'))
959
- /* 'P' or 'p'. */
960
716
  ) {
961
717
  c = get_ch();
962
718
  if (c == '+' || c == '-') {
963
719
  *out_p++ = c;
964
720
  c = get_ch();
965
721
  }
966
- #if OK_UCN
967
- } else if (mcpp_mode == STD && c == '\\' && stdc3) {
968
- int cnt;
969
- char * tp;
970
-
971
- if ((c = get_ch()) == 'u') {
972
- cnt = 4;
973
- } else if (c == 'U') {
974
- cnt = 8;
975
- } else {
976
- unget_ch();
977
- out_p--;
978
- break;
979
- }
980
- *out_p++ = c;
981
- if ((tp = scan_ucn( cnt, out_p)) == NULL) /* Error */
982
- break;
983
- else
984
- out_p = tp;
985
- c = get_ch();
986
- #endif /* OK_UCN */
987
- #if OK_MBIDENT
988
- } else if (mcpp_mode == STD && (char_type[ c] & mbchk) && stdc3) {
989
- len = mb_read( c, &infile->bptr, &out_p);
990
- if (len & MB_ERROR) {
991
- if (infile->fp)
992
- cerror(
993
- "Illegal multi-byte character sequence." /* _E_ */
994
- , NULL, 0L, NULL);
995
- }
996
- #endif /* OK_MBIDENT */
997
722
  } else {
998
723
  c = get_ch();
999
724
  }
1000
725
  } while ((char_type[ c] & (DIG | DOT | LET)) /* Digit, dot or letter */
1001
- #if OK_UCN
1002
- || (mcpp_mode == STD && c == '\\' && stdc3)
1003
- #endif
1004
- #if OK_MBIDENT
1005
- || (mcpp_mode == STD && (char_type[ c] & mbchk) && stdc3)
1006
- #endif
1007
726
  );
1008
727
 
1009
728
  *out_p = EOS;
@@ -1014,172 +733,6 @@ static char * scan_number(
1014
733
  return out_p;
1015
734
  }
1016
735
 
1017
- /* Original version of DECUS CPP with slight modifications, */
1018
- /* too exact for Standard preprocessing. */
1019
- static char * scan_number_prestd(
1020
- int c, /* First char of number */
1021
- char * out, /* Output buffer */
1022
- char * out_end /* Limit of output buffer */
1023
- )
1024
- /*
1025
- * Process a number. We know that c is from 0 to 9 or dot.
1026
- * Algorithm from Dave Conroy's Decus C.
1027
- * Returns the advanced output pointer.
1028
- */
1029
- {
1030
- char * const out_s = out; /* For diagnostics */
1031
- int radix; /* 8, 10, or 16 */
1032
- int expseen; /* 'e' seen in floater */
1033
- int octal89; /* For bad octal test */
1034
- int dotflag; /* TRUE if '.' was seen */
1035
-
1036
- expseen = FALSE; /* No exponent seen yet */
1037
- octal89 = FALSE; /* No bad octal yet */
1038
- radix = 10; /* Assume decimal */
1039
- if ((dotflag = (c == '.')) != FALSE) { /* . something? */
1040
- *out++ = '.'; /* Always out the dot */
1041
- if ((char_type[(c = get_ch())] & DIG) == 0) {
1042
- /* If not a float numb, */
1043
- goto nomore; /* All done for now */
1044
- }
1045
- } /* End of float test */
1046
- else if (c == '0') { /* Octal or hex? */
1047
- *out++ = c; /* Stuff initial zero */
1048
- radix = 8; /* Assume it's octal */
1049
- c = get_ch(); /* Look for an 'x' */
1050
- if (c == 'x' || c == 'X') { /* Did we get one? */
1051
- radix = 16; /* Remember new radix */
1052
- *out++ = c; /* Stuff the 'x' */
1053
- c = get_ch(); /* Get next character */
1054
- }
1055
- }
1056
- while (1) { /* Process curr. char. */
1057
- /*
1058
- * Note that this algorithm accepts "012e4" and "03.4"
1059
- * as legitimate floating-point numbers.
1060
- */
1061
- if (radix != 16 && (c == 'e' || c == 'E')) {
1062
- if (expseen) /* Already saw 'E'? */
1063
- break; /* Exit loop, bad nbr. */
1064
- expseen = TRUE; /* Set exponent seen */
1065
- radix = 10; /* Decimal exponent */
1066
- *out++ = c; /* Output the 'e' */
1067
- if ((c = get_ch()) != '+' && c != '-')
1068
- continue;
1069
- }
1070
- else if (radix != 16 && c == '.') {
1071
- if (dotflag) /* Saw dot already? */
1072
- break; /* Exit loop, two dots */
1073
- dotflag = TRUE; /* Remember the dot */
1074
- radix = 10; /* Decimal fraction */
1075
- }
1076
- else { /* Check the digit */
1077
- switch (c) {
1078
- case '8': case '9': /* Sometimes wrong */
1079
- octal89 = TRUE; /* Do check later */
1080
- case '0': case '1': case '2': case '3':
1081
- case '4': case '5': case '6': case '7':
1082
- break; /* Always ok */
1083
-
1084
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
1085
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
1086
- if (radix == 16) /* Alpha's are ok only */
1087
- break; /* if reading hex. */
1088
- default: /* At number end */
1089
- goto done; /* Break from for loop */
1090
- } /* End of switch */
1091
- } /* End general case */
1092
- *out++ = c; /* Accept the character */
1093
- c = get_ch(); /* Read another char */
1094
- } /* End of scan loop */
1095
-
1096
- if (out_end < out) /* Buffer overflow */
1097
- goto nomore;
1098
- /*
1099
- * When we break out of the scan loop, c contains the first
1100
- * character (maybe) not in the number. If the number is an
1101
- * integer, allow a trailing 'L' for long. If not those, push
1102
- * the trailing character back on the input stream.
1103
- * Floating point numbers accept a trailing 'L' for "long double".
1104
- */
1105
- done:
1106
- if (! (dotflag || expseen)) { /* Not floating point */
1107
- /*
1108
- * We know that dotflag and expseen are both zero, now:
1109
- * dotflag signals "saw 'L'".
1110
- */
1111
- for (;;) {
1112
- switch (c) {
1113
- case 'l':
1114
- case 'L':
1115
- if (dotflag)
1116
- goto nomore;
1117
- dotflag = TRUE;
1118
- break;
1119
- default:
1120
- goto nomore;
1121
- }
1122
- *out++ = c; /* Got 'L' . */
1123
- c = get_ch(); /* Look at next, too. */
1124
- }
1125
- }
1126
-
1127
- nomore: *out = EOS;
1128
- if (out_end < out)
1129
- goto overflow;
1130
- unget_ch(); /* Not part of a number */
1131
- if (octal89 && radix == 8 && (warn_level & 1))
1132
- cwarn( "Illegal digit in octal number \"%s\"" /* _W1_ */
1133
- , out_s, 0L, NULL);
1134
- return out;
1135
-
1136
- overflow:
1137
- cfatal( "Too long number token \"%s\"", out_s, 0L, NULL); /* _F_ */
1138
- return out;
1139
- }
1140
-
1141
- #if OK_UCN
1142
- static char * scan_ucn(
1143
- int cnt, /* Bytes of sequence */
1144
- char * out /* Output buffer */
1145
- )
1146
- /*
1147
- * Scan an UCN sequence and put the sequence to 'out'.
1148
- * Return the advanced pointer or NULL on failure.
1149
- * This routine is never called in POST_STD mode.
1150
- */
1151
- {
1152
- uexpr_t value; /* Value of UCN */
1153
- int i, c;
1154
-
1155
- value = 0L;
1156
- for (i = 0; i < cnt; i++) {
1157
- c = get_ch();
1158
- if (! isxdigit( c)) {
1159
- if (infile->fp)
1160
- cerror( "Illegal UCN sequence" /* _E_ */
1161
- , NULL, 0L, NULL);
1162
- *out = EOS;
1163
- unget_ch();
1164
- return NULL;
1165
- }
1166
- c = tolower( c);
1167
- *out++ = c;
1168
- c = (isdigit( c) ? (c - '0') : (c - 'a' + 10));
1169
- value = (value << 4) | c;
1170
- }
1171
- if (infile->fp /* In source */
1172
- && ((value >= 0L && value <= 0x9FL
1173
- && value != 0x24L && value != 0x40L && value != 0x60L)
1174
- /* Basic source character */
1175
- || (stdc3 && (value >= 0xD800L && value <= 0xDFFFL))))
1176
- /* Reserved for special chars */
1177
- cerror( "UCN cannot specify the value %.0s\"%08lx\"" /* _E_ */
1178
- , NULL, (long) value, NULL);
1179
- return out;
1180
- }
1181
- #endif /* OK_UCN */
1182
-
1183
736
  static char * scan_op(
1184
737
  int c, /* First char of the token */
1185
738
  char * out /* Output buffer */
@@ -1192,7 +745,7 @@ static char * scan_op(
1192
745
  * nevertheless is handled as a punctuator in this cpp for convenience.
1193
746
  */
1194
747
  {
1195
- int c2, c3, c4;
748
+ int c2, c3;
1196
749
 
1197
750
  *out++ = c;
1198
751
 
@@ -1251,16 +804,10 @@ static char * scan_op(
1251
804
  break;
1252
805
  case '=': openum = OP_LE; break; /* <= */
1253
806
  case ':': /* <: i.e. [ */
1254
- if (mcpp_mode == STD && option_flags.dig)
1255
- openum = OP_LBRCK_D;
1256
- else
1257
- openum = OP_LT;
807
+ openum = OP_LT;
1258
808
  break;
1259
809
  case '%': /* <% i.e. { */
1260
- if (mcpp_mode == STD && option_flags.dig)
1261
- openum = OP_LBRACE_D;
1262
- else
1263
- openum = OP_LT;
810
+ openum = OP_LT;
1264
811
  break;
1265
812
  default : openum = OP_LT; break; /* < */
1266
813
  }
@@ -1281,7 +828,7 @@ static char * scan_op(
1281
828
  }
1282
829
  break;
1283
830
  case '#':
1284
- if (standard && (in_define || macro_line)) /* in #define or macro */
831
+ if ((in_define || macro_line)) /* in #define or macro */
1285
832
  openum = ((c2 == '#') ? OP_CAT : OP_STR); /* ##, # */
1286
833
  else
1287
834
  openum = OP_1; /* # */
@@ -1300,15 +847,7 @@ static char * scan_op(
1300
847
  /* openum = OP_2; */
1301
848
  break;
1302
849
  case '>':
1303
- if (cplus_val) {
1304
- if ((c3 = get_ch()) == '*') { /* ->* */
1305
- openum = OP_3;
1306
- *out++ = c3;
1307
- } else {
1308
- /* openum = OP_2; */
1309
- unget_ch();
1310
- }
1311
- } /* else openum = OP_2; */ /* -> */
850
+ /* else openum = OP_2; */ /* -> */
1312
851
  /* else openum = OP_2; */
1313
852
  break;
1314
853
  default : openum = OP_SUB; break; /* - */
@@ -1318,36 +857,10 @@ static char * scan_op(
1318
857
  switch (c2) {
1319
858
  case '=': break; /* %= */
1320
859
  case '>': /* %> i.e. } */
1321
- if (mcpp_mode == STD && option_flags.dig)
1322
- openum = OP_RBRACE_D;
1323
- else
1324
- openum = OP_MOD;
860
+ openum = OP_MOD;
1325
861
  break;
1326
862
  case ':':
1327
- if (mcpp_mode == STD && option_flags.dig) {
1328
- if ((c3 = get_ch()) == '%') {
1329
- if ((c4 = get_ch()) == ':') { /* %:%: i.e. ## */
1330
- openum = OP_DSHARP_D;
1331
- *out++ = c3;
1332
- *out++ = c4;
1333
- } else {
1334
- unget_ch();
1335
- unget_ch();
1336
- openum = OP_SHARP_D; /* %: i.e. # */
1337
- }
1338
- } else {
1339
- unget_ch();
1340
- openum = OP_SHARP_D; /* %: i.e. # */
1341
- }
1342
- if (in_define) { /* in #define */
1343
- if (openum == OP_DSHARP_D)
1344
- openum = OP_CAT;
1345
- else
1346
- openum = OP_STR;
1347
- }
1348
- } else {
1349
- openum = OP_MOD;
1350
- }
863
+ openum = OP_MOD;
1351
864
  break;
1352
865
  default : openum = OP_MOD; break; /* % */
1353
866
  }
@@ -1368,33 +881,22 @@ static char * scan_op(
1368
881
  /* else openum = OP_2; */ /* ^= */
1369
882
  break;
1370
883
  case '.':
1371
- if (standard) {
1372
- if (c2 == '.') {
1373
- c3 = get_ch();
1374
- if (c3 == '.') {
1375
- openum = OP_ELL; /* ... */
1376
- *out++ = c3;
1377
- break;
1378
- } else {
1379
- unget_ch();
1380
- openum = OP_1;
1381
- }
1382
- } else if (cplus_val && c2 == '*') { /* .* */
1383
- /* openum = OP_2 */ ;
1384
- } else { /* . */
884
+ if (c2 == '.') {
885
+ c3 = get_ch();
886
+ if (c3 == '.') {
887
+ openum = OP_ELL; /* ... */
888
+ *out++ = c3;
889
+ break;
890
+ } else {
891
+ unget_ch();
1385
892
  openum = OP_1;
1386
893
  }
1387
- } else {
894
+ } else { /* . */
1388
895
  openum = OP_1;
1389
896
  }
1390
897
  break;
1391
898
  case ':':
1392
- if (cplus_val && c2 == ':') /* :: */
1393
- /* openum = OP_2 */ ;
1394
- else if (mcpp_mode == STD && c2 == '>' && option_flags.dig)
1395
- openum = OP_RBRCK_D; /* :> i.e. ] */
1396
- else /* : */
1397
- openum = OP_COL;
899
+ openum = OP_COL;
1398
900
  break;
1399
901
  default: /* Never reach here */
1400
902
  cfatal( "Bug: Punctuator is mis-implemented %.0s0lx%x" /* _F_ */
@@ -1405,7 +907,7 @@ static char * scan_op(
1405
907
 
1406
908
  switch (openum) {
1407
909
  case OP_STR:
1408
- if (mcpp_mode == STD && c == '%') break; /* %: */
910
+ if (c == '%') break; /* %: */
1409
911
  case OP_1:
1410
912
  case OP_NOT: case OP_AND: case OP_OR: case OP_LT:
1411
913
  case OP_GT: case OP_ADD: case OP_SUB: case OP_MOD:
@@ -1422,46 +924,6 @@ static char * scan_op(
1422
924
  return out;
1423
925
  }
1424
926
 
1425
- int id_operator(
1426
- const char * name
1427
- )
1428
- /*
1429
- * Check whether the name is identifier-like operator in C++.
1430
- * Return the operator number if matched, return 0 if not matched.
1431
- * Note: these identifiers are defined as macros in <iso646.h> in C95.
1432
- * This routine is never called in POST_STD mode.
1433
- */
1434
- {
1435
- typedef struct id_op {
1436
- const char * name;
1437
- int op_num;
1438
- } ID_OP;
1439
-
1440
- ID_OP id_ops[] = {
1441
- { "and", OP_ANA},
1442
- { "and_eq", OP_2},
1443
- { "bitand", OP_AND},
1444
- { "bitor", OP_OR},
1445
- { "compl", OP_COM},
1446
- { "not", OP_NOT},
1447
- { "not_eq", OP_NE},
1448
- { "or", OP_ORO},
1449
- { "or_eq", OP_2},
1450
- { "xor", OP_XOR},
1451
- { "xor_eq", OP_2},
1452
- { NULL, 0},
1453
- };
1454
-
1455
- ID_OP * id_p = id_ops;
1456
-
1457
- while (id_p->name != NULL) {
1458
- if (str_eq( name, id_p->name))
1459
- return id_p->op_num;
1460
- id_p++;
1461
- }
1462
- return 0;
1463
- }
1464
-
1465
927
  void expanding(
1466
928
  const char * name, /* The name of (nested) macro just expanded. */
1467
929
  int to_be_freed /* The name should be freed later. */
@@ -1519,24 +981,6 @@ int get_ch( void)
1519
981
  if ((file = infile) == NULL)
1520
982
  return CHAR_EOF; /* End of all input */
1521
983
 
1522
- if (mcpp_mode == POST_STD && file->fp) { /* In a source file */
1523
- switch (insert_sep) {
1524
- case NO_SEP:
1525
- break;
1526
- case INSERT_SEP: /* Insert a token separator */
1527
- insert_sep = INSERTED_SEP; /* Remember this fact */
1528
- return ' '; /* for unget_ch(). */
1529
- case INSERTED_SEP: /* Has just inserted */
1530
- insert_sep = NO_SEP; /* Clear the flag */
1531
- break;
1532
- }
1533
- }
1534
- if (! standard && squeezews) {
1535
- if (*file->bptr == ' ')
1536
- file->bptr++; /* Squeeze white spaces */
1537
- squeezews = FALSE;
1538
- }
1539
-
1540
984
  if (mcpp_debug & GETC) {
1541
985
  mcpp_fprintf( DBG, "get_ch(%s) '%c' line %ld, bptr = %d, buffer"
1542
986
  , file->fp ? cur_fullname : file->real_fname ? file->real_fname
@@ -1556,19 +1000,7 @@ int get_ch( void)
1556
1000
  * The character is converted to int with no sign-extension.
1557
1001
  */
1558
1002
  if ((c = (*file->bptr++ & UCHARMAX)) != EOS) {
1559
- if (standard)
1560
- return c; /* Just a character */
1561
- if (! in_string && c == '\\' && *file->bptr == '\n'
1562
- && in_define /* '\\''\n' is deleted in #define line, */
1563
- /* provided the '\\' is not the 2nd byte of mbchar. */
1564
- && ! last_is_mbchar( file->buffer, strlen( file->buffer) - 2
1565
- && ! keep_spaces)
1566
- ) {
1567
- if (*(file->bptr - 2) == ' ')
1568
- squeezews = TRUE;
1569
- } else {
1570
- return c;
1571
- }
1003
+ return c; /* Just a character */
1572
1004
  }
1573
1005
 
1574
1006
  /*
@@ -1608,10 +1040,8 @@ int get_ch( void)
1608
1040
  infile->bptr = infile->buffer + len;
1609
1041
  src_line = infile->line; /* Reset line number */
1610
1042
  inc_dirp = infile->dirp; /* Includer's directory */
1611
- #if MCPP_LIB
1612
1043
  mcpp_set_out_func( infile->last_fputc, infile->last_fputs,
1613
1044
  infile->last_fprintf);
1614
- #endif
1615
1045
  include_nest--;
1616
1046
  src_line++; /* Next line to #include*/
1617
1047
  sharp( NULL, infile->include_opt ? 1 : (file->include_opt ? 0 : 2));
@@ -1656,22 +1086,13 @@ static char * parse_line( void)
1656
1086
 
1657
1087
  if ((sp = get_line( FALSE)) == NULL) /* Next logical line */
1658
1088
  return NULL; /* End of a file */
1659
- if (in_asm) { /* In #asm block */
1660
- while (char_type[ *sp++ & UCHARMAX] & SPA)
1661
- ;
1662
- if (*--sp == '#') /* Directive line */
1663
- infile->bptr = sp;
1664
- return infile->bptr; /* Don't tokenize */
1665
- }
1666
1089
  tp = temp = xmalloc( (size_t) NBUFF);
1667
1090
  limit = temp + NBUFF - 2;
1668
1091
 
1669
1092
  while (char_type[ c = *sp++ & UCHARMAX] & HSP) {
1670
- if (mcpp_mode != POST_STD)
1671
- /* Preserve line top horizontal white spaces */
1672
- /* as they are for human-readability */
1673
- *tp++ = c;
1674
- /* Else skip the line top spaces */
1093
+ /* Preserve line top horizontal white spaces */
1094
+ /* as they are for human-readability */
1095
+ *tp++ = c;
1675
1096
  }
1676
1097
  sp--;
1677
1098
 
@@ -1681,41 +1102,18 @@ static char * parse_line( void)
1681
1102
  case '/':
1682
1103
  switch (*sp++) {
1683
1104
  case '*': /* Start of a comment */
1684
- com_start:
1685
1105
  if ((sp = read_a_comment( sp, &com_size)) == NULL) {
1686
1106
  free( temp); /* End of file with un- */
1687
1107
  return NULL; /* terminated comment */
1688
1108
  }
1689
- if (keep_spaces && mcpp_mode != OLD_PREP) {
1690
- if (tp + com_size >= limit - 1) /* Too long comment */
1691
- com_size = limit - tp - 1; /* Truncate */
1692
- while (com_size--)
1693
- *tp++ = ' '; /* Spaces of the comment length */
1694
- break;
1695
- }
1696
- switch (mcpp_mode) {
1697
- case POST_STD:
1698
- if (temp < tp && *(tp - 1) != ' ')
1699
- *tp++ = ' '; /* Squeeze white spaces */
1700
- break;
1701
- case OLD_PREP:
1702
- if (temp == tp
1703
- || ! (char_type[ *(tp - 1) & UCHARMAX] & HSP))
1704
- *tp++ = COM_SEP; /* Convert to magic character */
1705
- break;
1706
- default:
1707
- if (temp == tp ||
1708
- ! (char_type[ *(tp - 1) & UCHARMAX] & HSP))
1709
- *tp++ = ' '; /* Squeeze white spaces */
1710
- break;
1711
- }
1109
+ if (temp == tp ||
1110
+ ! (char_type[ *(tp - 1) & UCHARMAX] & HSP))
1111
+ *tp++ = ' '; /* Squeeze white spaces */
1712
1112
  break;
1713
1113
  case '/': /* // */
1714
- if (! standard)
1715
- goto not_comment;
1716
1114
  /* Comment when C++ or __STDC_VERSION__ >= 199901L */
1717
1115
  /* Need not to convert to a space because '\n' follows */
1718
- if (! stdc2 && (warn_level & 2))
1116
+ if ((warn_level & 2))
1719
1117
  cwarn( "Parsed \"//\" as comment" /* _W2_ */
1720
1118
  , NULL, 0L, NULL);
1721
1119
  if (keep_comments) {
@@ -1727,7 +1125,6 @@ com_start:
1727
1125
  }
1728
1126
  goto end_line;
1729
1127
  default: /* Not a comment */
1730
- not_comment:
1731
1128
  *tp++ = '/';
1732
1129
  sp--; /* To re-read */
1733
1130
  break;
@@ -1742,27 +1139,14 @@ not_comment:
1742
1139
  , NULL, (long) c, NULL);
1743
1140
  case '\t': /* Horizontal space */
1744
1141
  case ' ':
1745
- if (keep_spaces) {
1746
- if (c == '\t')
1747
- *tp++ = '\t';
1748
- else
1749
- *tp++ = ' '; /* Convert to ' ' */
1750
- } else if (! (char_type[ *(tp - 1) & UCHARMAX] & HSP)) {
1142
+ if (! (char_type[ *(tp - 1) & UCHARMAX] & HSP)) {
1751
1143
  *tp++ = ' '; /* Squeeze white spaces */
1752
- } else if (mcpp_mode == OLD_PREP && *(tp - 1) == COM_SEP) {
1753
- *(tp - 1) = ' '; /* Replace COM_SEP with ' ' */
1754
1144
  }
1755
1145
  break;
1756
1146
  case '"': /* String literal */
1757
1147
  case '\'': /* Character constant */
1758
1148
  infile->bptr = sp;
1759
- if (standard) {
1760
- tp = scan_quote( c, tp, limit, TRUE);
1761
- } else {
1762
- in_string = TRUE; /* Enable line splicing by scan_quote() */
1763
- tp = scan_quote( c, tp, limit, TRUE); /* (not by get_ch())*/
1764
- in_string = FALSE;
1765
- }
1149
+ tp = scan_quote( c, tp, limit, TRUE);
1766
1150
  if (tp == NULL) {
1767
1151
  free( temp); /* Unbalanced quotation */
1768
1152
  return parse_line(); /* Skip the line */
@@ -1799,7 +1183,7 @@ end_line:
1799
1183
  while (char_type[ *temp & UCHARMAX] & HSP)
1800
1184
  temp++;
1801
1185
  if (*temp == '#' /* This line starts with # token */
1802
- || (mcpp_mode == STD && *temp == '%' && *(temp + 1) == ':'))
1186
+ || (*temp == '%' && *(temp + 1) == ':'))
1803
1187
  if (warn_level & 1)
1804
1188
  cwarn(
1805
1189
  "Macro started at line %.0s%ld swallowed directive-like line" /* _W1_ */
@@ -1820,10 +1204,6 @@ static char * read_a_comment(
1820
1204
  char * saved_sp;
1821
1205
  int cat_line = 0; /* Number of catenated lines */
1822
1206
 
1823
- if (keep_spaces) {
1824
- saved_sp = sp - 2; /* '-2' for beginning / and * */
1825
- *sizp = 0;
1826
- }
1827
1207
  if (keep_comments) /* If writing comments */
1828
1208
  mcpp_fputs( "/*", OUT); /* Write the initializer*/
1829
1209
  c = *sp++;
@@ -1850,8 +1230,6 @@ static char * read_a_comment(
1850
1230
  /* trouble on some other tools such as rpcgen. */
1851
1231
  wrong_line = TRUE;
1852
1232
  }
1853
- if (keep_spaces) /* Save the length */
1854
- *sizp = *sizp + (sp - saved_sp);
1855
1233
  if ((mcpp_debug & MACRO_CALL) && compiling) {
1856
1234
  if (cat_line) {
1857
1235
  cat_line++;
@@ -1864,8 +1242,6 @@ static char * read_a_comment(
1864
1242
  }
1865
1243
  return sp; /* End of comment */
1866
1244
  case '\n': /* Line-crossing comment*/
1867
- if (keep_spaces) /* Save the length */
1868
- *sizp = *sizp + (sp - saved_sp) - 1; /* '-1' for '\n' */
1869
1245
  if ((mcpp_debug & MACRO_CALL) && compiling) {
1870
1246
  /* Save location informations */
1871
1247
  if (cat_line == 0) /* First line of catenation */
@@ -1916,11 +1292,7 @@ static char * get_line(
1916
1292
  * Convert [CR+LF] to [LF].
1917
1293
  */
1918
1294
  {
1919
- #if COMPILER == INDEPENDENT
1920
1295
  #define cr_warn_level 1
1921
- #else
1922
- #define cr_warn_level 2
1923
- #endif
1924
1296
  static int cr_converted;
1925
1297
  int converted = FALSE;
1926
1298
  int len; /* Line length - alpha */
@@ -1937,7 +1309,7 @@ static char * get_line(
1937
1309
  != NULL) {
1938
1310
  /* Translation phase 1 */
1939
1311
  src_line++; /* Gotten next physical line */
1940
- if (standard && src_line == std_limits.line_num + 1
1312
+ if (src_line == std_limits.line_num + 1
1941
1313
  && (warn_level & 1))
1942
1314
  cwarn( "Line number %.0s\"%ld\" got beyond range" /* _W1_ */
1943
1315
  , NULL, src_line, NULL);
@@ -1967,40 +1339,34 @@ static char * get_line(
1967
1339
  cr_converted = TRUE;
1968
1340
  }
1969
1341
  }
1970
- if (standard) {
1971
- if (option_flags.trig)
1972
- converted = cnv_trigraph( ptr);
1973
- if (mcpp_mode == POST_STD && option_flags.dig)
1974
- converted += cnv_digraph( ptr);
1975
- if (converted)
1976
- len = strlen( ptr);
1977
- /* Translation phase 2 */
1978
- len -= 2;
1979
- if (len >= 0) {
1980
- if ((*(ptr + len) == '\\') && ! last_is_mbchar( ptr, len)) {
1981
- /* <backslash><newline> (not MBCHAR) */
1982
- ptr = infile->bptr += len; /* Splice the lines */
1983
- wrong_line = TRUE;
1984
- if ((mcpp_debug & MACRO_CALL) && compiling) {
1985
- /* Save location informations */
1986
- if (cat_line == 0) /* First line of catenation */
1987
- bsl_cat_line.start_line = src_line;
1988
- if (cat_line < MAX_CAT_LINE)
1989
- /* Record the catenated length */
1990
- bsl_cat_line.len[ ++cat_line]
1991
- = strlen( infile->buffer) - 2;
1992
- /* Else ignore */
1993
- }
1994
- continue;
1342
+ if (converted)
1343
+ len = strlen( ptr);
1344
+ /* Translation phase 2 */
1345
+ len -= 2;
1346
+ if (len >= 0) {
1347
+ if (*(ptr + len) == '\\') {
1348
+ /* <backslash><newline> (not MBCHAR) */
1349
+ ptr = infile->bptr += len; /* Splice the lines */
1350
+ wrong_line = TRUE;
1351
+ if ((mcpp_debug & MACRO_CALL) && compiling) {
1352
+ /* Save location informations */
1353
+ if (cat_line == 0) /* First line of catenation */
1354
+ bsl_cat_line.start_line = src_line;
1355
+ if (cat_line < MAX_CAT_LINE)
1356
+ /* Record the catenated length */
1357
+ bsl_cat_line.len[ ++cat_line]
1358
+ = strlen( infile->buffer) - 2;
1359
+ /* Else ignore */
1995
1360
  }
1361
+ continue;
1996
1362
  }
1363
+ }
1997
1364
  #if NBUFF-2 > SLEN90MIN
1998
- if (ptr - infile->buffer + len + 2 > std_limits.str_len + 1
1999
- && (warn_level & 4)) /* +1 for '\n' */
2000
- cwarn( "Logical source line longer than %.0s%ld bytes" /* _W4_ */
2001
- , NULL, std_limits.str_len, NULL);
1365
+ if (ptr - infile->buffer + len + 2 > std_limits.str_len + 1
1366
+ && (warn_level & 4)) /* +1 for '\n' */
1367
+ cwarn( "Logical source line longer than %.0s%ld bytes" /* _W4_ */
1368
+ , NULL, std_limits.str_len, NULL);
2002
1369
  #endif
2003
- }
2004
1370
  if ((mcpp_debug & MACRO_CALL) && compiling) {
2005
1371
  if (cat_line && cat_line < MAX_CAT_LINE) {
2006
1372
  bsl_cat_line.len[ ++cat_line] = strlen( infile->buffer) - 1;
@@ -2016,98 +1382,9 @@ static char * get_line(
2016
1382
  cfatal( "File read error", NULL, 0L, NULL); /* _F_ */
2017
1383
  if ((ptr = at_eof( in_comment)) != NULL) /* Check at end of file */
2018
1384
  return ptr; /* Partial line supplemented */
2019
- if (option_flags.z) {
2020
- no_output--; /* End of included file */
2021
- keep_comments = option_flags.c && compiling && !no_output;
2022
- }
2023
1385
  return NULL;
2024
1386
  }
2025
1387
 
2026
- #define TRIOFFSET 10
2027
-
2028
- int cnv_trigraph(
2029
- char * in
2030
- )
2031
- /*
2032
- * Perform in-place trigraph replacement on a physical line. This was added
2033
- * to the C90. In an input text line, the sequence ??[something] is
2034
- * transformed to a character (which might not appear on the input keyboard).
2035
- */
2036
- {
2037
- const char * const tritext = "=(/)'<!>-\0#[\\]^{|}~";
2038
- /* ^ ^
2039
- * +----------+
2040
- * this becomes this
2041
- */
2042
- int count = 0;
2043
- const char * tp;
2044
-
2045
- while ((in = strchr( in, '?')) != NULL) {
2046
- if (*++in != '?')
2047
- continue;
2048
- while (*++in == '?')
2049
- ;
2050
- if ((tp = strchr( tritext, *in)) == NULL)
2051
- continue;
2052
- *(in - 2) = *(tp + TRIOFFSET);
2053
- in--;
2054
- memmove( in, in + 2, strlen( in + 1));
2055
- count++;
2056
- }
2057
-
2058
- if (count && (warn_level & 16))
2059
- cwarn( "%.0s%ld trigraph(s) converted" /* _W16_ */
2060
- , NULL, (long) count, NULL);
2061
- return count;
2062
- }
2063
-
2064
- int cnv_digraph(
2065
- char * in
2066
- )
2067
- /*
2068
- * Perform in-place digraph replacement on a physical line.
2069
- * Called only in POST_STD mode.
2070
- */
2071
- {
2072
- int count = 0;
2073
- int i;
2074
- int c1, c2;
2075
-
2076
- while ((i = strcspn( in, "%:<")), (c1 = *(in + i)) != '\0') {
2077
- in += i + 1;
2078
- c2 = *in;
2079
- switch (c1) {
2080
- case '%' :
2081
- switch (c2) {
2082
- case ':' : *(in - 1) = '#'; break;
2083
- case '>' : *(in - 1) = '}'; break;
2084
- default : continue;
2085
- }
2086
- break;
2087
- case ':' :
2088
- switch (c2) {
2089
- case '>' : *(in - 1) = ']'; break;
2090
- default : continue;
2091
- }
2092
- break;
2093
- case '<' :
2094
- switch (c2) {
2095
- case '%' : *(in - 1) = '{'; break;
2096
- case ':' : *(in - 1) = '['; break;
2097
- default : continue;
2098
- }
2099
- break;
2100
- }
2101
- memmove( in, in + 1, strlen( in));
2102
- count++;
2103
- }
2104
-
2105
- if (count && (warn_level & 16))
2106
- cwarn( "%.0s%ld digraph(s) converted" /* _W16_ */
2107
- , NULL, (long) count, NULL);
2108
- return count;
2109
- }
2110
-
2111
1388
  static char * at_eof(
2112
1389
  int in_comment
2113
1390
  )
@@ -2131,8 +1408,6 @@ static char * at_eof(
2131
1408
  const char * const unterm_com
2132
1409
  = "unterminated comment, terminated the comment"; /* _W1_ */
2133
1410
  const char * const backsl = "\\, deleted the \\"; /* _W1_ */
2134
- const char * const unterm_asm_format
2135
- = "End of %s with unterminated #asm block started at line %ld"; /* _E_ _W1_ */
2136
1411
  size_t len;
2137
1412
  char * cp;
2138
1413
 
@@ -2141,11 +1416,11 @@ static char * at_eof(
2141
1416
  if (len && *(cp += (len - 1)) != '\n') {
2142
1417
  *++cp = '\n'; /* Supplement <newline> */
2143
1418
  *++cp = EOS;
2144
- if (mcpp_mode != OLD_PREP && (warn_level & 1))
1419
+ if ((warn_level & 1))
2145
1420
  cwarn( format, input, 0L, no_newline);
2146
1421
  return infile->bptr = infile->buffer;
2147
1422
  }
2148
- if (standard && infile->buffer < infile->bptr) {
1423
+ if (infile->buffer < infile->bptr) {
2149
1424
  /* No line after <backslash><newline> */
2150
1425
  cp = infile->bptr;
2151
1426
  *cp++ = '\n'; /* Delete the \\ */
@@ -2155,7 +1430,7 @@ static char * at_eof(
2155
1430
  return infile->bptr = infile->buffer;
2156
1431
  }
2157
1432
  if (in_comment) { /* End of file within a comment */
2158
- if (mcpp_mode != OLD_PREP && (warn_level & 1))
1433
+ if ((warn_level & 1))
2159
1434
  cwarn( format, input, 0L, unterm_com);
2160
1435
  /* The partial comment line has been already read by */
2161
1436
  /* read_a_comment(), so supplement the next line. */
@@ -2165,28 +1440,17 @@ static char * at_eof(
2165
1440
 
2166
1441
  if (infile->initif < ifptr) {
2167
1442
  IFINFO * ifp = infile->initif + 1;
2168
- if (standard) {
2169
- cerror( unterm_if_format, input, ifp->ifline, NULL);
2170
- ifptr = infile->initif; /* Clear information of */
2171
- compiling = ifptr->stat; /* erroneous grouping */
2172
- } else if (mcpp_mode == KR && (warn_level & 1)) {
2173
- cwarn( unterm_if_format, input, ifp->ifline, NULL);
2174
- }
1443
+ cerror( unterm_if_format, input, ifp->ifline, NULL);
1444
+ ifptr = infile->initif; /* Clear information of */
1445
+ compiling = ifptr->stat; /* erroneous grouping */
2175
1446
  }
2176
1447
 
2177
1448
  if (macro_line != 0 && macro_line != MACRO_ERROR
2178
- && ((mcpp_mode == STD && in_getarg) || ! standard)) {
2179
- if (standard) {
2180
- cerror( unterm_macro_format, input, macro_line, NULL);
2181
- macro_line = MACRO_ERROR;
2182
- } else if (warn_level & 1) {
2183
- cwarn( unterm_macro_format, input, macro_line, NULL);
2184
- }
1449
+ && in_getarg) {
1450
+ cerror( unterm_macro_format, input, macro_line, NULL);
1451
+ macro_line = MACRO_ERROR;
2185
1452
  }
2186
1453
 
2187
- if (in_asm && mcpp_mode == KR && (warn_level & 1))
2188
- cwarn( unterm_asm_format, input, in_asm, NULL);
2189
-
2190
1454
  return NULL;
2191
1455
  }
2192
1456
 
@@ -2204,19 +1468,6 @@ void unget_ch( void)
2204
1468
  }
2205
1469
 
2206
1470
  if (infile != NULL) {
2207
- if (mcpp_mode == POST_STD && infile->fp) {
2208
- switch (insert_sep) {
2209
- case INSERTED_SEP: /* Have just read an inserted separator */
2210
- insert_sep = INSERT_SEP;
2211
- return;
2212
- case INSERT_SEP:
2213
- cfatal( "Bug: unget_ch() just after scan_token()" /* _F_ */
2214
- , NULL, 0L, NULL);
2215
- break;
2216
- default:
2217
- break;
2218
- }
2219
- }
2220
1471
  --infile->bptr;
2221
1472
  if (infile->bptr < infile->buffer) /* Shouldn't happen */
2222
1473
  cfatal( "Bug: Too much pushback", NULL, 0L, NULL); /* _F_ */
@@ -2304,18 +1555,14 @@ FILEINFO * get_file(
2304
1555
  } else {
2305
1556
  file->src_dir = NULL;
2306
1557
  }
2307
- #if MCPP_LIB
2308
1558
  file->last_fputc = mcpp_lib_fputc;
2309
1559
  file->last_fputs = mcpp_lib_fputs;
2310
1560
  file->last_fprintf = mcpp_lib_fprintf;
2311
- #endif
2312
1561
  if (infile != NULL) { /* If #include file */
2313
1562
  infile->line = src_line; /* Save current line */
2314
- #if MCPP_LIB
2315
1563
  infile->last_fputc = mcpp_fputc;
2316
1564
  infile->last_fputs = mcpp_fputs;
2317
1565
  infile->last_fprintf = mcpp_fprintf;
2318
- #endif
2319
1566
  }
2320
1567
  infile = file; /* New current file */
2321
1568
 
@@ -2409,23 +1656,6 @@ LINE_COL * get_src_location(
2409
1656
  return p_line_col;
2410
1657
  }
2411
1658
 
2412
- static void put_line(
2413
- char * out,
2414
- FILE * fp
2415
- )
2416
- /*
2417
- * Put out a logical source line.
2418
- * This routine is called only in OLD_PREP mode.
2419
- */
2420
- {
2421
- int c;
2422
-
2423
- while ((c = *out++) != EOS) {
2424
- if (c != COM_SEP) /* Skip 0-length comment */
2425
- mcpp_fputc( c, FP2DEST( fp));
2426
- }
2427
- }
2428
-
2429
1659
  static void do_msg(
2430
1660
  const char * severity, /* "fatal", "error", "warning" */
2431
1661
  const char * format, /* Format for the error message */
@@ -2468,45 +1698,27 @@ static void do_msg(
2468
1698
  while ((c = *sp++) != EOS) {
2469
1699
  switch (c) {
2470
1700
  case TOK_SEP:
2471
- if (mcpp_mode == OLD_PREP) /* COM_SEP */
2472
- break; /* Skip magic characters */
2473
- /* Else fall through */
2474
1701
  case RT_END:
2475
1702
  case CAT:
2476
1703
  case ST_QUOTE:
2477
1704
  case DEF_MAGIC:
2478
- if (! standard)
2479
- *tp++ = ' ';
2480
1705
  break; /* Skip the magic characters*/
2481
1706
  case IN_SRC:
2482
- if (! standard)
2483
- *tp++ = ' ';
2484
1707
  if ((mcpp_debug & MACRO_CALL) && ! in_directive)
2485
1708
  sp += 2; /* Skip two more bytes */
2486
1709
  break;
2487
1710
  case MAC_INF:
2488
- if (mcpp_mode != STD) {
2489
- *tp++ = ' ';
2490
- /* Illegal control character, convert to a space*/
2491
- } else {
2492
- switch (*sp++) { /* Skip the magic characters*/
2493
- case MAC_ARG_START :
2494
- sp++;
2495
- /* Fall through */
2496
- case MAC_CALL_START :
2497
- sp += 2;
2498
- break;
2499
- case MAC_ARG_END :
2500
- if (! option_flags.v)
2501
- break;
2502
- else
2503
- sp++;
2504
- /* Fall through */
2505
- case MAC_CALL_END :
2506
- if (option_flags.v)
2507
- sp += 2;
2508
- break;
2509
- }
1711
+ switch (*sp++) { /* Skip the magic characters*/
1712
+ case MAC_ARG_START :
1713
+ sp++;
1714
+ /* Fall through */
1715
+ case MAC_CALL_START :
1716
+ sp += 2;
1717
+ break;
1718
+ case MAC_ARG_END :
1719
+ break;
1720
+ case MAC_CALL_END :
1721
+ break;
2510
1722
  }
2511
1723
  break;
2512
1724
  case '\n':
@@ -2533,19 +1745,12 @@ static void do_msg(
2533
1745
  }
2534
1746
  mcpp_fprintf( ERR, format, arg_t[ 0], arg2, arg_t[ 1]);
2535
1747
  mcpp_fputc( '\n', ERR);
2536
- if (option_flags.no_source_line)
2537
- goto free_arg;
2538
1748
 
2539
1749
  /* Print source line, includers and expanding macros */
2540
1750
  file = infile;
2541
1751
  if (file != NULL && file->fp != NULL) {
2542
- if (mcpp_mode == OLD_PREP) {
2543
- mcpp_fputs( " ", ERR);
2544
- put_line( file->buffer, fp_err);
2545
- } else {
2546
- mcpp_fprintf( ERR, " %s", file->buffer);
2547
- /* Current source line */
2548
- }
1752
+ mcpp_fprintf( ERR, " %s", file->buffer);
1753
+ /* Current source line */
2549
1754
  file = file->parent;
2550
1755
  }
2551
1756
  while (file != NULL) { /* Print #includes, too */
@@ -2561,17 +1766,11 @@ static void do_msg(
2561
1766
  } else { /* Source file */
2562
1767
  if (file->buffer[ 0] == '\0')
2563
1768
  strcpy( file->buffer, "\n");
2564
- if (mcpp_mode != OLD_PREP) {
2565
- mcpp_fprintf( ERR, " from %s: %ld: %s",
2566
- file->line ? file->full_fname /* Full-path-list */
2567
- : "<stdin>", /* Included by -include */
2568
- file->line, /* Current line number */
2569
- file->buffer); /* The source line */
2570
- } else {
2571
- mcpp_fprintf( ERR, " from %s: %ld: ", file->full_fname
2572
- , file->line);
2573
- put_line( file->buffer, fp_err);
2574
- }
1769
+ mcpp_fprintf( ERR, " from %s: %ld: %s",
1770
+ file->line ? file->full_fname /* Full-path-list */
1771
+ : "<stdin>", /* Included by -include */
1772
+ file->line, /* Current line number */
1773
+ file->buffer); /* The source line */
2575
1774
  }
2576
1775
  file = file->parent;
2577
1776
  }
@@ -2681,12 +1880,11 @@ void dump_string(
2681
1880
  mcpp_fprintf( DBG, "<%d>", c);
2682
1881
  break;
2683
1882
  case MAC_INF:
2684
- if (! (mcpp_mode == STD && (mcpp_debug & MACRO_CALL)))
1883
+ if (! ((mcpp_debug & MACRO_CALL)))
2685
1884
  goto no_magic;
2686
1885
  /* Macro informations inserted by -K option */
2687
1886
  c2 = *cp++ & UCHARMAX;
2688
- if (option_flags.v || c2 == MAC_CALL_START
2689
- || c2 == MAC_ARG_START) {
1887
+ if (c2 == MAC_CALL_START || c2 == MAC_ARG_START) {
2690
1888
  c = ((*cp++ & UCHARMAX) - 1) * UCHARMAX;
2691
1889
  c += (*cp++ & UCHARMAX) - 1;
2692
1890
  }
@@ -2695,67 +1893,42 @@ void dump_string(
2695
1893
  mcpp_fprintf( DBG, "<MAC%d>", c);
2696
1894
  break;
2697
1895
  case MAC_CALL_END:
2698
- if (option_flags.v)
2699
- mcpp_fprintf( DBG, "<MAC_END%d>", c);
2700
- else
2701
- chr = "<MAC_END>";
1896
+ chr = "<MAC_END>";
2702
1897
  break;
2703
1898
  case MAC_ARG_START:
2704
1899
  c1 = *cp++ & UCHARMAX;
2705
1900
  mcpp_fprintf( DBG, "<MAC%d:ARG%d>", c, c1 - 1);
2706
1901
  break;
2707
1902
  case MAC_ARG_END:
2708
- if (option_flags.v) {
2709
- c1 = *cp++ & UCHARMAX;
2710
- mcpp_fprintf( DBG, "<ARG_END%d-%d>", c, c1 - 1);
2711
- } else {
2712
- chr = "<ARG_END>";
2713
- }
1903
+ chr = "<ARG_END>";
2714
1904
  break;
2715
1905
  }
2716
1906
  break;
2717
1907
  case DEF_MAGIC:
2718
- if (standard) {
2719
- chr = "<MAGIC>";
2720
- break;
2721
- } /* Else fall through */
1908
+ chr = "<MAGIC>";
1909
+ break;
2722
1910
  case CAT:
2723
- if (standard) {
2724
- chr = "##";
2725
- break;
2726
- } /* Else fall through */
1911
+ chr = "##";
1912
+ break;
2727
1913
  case ST_QUOTE:
2728
- if (standard) {
2729
- chr = "#";
2730
- break;
2731
- } /* Else fall through */
1914
+ chr = "#";
1915
+ break;
2732
1916
  case RT_END:
2733
- if (standard) {
2734
- chr = "<RT_END>";
2735
- break;
2736
- } /* Else fall through */
1917
+ chr = "<RT_END>";
1918
+ break;
2737
1919
  case IN_SRC:
2738
- if (standard) {
2739
- if ((mcpp_debug & MACRO_CALL) && ! in_directive) {
2740
- int num;
2741
- num = ((*cp++ & UCHARMAX) - 1) * UCHARMAX;
2742
- num += (*cp++ & UCHARMAX) - 1;
2743
- mcpp_fprintf( DBG, "<SRC%d>", num);
2744
- } else {
2745
- chr = "<SRC>";
2746
- }
2747
- } else { /* Control character */
2748
- mcpp_fprintf( DBG, "<^%c>", c + '@');
1920
+ if ((mcpp_debug & MACRO_CALL) && ! in_directive) {
1921
+ int num;
1922
+ num = ((*cp++ & UCHARMAX) - 1) * UCHARMAX;
1923
+ num += (*cp++ & UCHARMAX) - 1;
1924
+ mcpp_fprintf( DBG, "<SRC%d>", num);
1925
+ } else {
1926
+ chr = "<SRC>";
2749
1927
  }
2750
1928
  break;
2751
1929
  case TOK_SEP:
2752
- if (mcpp_mode == STD) {
2753
- chr = "<TSEP>";
2754
- break;
2755
- } else if (mcpp_mode == OLD_PREP) { /* COM_SEP */
2756
- chr = "<CSEP>";
2757
- break;
2758
- } /* Else fall through */
1930
+ chr = "<TSEP>";
1931
+ break;
2759
1932
  default:
2760
1933
  no_magic:
2761
1934
  if (c < ' ')