diff --git a/pvDataApp/Makefile b/pvDataApp/Makefile index 401f688..40913f6 100644 --- a/pvDataApp/Makefile +++ b/pvDataApp/Makefile @@ -102,6 +102,7 @@ LIBSRCS += bitSetUtil.cpp SRC_DIRS += $(PVDATA)/monitor INC += monitor.h +LIBSRCS += monitor.cpp LIBRARY = pvData pvData_LIBS += Com diff --git a/pvDataApp/factory/Convert.cpp b/pvDataApp/factory/Convert.cpp index fde0a0b..4fdc3b4 100644 --- a/pvDataApp/factory/Convert.cpp +++ b/pvDataApp/factory/Convert.cpp @@ -46,7 +46,7 @@ static std::vector split(String commaSeparatedList) { return valueList; } -void Convert::getString(StringBuilder buf,PVField const *pvField,int indentLevel) +void Convert::getString(StringBuilder buf,PVField const *pvField,int /*indentLevel*/) { // TODO indextLevel ignored std::ostringstream strm; diff --git a/pvDataApp/factory/FieldCreateFactory.cpp b/pvDataApp/factory/FieldCreateFactory.cpp index 1fda3b4..c88cc02 100644 --- a/pvDataApp/factory/FieldCreateFactory.cpp +++ b/pvDataApp/factory/FieldCreateFactory.cpp @@ -7,6 +7,11 @@ /** * @author mrk */ + +#ifdef _WIN32 +#define NOMINMAX +#endif + #include #include #include @@ -269,7 +274,7 @@ void ScalarArray::toString(StringBuilder buffer,int /*indentLevel*/) const{ void ScalarArray::serialize(ByteBuffer *buffer, SerializableControl *control) const { control->ensureBuffer(1); - buffer->putByte(0x10 | getTypeCodeLUT()); + buffer->putByte((int8)0x10 | getTypeCodeLUT()); } void ScalarArray::deserialize(ByteBuffer* /*buffer*/, DeserializableControl* /*control*/) { @@ -298,7 +303,7 @@ void StructureArray::toString(StringBuilder buffer,int indentLevel) const { void StructureArray::serialize(ByteBuffer *buffer, SerializableControl *control) const { control->ensureBuffer(1); - buffer->putByte(0x90); + buffer->putByte((int8)0x90); control->cachedSerialize(pstructure, buffer); } @@ -331,11 +336,11 @@ void UnionArray::serialize(ByteBuffer *buffer, SerializableControl *control) con if (punion->isVariant()) { // unrestricted/variant union - buffer->putByte(0x92); + buffer->putByte((int8)0x92); } else { - buffer->putByte(0x91); + buffer->putByte((int8)0x91); control->cachedSerialize(punion, buffer); } } @@ -454,7 +459,7 @@ void Structure::toStringCommon(StringBuilder buffer,int indentLevel) const{ void Structure::serialize(ByteBuffer *buffer, SerializableControl *control) const { control->ensureBuffer(1); - buffer->putByte(0x80); + buffer->putByte((int8)0x80); serializeStructureField(this, buffer, control); } @@ -594,11 +599,11 @@ void Union::serialize(ByteBuffer *buffer, SerializableControl *control) const { if (fields.size() == 0) { // unrestricted/variant union - buffer->putByte(0x82); + buffer->putByte((int8)0x82); } else { - buffer->putByte(0x81); + buffer->putByte((int8)0x81); serializeUnionField(this, buffer, control); } } diff --git a/pvDataApp/factory/PVDataCreateFactory.cpp b/pvDataApp/factory/PVDataCreateFactory.cpp index f2113f3..81ba888 100644 --- a/pvDataApp/factory/PVDataCreateFactory.cpp +++ b/pvDataApp/factory/PVDataCreateFactory.cpp @@ -7,9 +7,11 @@ /** * @author mrk */ + #ifdef _WIN32 #define NOMINMAX #endif + #include #include #include diff --git a/pvDataApp/factory/PVField.cpp b/pvDataApp/factory/PVField.cpp index 7aa03ea..a01c537 100644 --- a/pvDataApp/factory/PVField.cpp +++ b/pvDataApp/factory/PVField.cpp @@ -257,8 +257,8 @@ void PVField::computeOffset(const PVField * pvField) { } else { while(pvTop->getParent()!=NULL) pvTop = pvTop->getParent(); } - int offset = 0; - int nextOffset = 1; + size_t offset = 0; + size_t nextOffset = 1; PVFieldPtrArray pvFields = pvTop->getPVFields(); for(size_t i=0; i < pvTop->getStructure()->getNumberFields(); i++) { offset = nextOffset; @@ -288,8 +288,8 @@ void PVField::computeOffset(const PVField * pvField) { } void PVField::computeOffset(const PVField * pvField,size_t offset) { - int beginOffset = offset; - int nextOffset = offset + 1; + size_t beginOffset = offset; + size_t nextOffset = offset + 1; const PVStructure *pvStructure = static_cast(pvField); const PVFieldPtrArray pvFields = pvStructure->getPVFields(); for(size_t i=0; i < pvStructure->getStructure()->getNumberFields(); i++) { diff --git a/pvDataApp/factory/PVStructure.cpp b/pvDataApp/factory/PVStructure.cpp index cf0e592..b2777b1 100644 --- a/pvDataApp/factory/PVStructure.cpp +++ b/pvDataApp/factory/PVStructure.cpp @@ -643,7 +643,7 @@ void PVStructure::serialize(ByteBuffer *pbuffer, PVStructure* nonConstThis = const_cast(this); size_t numberFields = nonConstThis->getNumberFields(); size_t offset = nonConstThis->getFieldOffset(); - int32 next = pbitSet->nextSetBit(offset); + int32 next = pbitSet->nextSetBit(static_cast(offset)); // no more changes or no changes in this structure if(next<0||next>=static_cast(offset+numberFields)) return; @@ -658,8 +658,8 @@ void PVStructure::serialize(ByteBuffer *pbuffer, for(size_t i = 0; igetFieldOffset(); - int32 inumberFields = pvField->getNumberFields(); - next = pbitSet->nextSetBit(offset); + int32 inumberFields = static_cast(pvField->getNumberFields()); + next = pbitSet->nextSetBit(static_cast(offset)); // no more changes if(next<0) return; @@ -680,7 +680,7 @@ void PVStructure::deserialize(ByteBuffer *pbuffer, DeserializableControl *pcontrol, BitSet *pbitSet) { size_t offset = getFieldOffset(); size_t numberFields = getNumberFields(); - int32 next = pbitSet->nextSetBit(offset); + int32 next = pbitSet->nextSetBit(static_cast(offset)); // no more changes or no changes in this structure if(next<0||next>=static_cast(offset+numberFields)) return; @@ -695,8 +695,8 @@ void PVStructure::deserialize(ByteBuffer *pbuffer, for(size_t i = 0; igetFieldOffset(); - int32 inumberFields = pvField->getNumberFields(); - next = pbitSet->nextSetBit(offset); + int32 inumberFields = static_cast(pvField->getNumberFields()); + next = pbitSet->nextSetBit(static_cast(offset)); // no more changes if(next<0) return; // no change in this pvField diff --git a/pvDataApp/factory/PVUnion.cpp b/pvDataApp/factory/PVUnion.cpp index dfa5204..b4bd4e0 100644 --- a/pvDataApp/factory/PVUnion.cpp +++ b/pvDataApp/factory/PVUnion.cpp @@ -93,7 +93,7 @@ PVFieldPtr PVUnion::select(int32 index) PVFieldPtr PVUnion::select(String const & fieldName) { - int32 index = variant ? -1 : unionPtr->getFieldIndex(fieldName); + int32 index = variant ? -1 : static_cast(unionPtr->getFieldIndex(fieldName)); if (index == -1) throw std::invalid_argument("no such fieldName"); return select(index); @@ -175,7 +175,7 @@ void PVUnion::deserialize(ByteBuffer *pbuffer, DeserializableControl *pcontrol) } else { - selector = SerializeHelper::readSize(pbuffer, pcontrol); + selector = static_cast(SerializeHelper::readSize(pbuffer, pcontrol)); if (selector != UNDEFINED_INDEX) { FieldConstPtr field = unionPtr->getField(selector); diff --git a/pvDataApp/misc/bitSet.cpp b/pvDataApp/misc/bitSet.cpp index df29901..8169aff 100644 --- a/pvDataApp/misc/bitSet.cpp +++ b/pvDataApp/misc/bitSet.cpp @@ -347,7 +347,7 @@ namespace epics { namespace pvData { void BitSet::deserialize(ByteBuffer* buffer, DeserializableControl* control) { - uint32 bytes = SerializeHelper::readSize(buffer, control); // in bytes + uint32 bytes = static_cast(SerializeHelper::readSize(buffer, control)); // in bytes wordsInUse = (bytes + 7) / 8; if (wordsInUse > wordsLength) diff --git a/pvDataApp/misc/byteBuffer.cpp b/pvDataApp/misc/byteBuffer.cpp index f48b327..f65a647 100644 --- a/pvDataApp/misc/byteBuffer.cpp +++ b/pvDataApp/misc/byteBuffer.cpp @@ -4,5 +4,5 @@ * in file LICENSE that is included with this distribution. */ /** - * @author mes + * @author mse */ diff --git a/pvDataApp/misc/epicsException.h b/pvDataApp/misc/epicsException.h index 0ff4521..d191c29 100644 --- a/pvDataApp/misc/epicsException.h +++ b/pvDataApp/misc/epicsException.h @@ -34,6 +34,9 @@ #ifndef EPICSEXCEPTION_H_ #define EPICSEXCEPTION_H_ +#ifdef _WIN32 +#pragma warning(disable: 4251) +#endif #include #include diff --git a/pvDataApp/misc/parseToPOD.cpp b/pvDataApp/misc/parseToPOD.cpp index f80923a..330cff4 100644 --- a/pvDataApp/misc/parseToPOD.cpp +++ b/pvDataApp/misc/parseToPOD.cpp @@ -10,11 +10,12 @@ #include #include +#define epicsExportSharedSymbols #include "typeCast.h" // need to use "long long" when sizeof(int)==sizeof(long) -// TODO does not work on Darwin 10.6 -#if ULONG_MAX == 0xfffffffful +//#if ULONG_MAX == 0xfffffffful +#if ULONG_MAX != UINT_MAX #define NEED_LONGLONG #endif @@ -138,7 +139,7 @@ epicsParseInt8(const char *str, epicsInt8 *to, int base, char **units) if (value < -0x80 || value > 0x7f) return S_stdlib_overflow; - *to = value; + *to = (epicsInt8)value; return 0; } @@ -154,7 +155,7 @@ epicsParseUInt8(const char *str, epicsUInt8 *to, int base, char **units) if (value > 0xff && value <= ~0xffUL) return S_stdlib_overflow; - *to = value; + *to = (epicsUInt8)value; return 0; } @@ -170,7 +171,7 @@ epicsParseInt16(const char *str, epicsInt16 *to, int base, char **units) if (value < -0x8000 || value > 0x7fff) return S_stdlib_overflow; - *to = value; + *to = (epicsInt16)value; return 0; } @@ -186,7 +187,7 @@ epicsParseUInt16(const char *str, epicsUInt16 *to, int base, char **units) if (value > 0xffff && value <= ~0xffffUL) return S_stdlib_overflow; - *to = value; + *to = (epicsUInt16)value; return 0; } @@ -204,7 +205,7 @@ epicsParseInt32(const char *str, epicsInt32 *to, int base, char **units) return S_stdlib_overflow; #endif - *to = value; + *to = (epicsInt32)value; return 0; } @@ -222,7 +223,7 @@ epicsParseUInt32(const char *str, epicsUInt32 *to, int base, char **units) return S_stdlib_overflow; #endif - *to = value; + *to = (epicsUInt32)value; return 0; } @@ -241,12 +242,12 @@ epicsParseFloat(const char *str, float *to, char **units) if (finite(value) && abs >= FLT_MAX) return S_stdlib_overflow; - *to = value; + *to = (float)value; return 0; } #endif -#if defined(NEED_LONGLONG) && defined(__vxworks) +#if defined(NEED_LONGLONG) && (defined(__vxworks) || defined (_WIN32)) static long long strtoll(const char *ptr, char ** endp, int base) { diff --git a/pvDataApp/misc/queue.h b/pvDataApp/misc/queue.h index 8ff4f84..908c48d 100644 --- a/pvDataApp/misc/queue.h +++ b/pvDataApp/misc/queue.h @@ -38,6 +38,7 @@ public: private: queueElementPtr nullElement; queueElementPtrArray elements; + // TODO use size_t instead int size; int numberFree; int numberUsed; @@ -49,7 +50,7 @@ private: template Queue::Queue(std::vector &xxx) -: size(xxx.size()), +: size(static_cast(xxx.size())), numberFree(size), numberUsed(0), nextGetFree(0), diff --git a/pvDataApp/misc/serializeHelper.cpp b/pvDataApp/misc/serializeHelper.cpp index 35f44b8..92cfd7e 100644 --- a/pvDataApp/misc/serializeHelper.cpp +++ b/pvDataApp/misc/serializeHelper.cpp @@ -33,11 +33,11 @@ namespace epics { if(s==(std::size_t)-1) // null // TODO remove buffer->putByte(-1); else if(s<254) - buffer->putByte(s); + buffer->putByte((int8)s); else { buffer->putByte(-2); - buffer->putInt(s); // (byte)-2 + size + buffer->putInt((int8)s); // (byte)-2 + size } } diff --git a/pvDataApp/misc/sharedVector.h b/pvDataApp/misc/sharedVector.h index b6ce6a8..d0bd6cb 100644 --- a/pvDataApp/misc/sharedVector.h +++ b/pvDataApp/misc/sharedVector.h @@ -7,6 +7,10 @@ #ifndef SHAREDVECTOR_H #define SHAREDVECTOR_H +#ifdef _WIN32 +#define NOMINMAX +#endif + #include #include #include @@ -86,12 +90,19 @@ namespace detail { } public: +#ifdef _WIN32 + template + shared_vector_base(A* v, size_t o, size_t c) + :m_data(v, detail::default_array_deleter()) + ,m_offset(o), m_count(c), m_total(c) + {_null_input();} +#else template shared_vector_base(A v, size_t o, size_t c) :m_data(v, detail::default_array_deleter()) ,m_offset(o), m_count(c), m_total(c) {_null_input();} - +#endif shared_vector_base(const std::tr1::shared_ptr& d, size_t o, size_t c) :m_data(d), m_offset(o), m_count(c), m_total(c) {_null_input();} diff --git a/pvDataApp/misc/timer.cpp b/pvDataApp/misc/timer.cpp index 66470a4..bf40ac6 100644 --- a/pvDataApp/misc/timer.cpp +++ b/pvDataApp/misc/timer.cpp @@ -7,11 +7,11 @@ /** * @author mrk */ -#include -#include -#include -#include -#include + +#ifdef _WIN32 +#define NOMINMAX +#endif + #include #define epicsExportSharedSymbols diff --git a/pvDataApp/misc/typeCast.cpp b/pvDataApp/misc/typeCast.cpp index 5bda363..cdbb53d 100644 --- a/pvDataApp/misc/typeCast.cpp +++ b/pvDataApp/misc/typeCast.cpp @@ -7,6 +7,7 @@ #include #include +#define epicsExportSharedSymbols #include "typeCast.h" using epics::pvData::castUnsafe; diff --git a/pvDataApp/monitor/monitor.h b/pvDataApp/monitor/monitor.h index bebd214..74006a3 100644 --- a/pvDataApp/monitor/monitor.h +++ b/pvDataApp/monitor/monitor.h @@ -38,8 +38,8 @@ class epicsShareClass MonitorElement { MonitorElement(){} MonitorElement(PVStructurePtr const & pvStructurePtr) : pvStructurePtr(pvStructurePtr), - changedBitSet(BitSet::create(pvStructurePtr->getNumberFields())), - overrunBitSet(BitSet::create(pvStructurePtr->getNumberFields())) + changedBitSet(BitSet::create(static_cast(pvStructurePtr->getNumberFields()))), + overrunBitSet(BitSet::create(static_cast(pvStructurePtr->getNumberFields()))) {} PVStructurePtr pvStructurePtr; BitSet::shared_pointer changedBitSet; diff --git a/pvDataApp/property/pvEnumerated.cpp b/pvDataApp/property/pvEnumerated.cpp index 3f069f7..25f883f 100644 --- a/pvDataApp/property/pvEnumerated.cpp +++ b/pvDataApp/property/pvEnumerated.cpp @@ -98,7 +98,7 @@ int32 PVEnumerated::getNumberChoices() if(pvIndex.get()==NULL ) { throw std::logic_error(notAttached); } - return pvChoices->getLength(); + return static_cast(pvChoices->getLength()); } bool PVEnumerated:: setChoices(const StringArray & choices) diff --git a/pvDataApp/property/timeStamp.cpp b/pvDataApp/property/timeStamp.cpp index 6482ea1..9df4495 100644 --- a/pvDataApp/property/timeStamp.cpp +++ b/pvDataApp/property/timeStamp.cpp @@ -57,7 +57,7 @@ void TimeStamp::fromTime_t(const time_t & tt) void TimeStamp::toTime_t(time_t &tt) const { epicsTimeStamp epicsTime; - epicsTime.secPastEpoch = secondsPastEpoch-posixEpochAtEpicsEpoch; + epicsTime.secPastEpoch = static_cast(secondsPastEpoch-posixEpochAtEpicsEpoch); epicsTime.nsec = nanoSeconds; epicsTimeToTime_t(&tt,&epicsTime); } @@ -79,7 +79,7 @@ void TimeStamp::getCurrent() double TimeStamp::toSeconds() const { - double value = secondsPastEpoch; + double value = static_cast(secondsPastEpoch); double nano = nanoSeconds; value += nano/1e9; return value; @@ -141,7 +141,7 @@ bool TimeStamp::operator>(TimeStamp const &right) const double TimeStamp::diff(TimeStamp const & a,TimeStamp const & b) { - double result = a.secondsPastEpoch - b.secondsPastEpoch; + double result = static_cast(a.secondsPastEpoch - b.secondsPastEpoch); result += (a.nanoSeconds - b.nanoSeconds)/1e9; return result; } @@ -163,7 +163,7 @@ TimeStamp & TimeStamp::operator+=(double seconds) { int64 secs = static_cast(seconds); int64 nano = static_cast((seconds - secs)*1e9); - nanoSeconds += nano; + nanoSeconds += static_cast(nano); if(nanoSeconds>nanoSecPerSec) { nanoSeconds -= nanoSecPerSec; secondsPastEpoch += 1; diff --git a/pvDataApp/pv/pvData.h b/pvDataApp/pv/pvData.h index 4aa8d52..41b6876 100644 --- a/pvDataApp/pv/pvData.h +++ b/pvDataApp/pv/pvData.h @@ -10,12 +10,16 @@ #ifndef PVDATA_H #define PVDATA_H +#ifdef _WIN32 +#define NOMINMAX +#endif + #if defined(__GNUC__) && !(defined(__vxworks) && !defined(_WRS_VXWORKS_MAJOR)) #define USAGE_DEPRECATED __attribute__((deprecated)) #define USAGE_ERROR(MSG) __attribute__((error(MSG))) #else #define USAGE_DEPRECATED -#define USAGE_ERROR(MSG) +#define USAGE_ERROR(MSG) { throw std::runtime_error(MSG); } #endif #include @@ -282,6 +286,10 @@ class epicsShareClass PVField { public: POINTER_DEFINITIONS(PVField); + /** + * Constructor + */ + PVField() {}; /** * Destructor */ @@ -531,14 +539,16 @@ public: // get operator // double value; doubleField >>= value; - void operator>>=(T& value) const + // NOTE: virtual is needed for MS C++ compiler to get this operator exported + virtual void operator>>=(T& value) const { value = get(); } // put operator // double value = 12.8; doubleField <<= value; - void operator<<=(T value) + // NOTE: virtual is needed for MS C++ compiler to get this operator exported + virtual void operator<<=(T value) { put(value); } @@ -631,6 +641,10 @@ typedef std::tr1::shared_ptr PVStringPtr; class epicsShareClass PVArray : public PVField, public SerializableArray { public: POINTER_DEFINITIONS(PVArray); + /** + * Constructor + */ + PVArray(){}; /** * Destructor */ @@ -714,6 +728,10 @@ public: class epicsShareClass PVScalarArray : public PVArray { public: POINTER_DEFINITIONS(PVScalarArray); + /** + * Constructor + */ + PVScalarArray() {}; /** * Destructor */ diff --git a/pvDataApp/pv/pvType.h b/pvDataApp/pv/pvType.h index 618b4fd..40c3b04 100644 --- a/pvDataApp/pv/pvType.h +++ b/pvDataApp/pv/pvType.h @@ -14,6 +14,12 @@ #ifndef PVTYPE_H #define PVTYPE_H + +#ifdef _WIN32 +#define NOMINMAX +#pragma warning(disable: 4251) +#endif + #include #include diff --git a/pvDataApp/pv/standardField.h b/pvDataApp/pv/standardField.h index 08f7f09..2652240 100644 --- a/pvDataApp/pv/standardField.h +++ b/pvDataApp/pv/standardField.h @@ -125,7 +125,7 @@ private: void createFloatAlarm(); void createDoubleAlarm(); void createEnumeratedAlarm(); - friend StandardFieldPtr getStandardField(); + //friend StandardFieldPtr getStandardField(); }; epicsShareExtern StandardFieldPtr getStandardField(); diff --git a/pvDataApp/pvMisc/bitSetUtil.cpp b/pvDataApp/pvMisc/bitSetUtil.cpp index c3753a9..2a5d493 100644 --- a/pvDataApp/pvMisc/bitSetUtil.cpp +++ b/pvDataApp/pvMisc/bitSetUtil.cpp @@ -21,7 +21,7 @@ static bool checkBitSetPVField( PVFieldPtr const &pvField,BitSetPtr const &bitSet,int32 initialOffset) { int32 offset = initialOffset; - int32 nbits = pvField->getNumberFields(); + int32 nbits = static_cast(pvField->getNumberFields()); if(nbits==1) return bitSet->get(offset); int32 nextSetBit = bitSet->nextSetBit(offset); if(nextSetBit>=(offset+nbits)) return false; @@ -36,10 +36,10 @@ static bool checkBitSetPVField( bool atLeastOneBitSet = false; bool allBitsSet = true; PVStructurePtr pvStructure = static_pointer_cast(pvField); - offset = pvStructure->getFieldOffset() + 1; + offset = static_cast(pvStructure->getFieldOffset()) + 1; while(offsetgetSubField(offset); - int32 nbitsNow = pvSubField->getNumberFields(); + int32 nbitsNow = static_cast(pvSubField->getNumberFields()); if(nbitsNow==1) { if(bitSet->get(offset)) { atLeastOneBitSet = true; @@ -57,7 +57,7 @@ static bool checkBitSetPVField( } else { allBitsSet = false; } - offset += pvSubField->getNumberFields(); + offset += static_cast(pvSubField->getNumberFields()); } } if(allBitsSet) { diff --git a/testApp/misc/testByteBuffer.cpp b/testApp/misc/testByteBuffer.cpp index 47cbe2f..69f6f40 100644 --- a/testApp/misc/testByteBuffer.cpp +++ b/testApp/misc/testByteBuffer.cpp @@ -52,7 +52,7 @@ void testBasicOperations() { testOk1(buff->getPosition()==16); testOk1(buff->getRemaining()==16); - float testFloat = 34.67; + float testFloat = 34.67f; buff->putFloat(testFloat); testOk1(buff->getPosition()==20); testOk1(buff->getRemaining()==12); diff --git a/testApp/misc/testOverrunBitSet.cpp b/testApp/misc/testOverrunBitSet.cpp index 82790f7..3cb9db8 100644 --- a/testApp/misc/testOverrunBitSet.cpp +++ b/testApp/misc/testOverrunBitSet.cpp @@ -32,21 +32,21 @@ void test() String properties("alarm,timeStamp,display"); PVStructurePtr pvStructure = standardPVField->scalar(pvDouble,properties); PVDoublePtr pvValue = pvStructure->getDoubleField("value"); - uint32 valueOffset = pvValue->getFieldOffset(); + uint32 valueOffset = (uint32) pvValue->getFieldOffset(); PVStructurePtr pvAlarm = pvStructure->getStructureField("alarm"); PVIntPtr pvSeverity = pvAlarm->getIntField("severity"); PVStringPtr pvMessage = pvAlarm->getStringField("message"); - uint32 severityOffset = pvSeverity->getFieldOffset(); - uint32 messageOffset = pvMessage->getFieldOffset(); + uint32 severityOffset = (uint32) pvSeverity->getFieldOffset(); + uint32 messageOffset = (uint32) pvMessage->getFieldOffset(); PVStructurePtr pvTimeStamp = pvStructure->getStructureField("timeStamp"); PVLongPtr pvSeconds = pvTimeStamp->getLongField("secondsPastEpoch"); PVIntPtr pvNanoSeconds = pvTimeStamp->getIntField("nanoSeconds"); PVIntPtr pvUserTag = pvTimeStamp->getIntField("userTag"); - uint32 timeStampOffset = pvTimeStamp->getFieldOffset(); - uint32 secondsOffset = pvSeconds->getFieldOffset(); - uint32 nanoSecondsOffset = pvNanoSeconds->getFieldOffset(); - uint32 userTagOffset = pvUserTag->getFieldOffset(); - uint32 nfields = pvStructure->getNumberFields(); + uint32 timeStampOffset = (uint32) pvTimeStamp->getFieldOffset(); + uint32 secondsOffset = (uint32) pvSeconds->getFieldOffset(); + uint32 nanoSecondsOffset = (uint32) pvNanoSeconds->getFieldOffset(); + uint32 userTagOffset = (uint32) pvUserTag->getFieldOffset(); + uint32 nfields = (uint32) pvStructure->getNumberFields(); BitSetPtr changeBitSet = BitSet::create(nfields); BitSetPtr userChangeBitSet = BitSet::create(nfields); BitSetPtr userOverrunBitSet = BitSet::create(nfields); diff --git a/testApp/misc/testSerialization.cpp b/testApp/misc/testSerialization.cpp index 59457b6..80e485c 100644 --- a/testApp/misc/testSerialization.cpp +++ b/testApp/misc/testSerialization.cpp @@ -9,9 +9,11 @@ * Created on: Oct 25, 2010 * Author: Miha Vitorovic */ + #ifdef _WIN32 #define NOMINMAX #endif + #include #include @@ -321,7 +323,7 @@ void testArrayType(const typename PVT::value_type* rdata, size_t len) serializationTest(pv); } -static const boolean bdata[] = {0, 1, 0, 1, 1}; +static const epics::pvData::boolean bdata[] = {0, 1, 0, 1, 1}; static const int8 i8data[] = { 0, 1, 2, -1, BYTE_MAX_VALUE, static_cast(BYTE_MAX_VALUE-1), static_cast(BYTE_MIN_VALUE+1), BYTE_MIN_VALUE }; diff --git a/testApp/misc/testSharedVector.cpp b/testApp/misc/testSharedVector.cpp index 0c1487d..1d8f731 100644 --- a/testApp/misc/testSharedVector.cpp +++ b/testApp/misc/testSharedVector.cpp @@ -336,7 +336,7 @@ static void testPush() size_t cap = vect.capacity(); for(size_t s=0; s<16*1024; s++) { - vect.push_back(s); + vect.push_back((int)s); if(cap!=vect.capacity()) { nallocs++; diff --git a/testApp/misc/testTypeCast.cpp b/testApp/misc/testTypeCast.cpp index 92a37fd..71ef611 100644 --- a/testApp/misc/testTypeCast.cpp +++ b/testApp/misc/testTypeCast.cpp @@ -5,6 +5,10 @@ */ /* Author: Michael Davidsaver */ +#ifdef _WIN32 +#define NOMINMAX +#endif + #include #include #include @@ -298,12 +302,12 @@ try { testDiag("Float to int w/ round towards zero (aka truncation)"); - TEST(int32_t, 2, float, 2.1); - TEST(int32_t, 2, float, 2.5); - TEST(int32_t, 2, float, 2.7); - TEST(int32_t, -2, float, -2.1); - TEST(int32_t, -2, float, -2.5); - TEST(int32_t, -2, float, -2.7); + TEST(int32_t, 2, float, 2.1f); + TEST(int32_t, 2, float, 2.5f); + TEST(int32_t, 2, float, 2.7f); + TEST(int32_t, -2, float, -2.1f); + TEST(int32_t, -2, float, -2.5f); + TEST(int32_t, -2, float, -2.7f); testDiag("String Printing/parsing"); diff --git a/testApp/pv/testBitSetUtil.cpp b/testApp/pv/testBitSetUtil.cpp index d526e68..543684f 100644 --- a/testApp/pv/testBitSetUtil.cpp +++ b/testApp/pv/testBitSetUtil.cpp @@ -63,7 +63,7 @@ static void test() builder.clear(); pvs->toString(&builder); if(debug) printf("pvs\n%s\n",builder.c_str()); - int32 nfields = pvs->getNumberFields(); + int32 nfields = (int32)pvs->getNumberFields(); BitSetPtr bitSet = BitSet::create(nfields); for(int32 i=0; iset(i); builder.clear(); @@ -75,13 +75,13 @@ static void test() if(debug) printf("bitSet\n%s\n",builder.c_str()); bitSet->clear(); PVFieldPtr pvField = pvs->getSubField("timeStamp"); - int32 offsetTimeStamp = pvField->getFieldOffset(); + int32 offsetTimeStamp = (int32)pvField->getFieldOffset(); pvField = pvs->getSubField("timeStamp.secondsPastEpoch"); - int32 offsetSeconds = pvField->getFieldOffset(); + int32 offsetSeconds = (int32)pvField->getFieldOffset(); pvField = pvs->getSubField("timeStamp.nanoSeconds"); - int32 offsetNano = pvField->getFieldOffset(); + int32 offsetNano = (int32)pvField->getFieldOffset(); pvField = pvs->getSubField("timeStamp.userTag"); - int32 offsetUserTag = pvField->getFieldOffset(); + int32 offsetUserTag = (int32)pvField->getFieldOffset(); bitSet->set(offsetSeconds); BitSetUtil::compress(bitSet,pvs); testOk1(bitSet->get(offsetSeconds)==true); @@ -99,17 +99,17 @@ static void test() bitSet->clear(); pvField = pvs->getSubField("current"); - int32 offsetCurrent = pvField->getFieldOffset(); + int32 offsetCurrent = (int32)pvField->getFieldOffset(); pvField = pvs->getSubField("current.value"); - int32 offsetValue = pvField->getFieldOffset(); + int32 offsetValue = (int32)pvField->getFieldOffset(); pvField = pvs->getSubField("current.alarm"); - int32 offsetAlarm = pvField->getFieldOffset(); + int32 offsetAlarm = (int32)pvField->getFieldOffset(); pvField = pvs->getSubField("current.alarm.severity"); - int32 offsetSeverity = pvField->getFieldOffset(); + int32 offsetSeverity = (int32)pvField->getFieldOffset(); pvField = pvs->getSubField("current.alarm.status"); - int32 offsetStatus = pvField->getFieldOffset(); + int32 offsetStatus = (int32)pvField->getFieldOffset(); pvField = pvs->getSubField("current.alarm.message"); - int32 offsetMessage = pvField->getFieldOffset(); + int32 offsetMessage = (int32)pvField->getFieldOffset(); bitSet->set(offsetValue); bitSet->set(offsetSeverity); bitSet->set(offsetStatus); diff --git a/testApp/pv/testIntrospect.cpp b/testApp/pv/testIntrospect.cpp index 1e57e23..c4e566f 100644 --- a/testApp/pv/testIntrospect.cpp +++ b/testApp/pv/testIntrospect.cpp @@ -235,7 +235,7 @@ static void testMapping() testOk1(typeid(ScalarTypeTraits::type)==typeid(TYPE)); \ testOk1(ENUM==(ScalarType)ScalarTypeID::value); \ testOk1(ENUM==(ScalarType)ScalarTypeID::value); - OP(boolean, pvBoolean) + OP(epics::pvData::boolean, pvBoolean) OP(int8, pvByte) OP(int16, pvShort) OP(int32, pvInt) diff --git a/testApp/pv/testPVScalarArray.cpp b/testApp/pv/testPVScalarArray.cpp index c32e807..5feccaf 100644 --- a/testApp/pv/testPVScalarArray.cpp +++ b/testApp/pv/testPVScalarArray.cpp @@ -66,7 +66,7 @@ struct basicTestData { data.resize(100); for(size_t i=0; i(10*i); } } };