zeroc-ice 3.6b1 → 3.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
data/ext/ice/mcpp/eval.c
CHANGED
@@ -35,12 +35,8 @@
|
|
35
35
|
* Some routines are used also to evaluate the value of numerical tokens.
|
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
|
typedef struct optab {
|
46
42
|
char op; /* Operator */
|
@@ -66,10 +62,6 @@ static expr_t eval_unsigned( VAL_SIGN ** valpp, uexpr_t v1u, uexpr_t v2u
|
|
66
62
|
static void overflow( const char * op_name, VAL_SIGN ** valpp
|
67
63
|
, int ll_overflow);
|
68
64
|
/* Diagnose overflow of expr. */
|
69
|
-
static int do_sizeof( void);
|
70
|
-
/* Evaluate sizeof (type) */
|
71
|
-
static int look_type( int typecode);
|
72
|
-
/* Look for type of the name */
|
73
65
|
static void dump_val( const char * msg, const VAL_SIGN * valp);
|
74
66
|
/* Print value of an operand */
|
75
67
|
static void dump_stack( const OPTAB * opstack, const OPTAB * opp
|
@@ -140,7 +132,7 @@ static int skip = 0; /* 3-way signal of skipping expr*/
|
|
140
132
|
static const char * const non_eval
|
141
133
|
= " (in non-evaluated sub-expression)"; /* _W8_ */
|
142
134
|
|
143
|
-
#if HAVE_LONG_LONG
|
135
|
+
#if HAVE_LONG_LONG
|
144
136
|
static int w_level = 1; /* warn_level at overflow of long */
|
145
137
|
#else
|
146
138
|
static int w_level = 2;
|
@@ -222,54 +214,14 @@ typedef struct types {
|
|
222
214
|
#define ANYINT (T_CHAR | T_SHORT | T_INT | T_LONG)
|
223
215
|
#endif
|
224
216
|
|
225
|
-
static const TYPES basic_types[] = {
|
226
|
-
{ T_CHAR, "char", ANYFLOAT | ANYINT },
|
227
|
-
{ T_SHORT, "short", ANYFLOAT | ANYINT },
|
228
|
-
{ T_INT, "int", ANYFLOAT | T_CHAR | T_INT },
|
229
|
-
{ T_LONG, "long", ANYFLOAT | ANYINT },
|
230
|
-
#if HAVE_LONG_LONG
|
231
|
-
#if HOST_COMPILER == BORLANDC
|
232
|
-
{ T_LONGLONG, "__int64", ANYFLOAT | ANYINT },
|
233
|
-
#else
|
234
|
-
{ T_LONGLONG, "long long", ANYFLOAT | ANYINT },
|
235
|
-
#endif
|
236
|
-
#endif
|
237
|
-
{ T_FLOAT, "float", ANYFLOAT | ANYINT | ANYSIGN },
|
238
|
-
{ T_DOUBLE, "double", ANYFLOAT | ANYINT | ANYSIGN },
|
239
|
-
{ T_LONGDOUBLE, "long double", ANYFLOAT | ANYINT | ANYSIGN },
|
240
|
-
{ T_SIGNED, "signed", ANYFLOAT | ANYINT | ANYSIGN },
|
241
|
-
{ T_UNSIGNED, "unsigned", ANYFLOAT | ANYINT | ANYSIGN },
|
242
|
-
{ 0, NULL, 0 } /* Signal end */
|
243
|
-
};
|
244
|
-
|
245
|
-
/*
|
246
|
-
* In this table, T_FPTR (pointer to function) should be placed last.
|
247
|
-
*/
|
248
|
-
static const SIZES size_table[] = {
|
249
|
-
{ T_CHAR, S_CHAR, S_PCHAR }, /* char */
|
250
|
-
{ T_SHORT, S_SINT, S_PSINT }, /* short int */
|
251
|
-
{ T_INT, S_INT, S_PINT }, /* int */
|
252
|
-
{ T_LONG, S_LINT, S_PLINT }, /* long */
|
253
|
-
#if HAVE_LONG_LONG
|
254
|
-
{ T_LONGLONG, S_LLINT, S_PLLINT }, /* long long */
|
255
|
-
#endif
|
256
|
-
{ T_FLOAT, S_FLOAT, S_PFLOAT }, /* float */
|
257
|
-
{ T_DOUBLE, S_DOUBLE, S_PDOUBLE }, /* double */
|
258
|
-
{ T_LONGDOUBLE, S_LDOUBLE, S_PLDOUBLE }, /* long double */
|
259
|
-
{ T_FPTR, 0, S_PFPTR }, /* int (*()) */
|
260
|
-
{ 0, 0, 0 } /* End of table */
|
261
|
-
};
|
262
|
-
|
263
217
|
#define is_binary(op) (FIRST_BINOP <= op && op <= LAST_BINOP)
|
264
218
|
#define is_unary(op) (FIRST_UNOP <= op && op <= LAST_UNOP)
|
265
219
|
|
266
220
|
|
267
|
-
#if MCPP_LIB
|
268
221
|
void init_eval( void)
|
269
222
|
{
|
270
223
|
skip = 0;
|
271
224
|
}
|
272
|
-
#endif
|
273
225
|
|
274
226
|
expr_t eval_if( void)
|
275
227
|
/*
|
@@ -358,13 +310,13 @@ expr_t eval_if( void)
|
|
358
310
|
if (mcpp_debug & EXPRESSION)
|
359
311
|
mcpp_fprintf( DBG
|
360
312
|
, "op %s, prec %d, stacked op %s, prec %d, skip %d\n"
|
361
|
-
, opname[ op], prec, opname[ opp->op], opp->prec, opp->skip);
|
313
|
+
, opname[ op], prec, opname[ (int)opp->op], opp->prec, opp->skip);
|
362
314
|
|
363
315
|
/* Stack coming sub-expression of higher precedence. */
|
364
316
|
if (opp->prec < prec) {
|
365
317
|
if (op == OP_LPA) {
|
366
318
|
prec = OP_RPA_PREC;
|
367
|
-
if (
|
319
|
+
if ((warn_level & 4)
|
368
320
|
&& ++parens == std_limits.exp_nest + 1)
|
369
321
|
cwarn(
|
370
322
|
"More than %.0s%ld nesting of parens" /* _W4_ */
|
@@ -448,7 +400,7 @@ expr_t eval_if( void)
|
|
448
400
|
if (opp->op != OP_QUE) { /* Matches ? on stack? */
|
449
401
|
cerror(
|
450
402
|
"Misplaced \":\", previous operator is \"%s\"" /* _E_ */
|
451
|
-
, opname[opp->op], 0L, NULL);
|
403
|
+
, opname[(int)opp->op], 0L, NULL);
|
452
404
|
return 0L;
|
453
405
|
}
|
454
406
|
/* Evaluate op1. Fall through */
|
@@ -509,14 +461,14 @@ static int eval_lex( void)
|
|
509
461
|
return OP_EOE; /* End of expression */
|
510
462
|
}
|
511
463
|
token_type = get_unexpandable( c, warn);
|
512
|
-
if (
|
464
|
+
if (macro_line == MACRO_ERROR)
|
513
465
|
return OP_FAIL; /* Unterminated macro call */
|
514
466
|
if (token_type == NO_TOKEN)
|
515
467
|
return OP_EOE; /* Only macro(s) expanding to 0-token */
|
516
468
|
|
517
469
|
switch (token_type) {
|
518
470
|
case NAM:
|
519
|
-
if (
|
471
|
+
if (str_eq( identifier, "defined")) { /* defined name */
|
520
472
|
c1 = c = skip_ws();
|
521
473
|
if (c == '(') /* Allow defined (name) */
|
522
474
|
c = skip_ws();
|
@@ -534,22 +486,6 @@ static int eval_lex( void)
|
|
534
486
|
cerror( "Bad defined syntax: %s" /* _E_ */
|
535
487
|
, infile->fp ? "" : infile->buffer, 0L, NULL);
|
536
488
|
break;
|
537
|
-
} else if (cplus_val) {
|
538
|
-
if (str_eq( identifier, "true")) {
|
539
|
-
ev.val = 1L;
|
540
|
-
return VAL;
|
541
|
-
} else if (str_eq( identifier, "false")) {
|
542
|
-
ev.val = 0L;
|
543
|
-
return VAL;
|
544
|
-
} else if (mcpp_mode != POST_STD
|
545
|
-
&& (openum = id_operator( identifier)) != 0) {
|
546
|
-
/* Identifier-like operator in C++98 */
|
547
|
-
strcpy( work_buf, identifier);
|
548
|
-
return chk_ops();
|
549
|
-
}
|
550
|
-
} else if (! standard && str_eq( identifier, "sizeof")) {
|
551
|
-
/* sizeof hackery */
|
552
|
-
return do_sizeof(); /* Gets own routine */
|
553
489
|
}
|
554
490
|
/*
|
555
491
|
* The ANSI C Standard says that an undefined symbol
|
@@ -563,11 +499,6 @@ static int eval_lex( void)
|
|
563
499
|
return VAL;
|
564
500
|
case CHR: /* Character constant */
|
565
501
|
case WCHR: /* Wide char constant */
|
566
|
-
if (mcpp_mode == POST_STD) {
|
567
|
-
cerror( "Can't use a character constant %s" /* _E_ */
|
568
|
-
, work_buf, 0L, NULL);
|
569
|
-
break;
|
570
|
-
}
|
571
502
|
valp = eval_char( work_buf); /* 'valp' points 'ev' */
|
572
503
|
if (valp->sign == VAL_ERROR)
|
573
504
|
break;
|
@@ -620,192 +551,6 @@ static int chk_ops( void)
|
|
620
551
|
}
|
621
552
|
}
|
622
553
|
|
623
|
-
static int do_sizeof( void)
|
624
|
-
/*
|
625
|
-
* Process the sizeof (basic type) operation in an #if string.
|
626
|
-
* Sets ev.val to the size and returns
|
627
|
-
* VAL success
|
628
|
-
* OP_FAIL bad parse or something.
|
629
|
-
* This routine is never called in STD and POST_STD mode.
|
630
|
-
*/
|
631
|
-
{
|
632
|
-
const char * const no_type = "sizeof: No type specified"; /* _E_ */
|
633
|
-
int warn = ! skip || (warn_level & 8);
|
634
|
-
int type_end = FALSE;
|
635
|
-
int typecode = 0;
|
636
|
-
int token_type = NO_TOKEN;
|
637
|
-
const SIZES * sizp = NULL;
|
638
|
-
|
639
|
-
if (get_unexpandable( skip_ws(), warn) != OPE || openum != OP_LPA)
|
640
|
-
goto no_good; /* Not '(' */
|
641
|
-
|
642
|
-
/*
|
643
|
-
* Scan off the tokens.
|
644
|
-
*/
|
645
|
-
|
646
|
-
while (! type_end) {
|
647
|
-
token_type = get_unexpandable( skip_ws(), warn);
|
648
|
-
/* Get next token expanding macros */
|
649
|
-
switch (token_type) {
|
650
|
-
case OPE:
|
651
|
-
if (openum == OP_LPA) { /* thing (*)() func ptr */
|
652
|
-
if (get_unexpandable( skip_ws(), warn) == OPE
|
653
|
-
&& openum == OP_MUL
|
654
|
-
&& get_unexpandable( skip_ws(), warn) == OPE
|
655
|
-
&& openum == OP_RPA) { /* (*) */
|
656
|
-
if (get_unexpandable( skip_ws(), warn) != OPE
|
657
|
-
|| openum != OP_LPA
|
658
|
-
|| get_unexpandable( skip_ws(), warn) != OPE
|
659
|
-
|| openum != OP_RPA) /* Not () */
|
660
|
-
goto no_good;
|
661
|
-
typecode |= T_FPTR; /* Function pointer */
|
662
|
-
} else { /* Junk is an error */
|
663
|
-
goto no_good;
|
664
|
-
}
|
665
|
-
} else { /* '*' or ')' */
|
666
|
-
type_end = TRUE;
|
667
|
-
}
|
668
|
-
break;
|
669
|
-
case NAM: /* Look for type comb. */
|
670
|
-
if ((typecode = look_type( typecode)) == 0)
|
671
|
-
return OP_FAIL; /* Illegal type or comb.*/
|
672
|
-
break;
|
673
|
-
default: goto no_good; /* Illegal token */
|
674
|
-
}
|
675
|
-
} /* End of while */
|
676
|
-
|
677
|
-
/*
|
678
|
-
* We are at the end of the type scan. Chew off '*' if necessary.
|
679
|
-
*/
|
680
|
-
if (token_type == OPE) {
|
681
|
-
if (openum == OP_MUL) { /* '*' */
|
682
|
-
typecode |= T_PTR;
|
683
|
-
if (get_unexpandable( skip_ws(), warn) != OPE)
|
684
|
-
goto no_good;
|
685
|
-
}
|
686
|
-
if (openum == OP_RPA) { /* ')' */
|
687
|
-
/*
|
688
|
-
* Last syntax check
|
689
|
-
* We assume that all function pointers are the same size:
|
690
|
-
* sizeof (int (*)()) == sizeof (float (*)())
|
691
|
-
* We assume that signed and unsigned don't change the size:
|
692
|
-
* sizeof (signed int) == sizeof (unsigned int)
|
693
|
-
*/
|
694
|
-
if ((typecode & T_FPTR) != 0) { /* Function pointer */
|
695
|
-
typecode = T_FPTR | T_PTR;
|
696
|
-
} else { /* Var or var * datum */
|
697
|
-
typecode &= ~(T_SIGNED | T_UNSIGNED);
|
698
|
-
#if HAVE_LONG_LONG
|
699
|
-
if ((typecode & (T_SHORT | T_LONG | T_LONGLONG)) != 0)
|
700
|
-
#else
|
701
|
-
if ((typecode & (T_SHORT | T_LONG)) != 0)
|
702
|
-
#endif
|
703
|
-
typecode &= ~T_INT;
|
704
|
-
}
|
705
|
-
if ((typecode & ~T_PTR) == 0) {
|
706
|
-
cerror( no_type, NULL, 0L, NULL);
|
707
|
-
return OP_FAIL;
|
708
|
-
} else {
|
709
|
-
/*
|
710
|
-
* Exactly one bit (and possibly T_PTR) may be set.
|
711
|
-
*/
|
712
|
-
for (sizp = size_table; sizp->bits != 0; sizp++) {
|
713
|
-
if ((typecode & ~T_PTR) == sizp->bits) {
|
714
|
-
ev.val = ((typecode & T_PTR) != 0)
|
715
|
-
? sizp->psize : sizp->size;
|
716
|
-
break;
|
717
|
-
}
|
718
|
-
}
|
719
|
-
}
|
720
|
-
} else {
|
721
|
-
goto no_good;
|
722
|
-
}
|
723
|
-
} else {
|
724
|
-
goto no_good;
|
725
|
-
}
|
726
|
-
|
727
|
-
if (mcpp_debug & EXPRESSION) {
|
728
|
-
if (sizp)
|
729
|
-
mcpp_fprintf( DBG,
|
730
|
-
"sizp->bits:0x%x sizp->size:0x%x sizp->psize:0x%x ev.val:0x%lx\n"
|
731
|
-
, sizp->bits, sizp->size, sizp->psize
|
732
|
-
, (unsigned long) ev.val);
|
733
|
-
}
|
734
|
-
return VAL;
|
735
|
-
|
736
|
-
no_good:
|
737
|
-
unget_ch();
|
738
|
-
cerror( "sizeof: Syntax error", NULL, 0L, NULL); /* _E_ */
|
739
|
-
return OP_FAIL;
|
740
|
-
}
|
741
|
-
|
742
|
-
static int look_type(
|
743
|
-
int typecode
|
744
|
-
)
|
745
|
-
{
|
746
|
-
const char * const unknown_type
|
747
|
-
= "sizeof: Unknown type \"%s\"%.0ld%s"; /* _E_ _W8_ */
|
748
|
-
const char * const illeg_comb
|
749
|
-
= "sizeof: Illegal type combination with \"%s\"%.0ld%s"; /* _E_ _W8_ */
|
750
|
-
int token_type;
|
751
|
-
const TYPES * tp;
|
752
|
-
|
753
|
-
if (str_eq( identifier, "long")) {
|
754
|
-
if ((token_type
|
755
|
-
= get_unexpandable( skip_ws(), !skip || (warn_level & 8)))
|
756
|
-
== NO_TOKEN)
|
757
|
-
return typecode;
|
758
|
-
if (token_type == NAM) {
|
759
|
-
#if HAVE_LONG_LONG
|
760
|
-
if (str_eq( identifier, "long")) {
|
761
|
-
strcpy( work_buf, "long long");
|
762
|
-
goto basic;
|
763
|
-
}
|
764
|
-
#endif
|
765
|
-
if (str_eq( identifier, "double")) {
|
766
|
-
strcpy( work_buf, "long double");
|
767
|
-
goto basic;
|
768
|
-
}
|
769
|
-
}
|
770
|
-
unget_string( work_buf, NULL); /* Not long long */
|
771
|
-
strcpy( work_buf, "long"); /* nor long double */
|
772
|
-
}
|
773
|
-
|
774
|
-
/*
|
775
|
-
* Look for this unexpandable token in basic_types.
|
776
|
-
*/
|
777
|
-
basic:
|
778
|
-
for (tp = basic_types; tp->token_name != NULL; tp++) {
|
779
|
-
if (str_eq( work_buf, tp->token_name))
|
780
|
-
break;
|
781
|
-
}
|
782
|
-
|
783
|
-
if (tp->token_name == NULL) {
|
784
|
-
if (! skip) {
|
785
|
-
cerror( unknown_type, work_buf, 0L, NULL);
|
786
|
-
return 0;
|
787
|
-
} else if (warn_level & 8) {
|
788
|
-
cwarn( unknown_type, work_buf, 0L, non_eval);
|
789
|
-
}
|
790
|
-
}
|
791
|
-
if ((typecode & tp->excluded) != 0) {
|
792
|
-
if (! skip) {
|
793
|
-
cerror( illeg_comb, work_buf, 0L, NULL);
|
794
|
-
return 0;
|
795
|
-
} else if (warn_level & 8) {
|
796
|
-
cwarn( illeg_comb, work_buf, 0L, non_eval);
|
797
|
-
}
|
798
|
-
}
|
799
|
-
|
800
|
-
if (mcpp_debug & EXPRESSION) {
|
801
|
-
if (tp->token_name)
|
802
|
-
mcpp_fprintf( DBG,
|
803
|
-
"sizeof -- typecode:0x%x tp->token_name:\"%s\" tp->type:0x%x\n"
|
804
|
-
, typecode, tp->token_name, tp->type);
|
805
|
-
}
|
806
|
-
return typecode |= tp->type; /* Or in the type bit */
|
807
|
-
}
|
808
|
-
|
809
554
|
VAL_SIGN * eval_num(
|
810
555
|
const char * nump /* Preprocessing number */
|
811
556
|
)
|
@@ -833,10 +578,6 @@ VAL_SIGN * eval_num(
|
|
833
578
|
"of (unsigned) long";
|
834
579
|
const char * const ll_suffix =
|
835
580
|
"LL suffix is used in other than C99 mode \"%s\"%.0ld%s"; /* _W1_ _W2_ _W8_ */
|
836
|
-
#if COMPILER == MSC || COMPILER == BORLANDC
|
837
|
-
const char * const i64_suffix =
|
838
|
-
"I64 suffix is used in other than C99 mode \"%s\"%.0ld%s"; /* _W2_ _W8_ */
|
839
|
-
#endif
|
840
581
|
int llflag = FALSE;
|
841
582
|
int erange_long = FALSE;
|
842
583
|
#endif
|
@@ -876,7 +617,7 @@ VAL_SIGN * eval_num(
|
|
876
617
|
erange = TRUE;
|
877
618
|
}
|
878
619
|
#if HAVE_LONG_LONG
|
879
|
-
if (
|
620
|
+
if (v1 > ULONGMAX)
|
880
621
|
/* Overflow of long or unsigned long */
|
881
622
|
erange_long = TRUE;
|
882
623
|
#endif
|
@@ -896,7 +637,7 @@ VAL_SIGN * eval_num(
|
|
896
637
|
goto num_err;
|
897
638
|
} else if (lflag) {
|
898
639
|
llflag = TRUE;
|
899
|
-
if (
|
640
|
+
if (((! skip && (warn_level & w_level))
|
900
641
|
|| (skip && (warn_level & 8))))
|
901
642
|
cwarn( ll_suffix, nump, 0L, skip ? non_eval : NULL);
|
902
643
|
} else {
|
@@ -911,44 +652,25 @@ VAL_SIGN * eval_num(
|
|
911
652
|
}
|
912
653
|
c = *cp++;
|
913
654
|
}
|
914
|
-
#if HAVE_LONG_LONG && (COMPILER == MSC || COMPILER == BORLANDC)
|
915
|
-
if (tolower( c) == 'i') {
|
916
|
-
c1 = atoi( cp);
|
917
|
-
if (c1 == 64) {
|
918
|
-
if (! stdc3 && ((! skip && (warn_level & w_level))
|
919
|
-
|| (skip && (warn_level & 8))))
|
920
|
-
cwarn( i64_suffix, nump, 0L, skip ? non_eval : NULL);
|
921
|
-
cp += 2;
|
922
|
-
} else if (c1 == 32 || c1 == 16) {
|
923
|
-
cp += 2;
|
924
|
-
} else if (c1 == 8) {
|
925
|
-
cp++;
|
926
|
-
}
|
927
|
-
c = *cp++;
|
928
|
-
}
|
929
|
-
#endif
|
930
|
-
|
931
655
|
if (c != EOS)
|
932
656
|
goto num_err;
|
933
657
|
|
934
|
-
if (
|
935
|
-
|
936
|
-
|
937
|
-
|
938
|
-
ev.sign = (value >= 0L);
|
658
|
+
if (uflag) /* If 'U' suffixed, uexpr_t is treated as unsigned */
|
659
|
+
ev.sign = UNSIGNED;
|
660
|
+
else
|
661
|
+
ev.sign = (value >= 0L);
|
939
662
|
#if HAVE_LONG_LONG
|
940
|
-
|
941
|
-
|
942
|
-
erange_long = TRUE;
|
663
|
+
if (value > LONGMAX)
|
664
|
+
erange_long = TRUE;
|
943
665
|
#endif
|
944
|
-
|
666
|
+
|
945
667
|
|
946
668
|
ev.val = value;
|
947
669
|
if (erange && (warn_level & 8))
|
948
670
|
cwarn( out_of_range, nump, 0L, non_eval);
|
949
671
|
#if HAVE_LONG_LONG
|
950
672
|
else if (erange_long && ((skip && (warn_level & 8))
|
951
|
-
|| (!
|
673
|
+
|| (! skip && (warn_level & w_level))))
|
952
674
|
cwarn( out_of_range_long, nump, 0L, skip ? non_eval : NULL);
|
953
675
|
#endif
|
954
676
|
return & ev;
|
@@ -982,7 +704,7 @@ static VAL_SIGN * eval_char(
|
|
982
704
|
int wide = (*token == 'L');
|
983
705
|
int ucn8;
|
984
706
|
int i;
|
985
|
-
int bits, mbits
|
707
|
+
int bits, mbits;
|
986
708
|
char * cp = token + 1; /* Character content */
|
987
709
|
#if HAVE_LONG_LONG
|
988
710
|
const char * const w_out_of_range_long =
|
@@ -995,12 +717,8 @@ static VAL_SIGN * eval_char(
|
|
995
717
|
#endif
|
996
718
|
|
997
719
|
bits = CHARBIT;
|
998
|
-
|
999
|
-
if (
|
1000
|
-
mbits = CHARBIT * 4;
|
1001
|
-
else
|
1002
|
-
mbits = CHARBIT * 2;
|
1003
|
-
if (mcpp_mode == STD && wide) { /* Wide character constant */
|
720
|
+
mbits = CHARBIT * 4;
|
721
|
+
if (wide) { /* Wide character constant */
|
1004
722
|
cp++; /* Skip 'L' */
|
1005
723
|
bits = mbits;
|
1006
724
|
}
|
@@ -1012,7 +730,6 @@ static VAL_SIGN * eval_char(
|
|
1012
730
|
ev.sign = VAL_ERROR;
|
1013
731
|
return & ev;
|
1014
732
|
}
|
1015
|
-
bits_save = bits;
|
1016
733
|
value = cl;
|
1017
734
|
|
1018
735
|
for (i = 0; *cp != '\'' && *cp != EOS; i++) {
|
@@ -1028,12 +745,6 @@ static VAL_SIGN * eval_char(
|
|
1028
745
|
ev.sign = VAL_ERROR;
|
1029
746
|
return & ev;
|
1030
747
|
}
|
1031
|
-
#if OK_UCN
|
1032
|
-
if (ucn8 == TRUE)
|
1033
|
-
bits = u8bits;
|
1034
|
-
else
|
1035
|
-
bits = bits_save;
|
1036
|
-
#endif
|
1037
748
|
}
|
1038
749
|
tmp = value;
|
1039
750
|
value = (value << bits) | cl; /* Multi-char or multi-byte char */
|
@@ -1043,11 +754,6 @@ static VAL_SIGN * eval_char(
|
|
1043
754
|
else
|
1044
755
|
erange = TRUE;
|
1045
756
|
}
|
1046
|
-
#if HAVE_LONG_LONG
|
1047
|
-
if ((mcpp_mode == STD && (! stdc3 && value > ULONGMAX))
|
1048
|
-
|| (! standard && value > LONGMAX))
|
1049
|
-
erange_long = TRUE;
|
1050
|
-
#endif
|
1051
757
|
}
|
1052
758
|
|
1053
759
|
ev.sign = ((expr_t) value >= 0L);
|
@@ -1060,7 +766,7 @@ static VAL_SIGN * eval_char(
|
|
1060
766
|
cwarn( c_out_of_range, token, 0L, non_eval);
|
1061
767
|
#if HAVE_LONG_LONG
|
1062
768
|
} else if (erange_long && ((skip && (warn_level & 8))
|
1063
|
-
|| (!
|
769
|
+
|| (! skip && (warn_level & w_level)))) {
|
1064
770
|
if (wide)
|
1065
771
|
cwarn( w_out_of_range_long, token, 0L, skip ? non_eval : NULL);
|
1066
772
|
else
|
@@ -1072,7 +778,7 @@ static VAL_SIGN * eval_char(
|
|
1072
778
|
return & ev;
|
1073
779
|
|
1074
780
|
if ((! skip && (warn_level & 4)) || (skip && (warn_level & 8))) {
|
1075
|
-
if (
|
781
|
+
if (wide)
|
1076
782
|
cwarn(
|
1077
783
|
"Multi-character wide character constant %s%.0ld%s isn't portable" /* _W4_ _W8_ */
|
1078
784
|
, token, 0L, skip ? non_eval : NULL);
|
@@ -1105,10 +811,6 @@ static expr_t eval_one(
|
|
1105
811
|
* Returns the value of the character or -1L on error.
|
1106
812
|
*/
|
1107
813
|
{
|
1108
|
-
#if OK_UCN
|
1109
|
-
const char * const ucn_malval
|
1110
|
-
= "UCN cannot specify the value %.0s\"%08lx\""; /* _E_ _W8_ */
|
1111
|
-
#endif
|
1112
814
|
const char * const out_of_range
|
1113
815
|
= "%s%ld bits can't represent escape sequence '%s'"; /* _E_ _W8_ */
|
1114
816
|
uexpr_t value;
|
@@ -1144,16 +846,7 @@ static expr_t eval_one(
|
|
1144
846
|
return '\t';
|
1145
847
|
case 'v':
|
1146
848
|
return '\v';
|
1147
|
-
#if OK_UCN
|
1148
|
-
case 'u': case 'U':
|
1149
|
-
if (! stdc2)
|
1150
|
-
goto undefined;
|
1151
|
-
/* Else Universal character name */
|
1152
|
-
/* Fall through */
|
1153
|
-
#endif
|
1154
849
|
case 'x': /* '\xFF' */
|
1155
|
-
if (! standard)
|
1156
|
-
goto undefined;
|
1157
850
|
digits = "0123456789abcdef";
|
1158
851
|
bits = 4;
|
1159
852
|
uc = *(*seq_pp)++ & UCHARMAX;
|
@@ -1171,10 +864,7 @@ static expr_t eval_one(
|
|
1171
864
|
|
1172
865
|
wchar_max = (UCHARMAX << CHARBIT) | UCHARMAX;
|
1173
866
|
if (mbits == CHARBIT * 4) {
|
1174
|
-
|
1175
|
-
wchar_max = (wchar_max << CHARBIT * 2) | wchar_max;
|
1176
|
-
else
|
1177
|
-
wchar_max = LONGMAX;
|
867
|
+
wchar_max = (wchar_max << CHARBIT * 2) | wchar_max;
|
1178
868
|
}
|
1179
869
|
|
1180
870
|
value = 0L;
|
@@ -1185,16 +875,8 @@ static expr_t eval_one(
|
|
1185
875
|
break;
|
1186
876
|
if (count >= 3 && bits == 3)
|
1187
877
|
break; /* Octal escape sequence at most 3 digits */
|
1188
|
-
#if OK_UCN
|
1189
|
-
if ((count >= 4 && uc1 == 'u') || (count >= 8 && uc1 == 'U'))
|
1190
|
-
break;
|
1191
|
-
#endif
|
1192
878
|
value = (value << bits) | (cp - digits);
|
1193
|
-
#if OK_UCN
|
1194
|
-
if (wchar_max < value && uc1 != 'u' && uc1 != 'U')
|
1195
|
-
#else
|
1196
879
|
if (wchar_max < value)
|
1197
|
-
#endif
|
1198
880
|
{
|
1199
881
|
if (! skip)
|
1200
882
|
goto range_err;
|
@@ -1212,23 +894,6 @@ static expr_t eval_one(
|
|
1212
894
|
|
1213
895
|
if (count == 0 && bits == 4) /* '\xnonsense' */
|
1214
896
|
goto undefined;
|
1215
|
-
#if OK_UCN
|
1216
|
-
if (uc1 == 'u' || uc1 == 'U') {
|
1217
|
-
if ((count < 4 && uc1 == 'u') || (count < 8 && uc1 == 'U'))
|
1218
|
-
goto undefined;
|
1219
|
-
if ((value >= 0L && value <= 0x9FL
|
1220
|
-
&& value != 0x24L && value != 0x40L && value != 0x60L)
|
1221
|
-
|| (!stdc3 && value >= 0xD800L && value <= 0xDFFFL)) {
|
1222
|
-
if (!skip)
|
1223
|
-
cerror( ucn_malval, NULL, (long) value, NULL);
|
1224
|
-
else if (warn_level & 8)
|
1225
|
-
cwarn( ucn_malval, NULL, (long) value, NULL);
|
1226
|
-
}
|
1227
|
-
if (count >= 8 && uc1 == 'U')
|
1228
|
-
*ucn8 = TRUE;
|
1229
|
-
return (expr_t) value;
|
1230
|
-
}
|
1231
|
-
#endif /* OK_UCN */
|
1232
897
|
if (! wide && (UCHARMAX < value)) {
|
1233
898
|
value &= UCHARMAX;
|
1234
899
|
goto range_err;
|
@@ -1308,8 +973,7 @@ static VAL_SIGN * eval_eval(
|
|
1308
973
|
mcpp_fputc( '\n', DBG);
|
1309
974
|
}
|
1310
975
|
|
1311
|
-
if (
|
1312
|
-
&& (sign1 == UNSIGNED || sign2 == UNSIGNED) && is_binary( op)
|
976
|
+
if ((sign1 == UNSIGNED || sign2 == UNSIGNED) && is_binary( op)
|
1313
977
|
&& op != OP_ANA && op != OP_ORO && op != OP_SR && op != OP_SL) {
|
1314
978
|
if (((sign1 == SIGNED && v1 < 0L) || (sign2 == SIGNED && v2 < 0L)
|
1315
979
|
) && ((! skip && (warn_level & 1))
|
@@ -1329,7 +993,7 @@ static VAL_SIGN * eval_eval(
|
|
1329
993
|
cwarn( "Illegal shift count %.0s\"%ld\"%s" /* _W1_ _W8_ */
|
1330
994
|
, NULL, (long) v2, skip ? non_eval : NULL);
|
1331
995
|
#if HAVE_LONG_LONG
|
1332
|
-
else if (
|
996
|
+
else if (v2 >= sizeof (long) * CHARBIT
|
1333
997
|
&& ((! skip && (warn_level & w_level))
|
1334
998
|
|| (skip && (warn_level & 8))))
|
1335
999
|
cwarn(
|
@@ -1351,7 +1015,7 @@ static VAL_SIGN * eval_eval(
|
|
1351
1015
|
}
|
1352
1016
|
}
|
1353
1017
|
|
1354
|
-
if (
|
1018
|
+
if (sign1 == SIGNED)
|
1355
1019
|
v1 = eval_signed( & valp, v1, v2, op);
|
1356
1020
|
else
|
1357
1021
|
v1 = eval_unsigned( & valp, (uexpr_t) v1, (uexpr_t) v2, op);
|
@@ -1400,7 +1064,7 @@ static expr_t eval_signed(
|
|
1400
1064
|
chk = v1 && v1 == -v1;
|
1401
1065
|
if (chk
|
1402
1066
|
#if HAVE_LONG_LONG
|
1403
|
-
|| (
|
1067
|
+
|| (v1 && (long) v1 == (long) -v1)
|
1404
1068
|
#endif
|
1405
1069
|
)
|
1406
1070
|
overflow( op_name, valpp, chk);
|
@@ -1413,7 +1077,7 @@ static expr_t eval_signed(
|
|
1413
1077
|
chk = v1 && v2 && (val / v1 != v2 || val / v2 != v1);
|
1414
1078
|
if (chk
|
1415
1079
|
#if HAVE_LONG_LONG
|
1416
|
-
|| (
|
1080
|
+
|| (v1 && v2
|
1417
1081
|
&& ((long)val / (long)v1 != (long)v2
|
1418
1082
|
|| (long)val / (long)v2 != (long)v1))
|
1419
1083
|
#endif
|
@@ -1427,12 +1091,11 @@ static expr_t eval_signed(
|
|
1427
1091
|
chk = -v1 == v1 && v2 == -1;
|
1428
1092
|
if (chk /* LONG_MIN / -1 on two's complement */
|
1429
1093
|
#if HAVE_LONG_LONG
|
1430
|
-
|| (
|
1431
|
-
&& (long)-v1 == (long)v1 && (long)v2 == (long)-1)
|
1094
|
+
|| ((long)-v1 == (long)v1 && (long)v2 == (long)-1)
|
1432
1095
|
#endif
|
1433
1096
|
)
|
1434
1097
|
overflow( op_name, valpp, chk);
|
1435
|
-
else if (
|
1098
|
+
else if ((v1 < 0L || v2 < 0L)
|
1436
1099
|
&& ((! skip && (warn_level & 1))
|
1437
1100
|
|| (skip && (warn_level & 8))))
|
1438
1101
|
cwarn( not_portable, op_name, 0L, skip ? non_eval : NULL);
|
@@ -1446,8 +1109,7 @@ static expr_t eval_signed(
|
|
1446
1109
|
chk = (v2 > 0L && v1 > val) || (v2 < 0L && v1 < val);
|
1447
1110
|
if (chk
|
1448
1111
|
#if HAVE_LONG_LONG
|
1449
|
-
|| (
|
1450
|
-
&& (((long)v2 > 0L && (long)v1 > (long)val)
|
1112
|
+
|| ((((long)v2 > 0L && (long)v1 > (long)val)
|
1451
1113
|
|| ((long)v2 < 0L && (long)v1 < (long)val)))
|
1452
1114
|
#endif
|
1453
1115
|
)
|
@@ -1459,8 +1121,7 @@ static expr_t eval_signed(
|
|
1459
1121
|
chk = (v2 > 0L && val > v1) || (v2 < 0L && val < v1);
|
1460
1122
|
if (chk
|
1461
1123
|
#if HAVE_LONG_LONG
|
1462
|
-
|| (
|
1463
|
-
&& (((long)v2 > 0L && (long)val > (long)v1)
|
1124
|
+
|| ((((long)v2 > 0L && (long)val > (long)v1)
|
1464
1125
|
|| ((long)v2 < 0L && (long)val < (long)v1)))
|
1465
1126
|
#endif
|
1466
1127
|
)
|
@@ -1520,7 +1181,7 @@ static expr_t eval_unsigned(
|
|
1520
1181
|
int chk; /* Flag of overflow in unsigned long long */
|
1521
1182
|
int minus; /* Big integer converted from signed long */
|
1522
1183
|
|
1523
|
-
minus =
|
1184
|
+
minus = (v1u > ULONGMAX || v2u > ULONGMAX);
|
1524
1185
|
|
1525
1186
|
switch (op) {
|
1526
1187
|
case OP_EOE:
|
@@ -1537,7 +1198,7 @@ static expr_t eval_unsigned(
|
|
1537
1198
|
chk = v1u && v2u && (v1 / v2u != v1u || v1 / v1u != v2u);
|
1538
1199
|
if (chk
|
1539
1200
|
#if HAVE_LONG_LONG
|
1540
|
-
|| (!
|
1201
|
+
|| (! minus && v1 > ULONGMAX)
|
1541
1202
|
#endif
|
1542
1203
|
)
|
1543
1204
|
overflow( op_name, valpp, chk);
|
@@ -1554,7 +1215,7 @@ static expr_t eval_unsigned(
|
|
1554
1215
|
chk = v1 < v1u;
|
1555
1216
|
if (chk
|
1556
1217
|
#if HAVE_LONG_LONG
|
1557
|
-
|| (!
|
1218
|
+
|| (! minus && v1 > ULONGMAX)
|
1558
1219
|
#endif
|
1559
1220
|
)
|
1560
1221
|
overflow( op_name, valpp, chk);
|
@@ -1564,7 +1225,7 @@ static expr_t eval_unsigned(
|
|
1564
1225
|
chk = v1 > v1u;
|
1565
1226
|
if (chk
|
1566
1227
|
#if HAVE_LONG_LONG
|
1567
|
-
|| (!
|
1228
|
+
|| (! minus && v1 > ULONGMAX)
|
1568
1229
|
#endif
|
1569
1230
|
)
|
1570
1231
|
overflow( op_name, valpp, chk);
|
@@ -1606,7 +1267,7 @@ static void overflow(
|
|
1606
1267
|
= "Result of \"%s\" is out of range%.0ld%s"; /* _E_ _W1_ _W8_ */
|
1607
1268
|
|
1608
1269
|
#if HAVE_LONG_LONG
|
1609
|
-
if (
|
1270
|
+
if (! ll_overflow) {
|
1610
1271
|
/* Overflow of long not in C99 mode */
|
1611
1272
|
if ((! skip && (warn_level & w_level)) || (skip && (warn_level & 8)))
|
1612
1273
|
cwarn( out_of_range, op_name, 0L, " of (unsigned) long");
|
@@ -1616,7 +1277,7 @@ static void overflow(
|
|
1616
1277
|
if (warn_level & 8)
|
1617
1278
|
cwarn( out_of_range, op_name, 0L, non_eval);
|
1618
1279
|
/* Else don't warn */
|
1619
|
-
} else if (
|
1280
|
+
} else if ((*valpp)->sign == UNSIGNED) {/* Never overflow */
|
1620
1281
|
if (warn_level & 1)
|
1621
1282
|
cwarn( out_of_range, op_name, 0L, NULL);
|
1622
1283
|
} else {
|
@@ -1660,7 +1321,7 @@ static void dump_stack(
|
|
1660
1321
|
|
1661
1322
|
while (opstack < opp) {
|
1662
1323
|
mcpp_fprintf( DBG, " [%2d] %2d %04o %d %s\n", (int)(opp - opstack)
|
1663
|
-
, opp->op, opp->prec, opp->skip, opname[ opp->op]);
|
1324
|
+
, opp->op, opp->prec, opp->skip, opname[ (int)opp->op]);
|
1664
1325
|
opp--;
|
1665
1326
|
}
|
1666
1327
|
|