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