From 238c8b4e55ff4a8d710ef82a583ddb51fa65a2fb Mon Sep 17 00:00:00 2001
From: Giovanni Bussi <giovanni.bussi@gmail.com>
Date: Wed, 20 Jun 2018 08:53:40 +0200
Subject: [PATCH] Updated cppcheck to version 1.84.

Notice newer cppcheck versions are slower. In order to make the check fit
on travis-ci I had to make a few extra changes:
- better optimization flags when building cppcheck
- force a number of ifdefs in the check

Now master takes approx 25 minutes, so we have room for adding new code.
---
 .travis.yml              | 2 +-
 .travis/install.cppcheck | 2 +-
 src/maketools/codecheck  | 4 +++-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 8a3316a09..282a334e9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -25,7 +25,7 @@ matrix:
   - os: linux
     dist: trusty
     sudo: required
-    env: CPPCHECK=yes CPPCHECK_VERSION=1.81
+    env: CPPCHECK=yes CPPCHECK_VERSION=1.84
 # then check with different optimization flags
   - os: linux
     dist: trusty
diff --git a/.travis/install.cppcheck b/.travis/install.cppcheck
index 767c23608..0fdf595b3 100755
--- a/.travis/install.cppcheck
+++ b/.travis/install.cppcheck
@@ -22,7 +22,7 @@ native="$($CC -march=native -Q --help=target | grep march= | awk '{print $2}')"
 # the object file should not be recycled
 
 git checkout $version
-make -j 4 install CFGDIR="$HOME/opt/share/cppcheck/" CXXFLAGS="-O2 -march="$native" -mtune="$native" -Wunreachable-code" PREFIX="$HOME/opt"
+make -j 4 install CFGDIR="$HOME/opt/share/cppcheck/" CXXFLAGS="-DNDEBUG -O2 -march="$native" -mtune="$native" -Wunreachable-code" PREFIX="$HOME/opt"
 cd ../
 
 cppcheck --version
diff --git a/src/maketools/codecheck b/src/maketools/codecheck
index 04db28d03..81fb6f4a4 100755
--- a/src/maketools/codecheck
+++ b/src/maketools/codecheck
@@ -34,7 +34,9 @@ if [ $do_cppcheck == true ] ; then
   else
     files="$(echo */*.{h,cpp})"
   fi
-  cppcheck --std=c++11 --std=posix 4 -j 4 --platform=unix64 --language=c++ -U__PRETTY_FUNCTION__ \
+  cppcheck --std=c++11 --std=posix -j 4 --platform=unix64 --language=c++ \
+  -U__PRETTY_FUNCTION__ -U__PLUMED_HAS_EXTERNAL_LAPACK -U__PLUMED_HAS_EXTERNAL_BLAS \
+  -UGMX_CYGWIN  -UF77_NO_UNDERSCORE -U_GLIBCXX_DEBUG -DNDEBUG -U__PLUMED_PBC_WHILE  \
   --template='[{file}:{line}] ({severity}) :{id}: {message}' --enable=all --inline-suppr --force \
   $files
 fi
-- 
GitLab