zeroc-ice 3.6b1 → 3.6.0

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