Index: config/config.mk.in
===================================================================
--- config/config.mk.in	(revision 1401)
+++ config/config.mk.in	(revision 1402)
@@ -58,7 +58,7 @@
 # Common compiler flags (warnings, symbols [-ggdb], optimization [-O2], etc)
 CXXFLAGS = @CXXFLAGS@
 ifeq ($(GXX),yes)
-	CXXFLAGS += -Wall -Wcast-align -Wconversion -Wpointer-arith -Wformat-security -Wmissing-format-attribute -W
+	CXXFLAGS += -Wall -Wcast-align -Wpointer-arith -Wformat-security -Wmissing-format-attribute -W
 endif
 
 # Command to run only the preprocessor
Index: xmpsdk/src/XMPCore_Impl.hpp
===================================================================
--- xmpsdk/src/XMPCore_Impl.hpp	(revision 1401)
+++ xmpsdk/src/XMPCore_Impl.hpp	(revision 1402)
@@ -24,6 +24,7 @@
 #include <map>
 
 #include <cassert>
+#include <cstring>
 
 #if XMP_MacBuild
 	#include <Multiprocessing.h>
Index: src/tiffparser.cpp
===================================================================
--- src/tiffparser.cpp	(revision 1401)
+++ src/tiffparser.cpp	(revision 1402)
@@ -148,9 +148,9 @@
         { "*",         0x8649, Group::ifd0,    &TiffMetadataDecoder::decodeIptc         }
     };
 
-    const DecoderFct TiffDecoder::findDecoder(const std::string& make,
-                                                    uint32_t     extendedTag,
-                                                    uint16_t     group)
+    DecoderFct TiffDecoder::findDecoder(const std::string& make,
+                                              uint32_t     extendedTag,
+                                              uint16_t     group)
     {
         DecoderFct decoderFct = &TiffMetadataDecoder::decodeStdTiffEntry;
         const TiffDecoderInfo* td = find(tiffDecoderInfo_,
Index: src/exif.cpp
===================================================================
--- src/exif.cpp	(revision 1401)
+++ src/exif.cpp	(revision 1402)
@@ -959,7 +959,7 @@
                                                 + pGpsIfd_->dataSize());
             }
             if (   maxOffset > pIfd1_->offset()
-                || maxOffset > pIfd1_->dataOffset() && pIfd1_->dataOffset() > 0)
+                || (maxOffset > pIfd1_->dataOffset() && pIfd1_->dataOffset() > 0))
                 rc = false;
             /*
                Todo: Removed condition from the above if(). Should be re-added...
Index: src/cr2image.hpp
===================================================================
--- src/cr2image.hpp	(revision 1401)
+++ src/cr2image.hpp	(revision 1402)
@@ -137,9 +137,9 @@
 
           @return Pointer to the decoder function
          */
-        static const DecoderFct findDecoder(const std::string& make,
-                                                  uint32_t     extendedTag,
-                                                  uint16_t     group);
+        static DecoderFct findDecoder(const std::string& make,
+                                            uint32_t     extendedTag,
+                                            uint16_t     group);
 
     private:
         static const TiffDecoderInfo cr2DecoderInfo_[]; //<! CR2 decoder table
