From f4648e49f7c8c4843b15950f5f8d8a356a1068cc Mon Sep 17 00:00:00 2001
From: Bernd Flemisch <bernd@iws.uni-stuttgart.de>
Date: Wed, 10 Jan 2018 15:10:06 +0100
Subject: [PATCH] [mpnc] fix source of compiler error

Most likely, the complex interdependencies of MPNC and NonEquilibrium
type tags and Indices classes yield the compiler error with clang.
Provide a temporary fix by not using the NumEq property directly.
---
 dumux/porousmediumflow/nonequilibrium/indices.hh | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/dumux/porousmediumflow/nonequilibrium/indices.hh b/dumux/porousmediumflow/nonequilibrium/indices.hh
index 2fc7258d2e..0bd3dca45c 100644
--- a/dumux/porousmediumflow/nonequilibrium/indices.hh
+++ b/dumux/porousmediumflow/nonequilibrium/indices.hh
@@ -41,7 +41,14 @@ public:
      enum { numPhases = FluidSystem::numPhases };
      enum { numEnergyEqFluid = GET_PROP_VALUE(TypeTag, NumEnergyEqFluid) };
      enum { numEnergyEqSolid = GET_PROP_VALUE(TypeTag, NumEnergyEqSolid) };
-     static constexpr int numEq = GET_PROP_VALUE(TypeTag, NumEq);
+     /*! \todo Replacing the sum below with GET_PROP_VALUE(TypeTag, NumEq)
+      *        yields a compilation error with clang, due to complex
+      *        interdependencies of MPNC and NonEquilibrium type tags and
+      *        Indices classes. This should be fixed.
+      */
+     static const unsigned int numEq = GET_PROP_VALUE(TypeTag, NumEqBalance)
+                                     + GET_PROP_VALUE(TypeTag, NumEnergyEqFluid)
+                                     + GET_PROP_VALUE(TypeTag, NumEnergyEqSolid);
 
     /*!
      * \brief Index for the temperature of the wetting phase in a vector of primary
-- 
GitLab