diff --git a/Code/Mantid/Framework/Algorithms/src/ApplyDeadTimeCorr.cpp b/Code/Mantid/Framework/Algorithms/src/ApplyDeadTimeCorr.cpp
index ecdfa4c1181831019683969993fc7da485d85a85..191e82e6149c0bccc1b732d6bdb803cb8f2a89d0 100644
--- a/Code/Mantid/Framework/Algorithms/src/ApplyDeadTimeCorr.cpp
+++ b/Code/Mantid/Framework/Algorithms/src/ApplyDeadTimeCorr.cpp
@@ -104,7 +104,7 @@ void ApplyDeadTimeCorr::exec()
 
                     setProperty("OutputWorkspace", outputWs);
                 }
-                catch(std::runtime_error& ex)
+                catch(std::runtime_error&)
                 {
                     throw std::invalid_argument("Invalid argument for algorithm.");
                 }
diff --git a/Code/Mantid/Framework/Algorithms/src/FilterEventsHighFrequency.cpp b/Code/Mantid/Framework/Algorithms/src/FilterEventsHighFrequency.cpp
index 4586f76509552aea9e62312d4ff70b1a0913160d..f2785e99d7c40ee4e9198a69a9945bab6e5a6596 100644
--- a/Code/Mantid/Framework/Algorithms/src/FilterEventsHighFrequency.cpp
+++ b/Code/Mantid/Framework/Algorithms/src/FilterEventsHighFrequency.cpp
@@ -346,7 +346,7 @@ namespace Algorithms
 
       ifs.close();
 
-    } catch (std::ifstream::failure & e){
+    } catch (std::ifstream::failure&){
       // b. Using faking offset/calibration
       g_log.error() << "Open calibration/offset file " << calfilename << " error " << std::endl;
       g_log.notice() << "Using default detector offset/calibration" << std::endl;
diff --git a/Code/Mantid/Framework/Algorithms/src/MedianDetectorTest.cpp b/Code/Mantid/Framework/Algorithms/src/MedianDetectorTest.cpp
index 8af9c1ea752a6d5a709595414e4e58592910e7c2..7ad463ba240394f8be8f53256a987b04f4341e41 100644
--- a/Code/Mantid/Framework/Algorithms/src/MedianDetectorTest.cpp
+++ b/Code/Mantid/Framework/Algorithms/src/MedianDetectorTest.cpp
@@ -182,7 +182,7 @@ namespace Mantid
         }
       }
       //catch all exceptions because the solid angle calculation is optional