Index: src/tags.cpp
===================================================================
--- src/tags.cpp	(revision 1401)
+++ src/tags.cpp	(revision 1402)
@@ -1269,7 +1269,7 @@
     const TagInfo* ExifTags::makerTagInfo(uint16_t tag, IfdId ifdId)
     {
         int i = 0;
-        for (; i < MAX_MAKER_TAG_INFOS && makerIfdIds_[i] != ifdId; ++i);
+        for (; i < MAX_MAKER_TAG_INFOS && makerIfdIds_[i] != ifdId; ++i) {}
         if (i == MAX_MAKER_TAG_INFOS) return 0;
 
         for (int k = 0; makerTagInfos_[i][k].tag_ != 0xffff; ++k) {
@@ -1283,7 +1283,7 @@
                                           IfdId ifdId)
     {
         int i = 0;
-        for (; i < MAX_MAKER_TAG_INFOS && makerIfdIds_[i] != ifdId; ++i);
+        for (; i < MAX_MAKER_TAG_INFOS && makerIfdIds_[i] != ifdId; ++i) {}
         if (i == MAX_MAKER_TAG_INFOS) return 0;
 
         for (int k = 0; makerTagInfos_[i][k].tag_ != 0xffff; ++k) {
@@ -1298,7 +1298,7 @@
     bool ExifTags::isMakerIfd(IfdId ifdId)
     {
         int i = 0;
-        for (; i < MAX_MAKER_TAG_INFOS && makerIfdIds_[i] != ifdId; ++i);
+        for (; i < MAX_MAKER_TAG_INFOS && makerIfdIds_[i] != ifdId; ++i) {}
         return i != MAX_MAKER_TAG_INFOS && makerIfdIds_[i] != IfdId(0);
     }
 
@@ -1491,7 +1491,7 @@
     void ExifTags::makerTaglist(std::ostream& os, IfdId ifdId)
     {
         int i = 0;
-        for (; i < MAX_MAKER_TAG_INFOS && makerIfdIds_[i] != ifdId; ++i);
+        for (; i < MAX_MAKER_TAG_INFOS && makerIfdIds_[i] != ifdId; ++i) {}
         if (i != MAX_MAKER_TAG_INFOS) {
             const TagInfo* mnTagInfo = makerTagInfos_[i];
             for (int k=0; mnTagInfo[k].tag_ != 0xffff; ++k) {
Index: src/tiffparser.hpp
===================================================================
--- src/tiffparser.hpp	(revision 1401)
+++ src/tiffparser.hpp	(revision 1402)
@@ -118,9 +118,9 @@
 
           @return Pointer to the decoder function
          */
-        static const DecoderFct findDecoder(const std::string& make,
-                                                  uint32_t     extendedTag,
-                                                  uint16_t     group);
+        static DecoderFct findDecoder(const std::string& make,
+                                            uint32_t     extendedTag,
+                                            uint16_t     group);
 
     private:
         static const TiffDecoderInfo tiffDecoderInfo_[]; //<! TIFF decoder table
Index: src/cr2image.cpp
===================================================================
--- src/cr2image.cpp	(revision 1401)
+++ src/cr2image.cpp	(revision 1402)
@@ -74,9 +74,9 @@
         { "*",         0x8649, Group::ifd0,    &TiffMetadataDecoder::decodeIptc }
     };
 
-    const DecoderFct Cr2Decoder::findDecoder(const std::string& make,
-                                                   uint32_t     extendedTag,
-                                                   uint16_t     group)
+    DecoderFct Cr2Decoder::findDecoder(const std::string& make,
+                                             uint32_t     extendedTag,
+                                             uint16_t     group)
     {
         DecoderFct decoderFct = &TiffMetadataDecoder::decodeStdTiffEntry;
         const TiffDecoderInfo* td = find(cr2DecoderInfo_,
Index: src/tifffwd.hpp
===================================================================
--- src/tifffwd.hpp	(revision 1401)
+++ src/tifffwd.hpp	(revision 1402)
@@ -81,9 +81,9 @@
     /*!
       @brief Type for a function pointer for a function to decode a TIFF component.
      */
-    typedef const DecoderFct (*FindDecoderFct)(const std::string& make,
-                                                     uint32_t     extendedTag,
-                                                     uint16_t     group);
+    typedef DecoderFct (*FindDecoderFct)(const std::string& make,
+                                               uint32_t     extendedTag,
+                                               uint16_t     group);
     /*!
       @brief Type for a function pointer for a function to create a TIFF component.
              Use TiffComponent::AutoPtr, it is not used in this declaration only
Index: src/actions.cpp
===================================================================
--- src/actions.cpp	(revision 1401)
+++ src/actions.cpp	(revision 1402)
@@ -1125,10 +1125,10 @@
             rc = insertThumbnail(path);
         }
         if (   rc == 0
-            && Params::instance().target_ & Params::ctExif
-            || Params::instance().target_ & Params::ctIptc
-            || Params::instance().target_ & Params::ctComment
-            || Params::instance().target_ & Params::ctXmp) {
+            && (   Params::instance().target_ & Params::ctExif
+                || Params::instance().target_ & Params::ctIptc
+                || Params::instance().target_ & Params::ctComment
+                || Params::instance().target_ & Params::ctXmp)) {
             std::string suffix = Params::instance().suffix_;
             if (suffix.empty()) suffix = ".exv";
             std::string exvPath = newFilePath(path, suffix);
Index: src/sigmamn.cpp
===================================================================
--- src/sigmamn.cpp	(revision 1401)
+++ src/sigmamn.cpp	(revision 1402)
@@ -178,10 +178,10 @@
         int rc = 0;
         // Check the SIGMA or FOVEON prefix
         if (   header_.size_ < 10
-            || std::string(reinterpret_cast<char*>(header_.pData_), 8)
+            || (   std::string(reinterpret_cast<char*>(header_.pData_), 8)
                         != std::string("SIGMA\0\0\0", 8)
-            && std::string(reinterpret_cast<char*>(header_.pData_), 8)
-                        != std::string("FOVEON\0\0", 8)) {
+                && std::string(reinterpret_cast<char*>(header_.pData_), 8)
+                        != std::string("FOVEON\0\0", 8))) {
             rc = 2;
         }
         return rc;
