summaryrefslogtreecommitdiff
path: root/cpp/include
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2019-06-21 22:22:14 +0200
committerJose <jose@zeroc.com>2019-06-21 22:22:14 +0200
commitd1b7c66fab777fe72e5cf77fd284218e2080b017 (patch)
treeb48615b2d9d2f59195c8a560e07585b9cbb77cb5 /cpp/include
parentAdd ice_isFixed - Close #356 (diff)
downloadice-d1b7c66fab777fe72e5cf77fd284218e2080b017.tar.bz2
ice-d1b7c66fab777fe72e5cf77fd284218e2080b017.tar.xz
ice-d1b7c66fab777fe72e5cf77fd284218e2080b017.zip
Enable -Wconversion with clang - Close #363
Diffstat (limited to 'cpp/include')
-rw-r--r--cpp/include/Ice/IconvStringConverter.h7
-rw-r--r--cpp/include/Ice/InputStream.h8
-rw-r--r--cpp/include/Ice/OutputStream.h10
-rw-r--r--cpp/include/Ice/StreamHelpers.h2
-rw-r--r--cpp/include/IceUtil/ScannerConfig.h5
5 files changed, 19 insertions, 13 deletions
diff --git a/cpp/include/Ice/IconvStringConverter.h b/cpp/include/Ice/IconvStringConverter.h
index 81aaf544f2e..a7cee796db8 100644
--- a/cpp/include/Ice/IconvStringConverter.h
+++ b/cpp/include/Ice/IconvStringConverter.h
@@ -267,7 +267,7 @@ IconvStringConverter<charT>::toUTF8(const charT* sourceStart,
#else
char* inbuf = reinterpret_cast<char*>(const_cast<charT*>(sourceStart));
#endif
- size_t inbytesleft = (sourceEnd - sourceStart) * sizeof(charT);
+ size_t inbytesleft = static_cast<size_t>(sourceEnd - sourceStart) * sizeof(charT);
char* outbuf = 0;
size_t count = 0;
@@ -311,7 +311,8 @@ IconvStringConverter<charT>::fromUTF8(const Ice::Byte* sourceStart, const Ice::B
#else
char* inbuf = reinterpret_cast<char*>(const_cast<Ice::Byte*>(sourceStart));
#endif
- size_t inbytesleft = sourceEnd - sourceStart;
+ assert(sourceEnd > sourceStart);
+ size_t inbytesleft = static_cast<size_t>(sourceEnd - sourceStart);
char* outbuf = 0;
size_t outbytesleft = 0;
@@ -325,7 +326,7 @@ IconvStringConverter<charT>::fromUTF8(const Ice::Byte* sourceStart, const Ice::B
size_t bytesused = 0;
if(outbuf != 0)
{
- bytesused = outbuf - reinterpret_cast<const char*>(target.data());
+ bytesused = static_cast<size_t>(outbuf - reinterpret_cast<const char*>(target.data()));
}
const size_t increment = std::max<size_t>(inbytesleft, 4);
diff --git a/cpp/include/Ice/InputStream.h b/cpp/include/Ice/InputStream.h
index c9ffe9c20b0..4c00ef0fa8c 100644
--- a/cpp/include/Ice/InputStream.h
+++ b/cpp/include/Ice/InputStream.h
@@ -382,7 +382,7 @@ public:
_currentEncaps = new Encaps();
_currentEncaps->previous = oldEncaps;
}
- _currentEncaps->start = i - b.begin();
+ _currentEncaps->start = static_cast<size_t>(i - b.begin());
//
// I don't use readSize() and writeSize() for encapsulations,
@@ -484,7 +484,7 @@ public:
{
// Skip the optional content of the encapsulation if we are expecting an
// empty encapsulation.
- i += sz - sizeof(Ice::Int) - 2;
+ i += static_cast<size_t>(sz) - sizeof(Ice::Int) - 2;
}
return encoding;
}
@@ -511,7 +511,7 @@ public:
}
read(encoding);
- i += sz - sizeof(Int) - 2;
+ i += static_cast<size_t>(sz) - sizeof(Int) - 2;
return encoding;
}
@@ -1174,7 +1174,7 @@ public:
*/
size_type pos()
{
- return i - b.begin();
+ return static_cast<size_t>(i - b.begin());
}
/**
diff --git a/cpp/include/Ice/OutputStream.h b/cpp/include/Ice/OutputStream.h
index 4d119a850e4..886ec28fa49 100644
--- a/cpp/include/Ice/OutputStream.h
+++ b/cpp/include/Ice/OutputStream.h
@@ -261,8 +261,8 @@ public:
}
Container::size_type position = b.size();
- resize(position + sz);
- memcpy(&b[position], &v[0], sz);
+ resize(position + static_cast<size_t>(sz));
+ memcpy(&b[position], &v[0], static_cast<size_t>(sz));
}
/**
@@ -680,8 +680,8 @@ public:
if(sz > 0)
{
Container::size_type position = b.size();
- resize(position + sz);
- memcpy(&b[position], v.data(), sz);
+ resize(position + static_cast<size_t>(sz));
+ memcpy(&b[position], v.data(), static_cast<size_t>(sz));
}
}
}
@@ -706,7 +706,7 @@ public:
if(sz > 0)
{
Container::size_type position = b.size();
- resize(position + sz);
+ resize(position + static_cast<size_t>(sz));
memcpy(&b[position], vdata, vsize);
}
}
diff --git a/cpp/include/Ice/StreamHelpers.h b/cpp/include/Ice/StreamHelpers.h
index 5c5fd267e02..16292f9d9f7 100644
--- a/cpp/include/Ice/StreamHelpers.h
+++ b/cpp/include/Ice/StreamHelpers.h
@@ -583,7 +583,7 @@ struct StreamHelper<T, StreamHelperCategorySequence>
read(S* stream, T& v)
{
Int sz = stream->readAndCheckSeqSize(StreamableTraits<typename T::value_type>::minWireSize);
- T(sz).swap(v);
+ T(static_cast<size_t>(sz)).swap(v);
for(typename T::iterator p = v.begin(); p != v.end(); ++p)
{
stream->read(*p);
diff --git a/cpp/include/IceUtil/ScannerConfig.h b/cpp/include/IceUtil/ScannerConfig.h
index 2a94a677ab9..46cc75b4523 100644
--- a/cpp/include/IceUtil/ScannerConfig.h
+++ b/cpp/include/IceUtil/ScannerConfig.h
@@ -30,4 +30,9 @@
# pragma warning(disable:5033)
#endif
+#if defined(__clang__)
+# pragma clang diagnostic ignored "-Wconversion"
+# pragma clang diagnostic ignored "-Wsign-conversion"
+#endif
+
#endif