-      catch(std::exception & e)
+      catch(std::exception&)
       {
         g_log.warning(
             "Precision warning:  Can't find detector geometry " + name() +
diff --git a/Code/Mantid/Framework/Algorithms/src/StripVanadiumPeaks2.cpp b/Code/Mantid/Framework/Algorithms/src/StripVanadiumPeaks2.cpp
index 9aa58f3786a6d53a288713ffb8b56bbfee315f39..542dccf26d8664d6614eb28381ae696f5e970b87 100644
--- a/Code/Mantid/Framework/Algorithms/src/StripVanadiumPeaks2.cpp
+++ b/Code/Mantid/Framework/Algorithms/src/StripVanadiumPeaks2.cpp
@@ -53,7 +53,7 @@ DECLARE_ALGORITHM(StripVanadiumPeaks2)
       "If the input workspace is an EventWorkspace, then the output must be different (and will be made into a Workspace2D)." );
 
     BoundedValidator<int> *min = new BoundedValidator<int>();
-    min->setLower(1.0);
+    min->setLower(1);
     // The estimated width of a peak in terms of number of channels
     declareProperty("FWHM", 7, min,
       "The number of points covered, on average, by the fwhm of a peak. Passed through to FindPeaks. Default 7." );
diff --git a/Code/Mantid/Framework/Algorithms/src/TOFSANSResolution.cpp b/Code/Mantid/Framework/Algorithms/src/TOFSANSResolution.cpp
index 2c7314c21ef2d1dae421ca23158943e239eaab93..a36688d8981fd6e209c0c44de4e9ff007d2dded0 100755
--- a/Code/Mantid/Framework/Algorithms/src/TOFSANSResolution.cpp
+++ b/Code/Mantid/Framework/Algorithms/src/TOFSANSResolution.cpp
@@ -189,9 +189,9 @@ void TOFSANSResolution::exec()
 
       const double dwl_over_wl = 3.9560*getTOFResolution(itev->m_tof)/(1000.0*(L1+L2)*itev->m_tof);
       const double dq_over_q = std::sqrt(dTheta2/(theta*theta)+dwl_over_wl*dwl_over_wl);
-
+      
       PARALLEL_CRITICAL(iq)    /* Write to shared memory - must protect */
-      if (iq>=0 && iq < xLength-1 && !dq_over_q!=dq_over_q && dq_over_q>0)
+      if (iq>=0 && iq < xLength-1 && !boost::math::isnan(dq_over_q) && dq_over_q>0)
       {
         DxOut[iq] += q*dq_over_q*itev->m_weight;
         XNorm[iq] += itev->m_weight;
diff --git a/Code/Mantid/Framework/Algorithms/src/XDataConverter.cpp b/Code/Mantid/Framework/Algorithms/src/XDataConverter.cpp
index 3aaa6078c902fa5d7ab826a801912b2bf36c8d6d..961c6c1f4478df57088e641f5a867b310957d1a0 100644
--- a/Code/Mantid/Framework/Algorithms/src/XDataConverter.cpp
+++ b/Code/Mantid/Framework/Algorithms/src/XDataConverter.cpp
@@ -55,7 +55,7 @@ namespace Mantid
 
       const int numSpectra = static_cast<int>(inputWS->getNumberHistograms());
       const size_t numYValues = inputWS->blocksize();
-      const int numXValues = getNewXSize(inputWS);
+      const size_t numXValues = getNewXSize(inputWS);
       m_sharedX = API::WorkspaceHelpers::sharedXData(inputWS);
       // Create the new workspace 
       MatrixWorkspace_sptr outputWS = WorkspaceFactory::Instance().create(inputWS, numSpectra, numXValues, numYValues);
diff --git a/Code/Mantid/Framework/Algorithms/test/CropWorkspaceTest.h b/Code/Mantid/Framework/Algorithms/test/CropWorkspaceTest.h
index 9a9e5718afd9298ebed0f9ab548182e45074eb7a..2f5cca468b3c1eda31f6df0a8c2a8865af7c9657 100644
--- a/Code/Mantid/Framework/Algorithms/test/CropWorkspaceTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/CropWorkspaceTest.h
@@ -107,7 +107,7 @@ public:
     EventWorkspace_sptr test_in = WorkspaceCreationHelper::CreateEventWorkspace(36, 50, 50, 0.0, 2., 2);
     //Fake a d-spacing unit in the data.
     test_in->getAxis(0)->unit() =UnitFactory::Instance().create("TOF");
-    test_in->setInstrument( ComponentCreationHelper::createTestInstrumentCylindrical(4.0, false) );
+    test_in->setInstrument( ComponentCreationHelper::createTestInstrumentCylindrical(4, false) );
     //Add it to the workspace
     AnalysisDataService::Instance().add(wsName, test_in);
   }
diff --git a/Code/Mantid/Framework/Crystal/inc/MantidCrystal/AnvredCorrection.h b/Code/Mantid/Framework/Crystal/inc/MantidCrystal/AnvredCorrection.h
index dd0a1486f60eae089594a7b35f10d7decedd14ed..1f3338ccc1d6024ab0dbc0158f63a6570ef302d4 100644
--- a/Code/Mantid/Framework/Crystal/inc/MantidCrystal/AnvredCorrection.h
+++ b/Code/Mantid/Framework/Crystal/inc/MantidCrystal/AnvredCorrection.h
@@ -25,7 +25,7 @@ namespace Crystal
 
   const double STEPS_PER_ANGSTROM = 100;  // resolution of lamda table 
 
-  const int NUM_WAVELENGTHS = std::ceil( MAX_WAVELENGTH * STEPS_PER_ANGSTROM);
+  const int NUM_WAVELENGTHS = static_cast<int>(std::ceil( MAX_WAVELENGTH * STEPS_PER_ANGSTROM));
 
   const double radtodeg_half = 180.0/M_PI/2.;
   /** Calculates anvred correction factors for attenuation due to absorption and scattering in a spherical sample.
diff --git a/Code/Mantid/Framework/Crystal/inc/MantidCrystal/SaveHKL.h b/Code/Mantid/Framework/Crystal/inc/MantidCrystal/SaveHKL.h
index 38b1f96034b4a116566412627b75ada625859446..181bb0da2a8b01146f14911efe172f6536b9da62 100644
--- a/Code/Mantid/Framework/Crystal/inc/MantidCrystal/SaveHKL.h
+++ b/Code/Mantid/Framework/Crystal/inc/MantidCrystal/SaveHKL.h
@@ -28,7 +28,7 @@ namespace Crystal
 
   const double STEPS_PER_ANGSTROM = 100;  // resolution of lamda table
 
-  const int NUM_WAVELENGTHS = std::ceil( MAX_WAVELENGTH * STEPS_PER_ANGSTROM);
+  const int NUM_WAVELENGTHS = static_cast<int>(std::ceil( MAX_WAVELENGTH * STEPS_PER_ANGSTROM));
 
   const double radtodeg_half = 180.0/M_PI/2.;
 
diff --git a/Code/Mantid/Framework/Crystal/inc/MantidCrystal/TOFExtinction.h b/Code/Mantid/Framework/Crystal/inc/MantidCrystal/TOFExtinction.h
index 723e6638cf049c746d4aac2214882ade3e584544..aa6e31011cea8af804da1caaaf0d51135ac5046b 100644
--- a/Code/Mantid/Framework/Crystal/inc/MantidCrystal/TOFExtinction.h
+++ b/Code/Mantid/Framework/Crystal/inc/MantidCrystal/TOFExtinction.h
@@ -28,7 +28,7 @@ namespace Crystal
 
   const double STEPS_PER_ANGSTROM = 100;  // resolution of lamda table
 
-  const int NUM_WAVELENGTHS = std::ceil( MAX_WAVELENGTH * STEPS_PER_ANGSTROM);
+  const int NUM_WAVELENGTHS = static_cast<int>(std::ceil( MAX_WAVELENGTH * STEPS_PER_ANGSTROM));
 
   const double radtodeg_half = 180.0/M_PI/2.;
 
diff --git a/Code/Mantid/Framework/Crystal/src/PeakIntegration.cpp b/Code/Mantid/Framework/Crystal/src/PeakIntegration.cpp
index 5ea1998e9cfb2d8ee28ff6bbba8ce882b1d657b9..516b270c41f43c78eb3bc4f1f9ad3b78c3e20dd2 100644
--- a/Code/Mantid/Framework/Crystal/src/PeakIntegration.cpp
+++ b/Code/Mantid/Framework/Crystal/src/PeakIntegration.cpp
@@ -756,7 +756,7 @@ void PeakIntegration::cluster(double **matrix, int m, int n, int **mask)
   {
     for (int j=0; j<n; j++)
     {
-      mask[i][j] = 0.0;
+      mask[i][j] = 0;
       if(matrix[i][j] > max)
       {
         max = matrix[i][j];
diff --git a/Code/Mantid/Framework/Crystal/src/SaveHKL.cpp b/Code/Mantid/Framework/Crystal/src/SaveHKL.cpp
index a27702dfde924fc969b20e7a3ed6526576434321..f748194032f682b183faf9dbef194a46b4ba6b0d 100644
--- a/Code/Mantid/Framework/Crystal/src/SaveHKL.cpp
+++ b/Code/Mantid/Framework/Crystal/src/SaveHKL.cpp
@@ -110,7 +110,7 @@ namespace Crystal
     if (append)
     {
       out.open( filename.c_str(), std::ios::in|std::ios::out|std::ios::ate);
-      long pos = out.tellp();
+      std::streamoff pos = out.tellp();
       out.seekp (28);
       out >> firstrun;
       out.seekp (pos - 110);
diff --git a/Code/Mantid/Framework/DataHandling/src/LoadDetectorsGroupingFile.cpp b/Code/Mantid/Framework/DataHandling/src/LoadDetectorsGroupingFile.cpp
index ba17df1ab8242b641ad459b0cf70a7d246982918..c2413718f3a2ff5e04b6eb9a681e604fa54bdac0 100644
--- a/Code/Mantid/Framework/DataHandling/src/LoadDetectorsGroupingFile.cpp
+++ b/Code/Mantid/Framework/DataHandling/src/LoadDetectorsGroupingFile.cpp
@@ -554,7 +554,7 @@ namespace DataHandling
     std::string value = "";
 
     // 2. Loop to find
-    for (size_t i = 0; i < att->length(); i ++){
+    for (unsigned long i = 0; i < att->length(); ++i){
       Poco::XML::Node* cNode = att->item(i);
       if (cNode->localName().compare(attributename) == 0){
         value = cNode->getNodeValue();
diff --git a/Code/Mantid/Framework/DataHandling/src/LoadEventNexus.cpp b/Code/Mantid/Framework/DataHandling/src/LoadEventNexus.cpp
index 6a2b4f370b473e9a7d352764e59f409fbfc7628e..e9cfdbd348a1bc2d22be11cf57dddcd578004605 100644
--- a/Code/Mantid/Framework/DataHandling/src/LoadEventNexus.cpp
+++ b/Code/Mantid/Framework/DataHandling/src/LoadEventNexus.cpp
@@ -400,7 +400,7 @@ public:
       // First, get info about the event_time_zero field in this bank
       file.openData("event_time_zero");
     }
-    catch (::NeXus::Exception & e)
+    catch (::NeXus::Exception&)
     {
       // Field not found error is most likely.
       // Use the "proton_charge" das logs.
diff --git a/Code/Mantid/Framework/DataHandling/src/LoadNexusLogs.cpp b/Code/Mantid/Framework/DataHandling/src/LoadNexusLogs.cpp
index 09b7b24208b9a9b8fef9d290c9f0ec2e29948dbd..4b46831293babe564b423222f231e1d650368fe3 100644
--- a/Code/Mantid/Framework/DataHandling/src/LoadNexusLogs.cpp
+++ b/Code/Mantid/Framework/DataHandling/src/LoadNexusLogs.cpp
@@ -233,7 +233,7 @@ namespace Mantid
       {
         file.openGroup("Veto_pulse", "NXgroup");
       }
-      catch (::NeXus::Exception & e)
+      catch (::NeXus::Exception&)
       {
         // No group. This is common in older files
         return;
diff --git a/Code/Mantid/Framework/DataObjects/src/EventList.cpp b/Code/Mantid/Framework/DataObjects/src/EventList.cpp
index c71a54dc0d4b3c83daf7303634c681ffef72dbcc..c8c3e1eb478a0a44ef5e0b2f4c1438c928aa58c7 100644
--- a/Code/Mantid/Framework/DataObjects/src/EventList.cpp
+++ b/Code/Mantid/Framework/DataObjects/src/EventList.cpp
@@ -583,7 +583,7 @@ namespace DataObjects
     case WEIGHTED:
       return weightedEvents[event_number];
     case WEIGHTED_NOTIME:
-      return WeightedEvent(weightedEventsNoTime[event_number].tof(), 0., weightedEventsNoTime[event_number].weight(), weightedEventsNoTime[event_number].errorSquared());
+      return WeightedEvent(weightedEventsNoTime[event_number].tof(), 0, weightedEventsNoTime[event_number].weight(), weightedEventsNoTime[event_number].errorSquared());
     }
     throw std::runtime_error("EventList: invalid event type value was found.");
   }
diff --git a/Code/Mantid/Framework/ICat/test/ICatTestHelper.cpp b/Code/Mantid/Framework/ICat/test/ICatTestHelper.cpp
index ba0d2ca0787a55b1d3e5516cf7cfbaf4488f0493..bd0060d3952b12a7703d47393b58e63f8f0028ec 100644
--- a/Code/Mantid/Framework/ICat/test/ICatTestHelper.cpp
+++ b/Code/Mantid/Framework/ICat/test/ICatTestHelper.cpp
@@ -1,5 +1,4 @@
 #include "ICatTestHelper.h"
-#include "MantidICat/ICatExport.h"
 
 namespace ICatTestHelper
 {
diff --git a/Code/Mantid/Framework/ICat/test/ICatTestHelper.h b/Code/Mantid/Framework/ICat/test/ICatTestHelper.h
index 28c6b97dbbf67157b5f89d1762003bc83bca6e49..6bd415a3fc81a505e402747e2a1b34e141e37dc2 100644
--- a/Code/Mantid/Framework/ICat/test/ICatTestHelper.h
+++ b/Code/Mantid/Framework/ICat/test/ICatTestHelper.h
@@ -4,12 +4,11 @@
 #include "MantidICat/CatalogLogin.h"
 #include "MantidICat/Session.h"
 #include "MantidKernel/ConfigService.h"
-#include "MantidICat/ICatExport.h"
 
 namespace ICatTestHelper
 {
   /// Skip all unit tests if ICat server is down
-  EXPORT_OPT_MANTID_ICAT bool skipTests();
+  bool skipTests();
 }
 
 #endif
diff --git a/Code/Mantid/Framework/MDAlgorithms/src/CompareMDWorkspaces.cpp b/Code/Mantid/Framework/MDAlgorithms/src/CompareMDWorkspaces.cpp
index 0f59a107d9267a0ef531368dd5e6d775ae2efc9f..50b2b70b0b797eb3fef651ef5953ade6cb63fb01 100644
--- a/Code/Mantid/Framework/MDAlgorithms/src/CompareMDWorkspaces.cpp
+++ b/Code/Mantid/Framework/MDAlgorithms/src/CompareMDWorkspaces.cpp
@@ -265,7 +265,7 @@ namespace MDAlgorithms
               }
             }
           }
-          catch (CompareFailsException & e)
+          catch (CompareFailsException&)
           {
             // Boxes must release events if the check fails
             mdbox1->releaseEvents();
diff --git a/Code/Mantid/Framework/MDEvents/src/BoxControllerSettingsAlgorithm.cpp b/Code/Mantid/Framework/MDEvents/src/BoxControllerSettingsAlgorithm.cpp
index 188c87033c017e1196650242fa431461ee19ae9c..18835a4967201cda8ad34a0dfcc570acc65cb4dd 100644
--- a/Code/Mantid/Framework/MDEvents/src/BoxControllerSettingsAlgorithm.cpp
+++ b/Code/Mantid/Framework/MDEvents/src/BoxControllerSettingsAlgorithm.cpp
@@ -37,7 +37,7 @@ namespace MDEvents
   void BoxControllerSettingsAlgorithm::initBoxControllerProps(const std::string & SplitInto, int SplitThreshold, int MaxRecursionDepth)
   {
     BoundedValidator<int> *mustBePositive = new BoundedValidator<int> ();
-    mustBePositive->setLower(0.0);
+    mustBePositive->setLower(0);
     BoundedValidator<int> *mustBeMoreThen1 = new BoundedValidator<int> ();
     mustBeMoreThen1->setLower(1);
 
diff --git a/Code/Mantid/Framework/MDEvents/src/SliceMD.cpp b/Code/Mantid/Framework/MDEvents/src/SliceMD.cpp
index e1937791dddca67e4bc7598f023b87433307cadb..eba1432d3d097b95cac1c0f3bc799580c2cb3bc0 100644
--- a/Code/Mantid/Framework/MDEvents/src/SliceMD.cpp
+++ b/Code/Mantid/Framework/MDEvents/src/SliceMD.cpp
@@ -115,7 +115,7 @@ namespace MDEvents
     declareProperty("TakeMaxRecursionDepthFromInput", true, "Copy the maximum recursion depth from the input workspace.");
 
     BoundedValidator<int> *mustBePositiveInteger = new BoundedValidator<int>();
-    mustBePositiveInteger->setLower(0.0);
+    mustBePositiveInteger->setLower(0);
 
     declareProperty("MaxRecursionDepth", 1000, mustBePositiveInteger,
     "Sets the maximum recursion depth to use. Can be used to constrain the workspaces internal structure");
diff --git a/Code/Mantid/Framework/MDEvents/test/MDBoxTest.h b/Code/Mantid/Framework/MDEvents/test/MDBoxTest.h
index edfee59db607c422d8920c439c627267f375869d..d7d1401f93564bf5f512783f097872f290633a0b 100644
--- a/Code/Mantid/Framework/MDEvents/test/MDBoxTest.h
+++ b/Code/Mantid/Framework/MDEvents/test/MDBoxTest.h
@@ -181,7 +181,7 @@ public:
     ev.setCenter(0, 2.0);
     ev.setCenter(1, 3.0);
 
-    int num = 5e5;
+    int num = 500000;
     PARALLEL_FOR_NO_WSP_CHECK()
     for (int i=0; i < num; i++)
     {
diff --git a/Code/Mantid/Framework/MDEvents/test/MDGridBoxTest.h b/Code/Mantid/Framework/MDEvents/test/MDGridBoxTest.h
index ca15672316665a583e5fc6f2bcbafae9f850cf2f..f207af6d89710e58a6835c06b3d47dea342aeff5 100644
--- a/Code/Mantid/Framework/MDEvents/test/MDGridBoxTest.h
+++ b/Code/Mantid/Framework/MDEvents/test/MDGridBoxTest.h
@@ -1373,7 +1373,7 @@ public:
     box3b = MDEventsTestHelper::makeRecursiveMDGridBox<3>(5,1);
 
     // Make the list of fake events, random dist.
-    size_t num = 1e6;
+    size_t num = 1000000;
     events.clear();
 
     boost::mt19937 rng;