message: ENH: fix guards for reallocate(0) for umpire 2.1
  Only call reallocate(0) when umpire 2.1 and greater is used.
  Otherwise, fall back to workaround.
diff: @@ -231,9 +231,10 @@ inline T* reallocate( T* pointer, std::size_t n ) noexcept
  pointer = static_cast< T* >( rm.reallocate( pointer, numbytes ) );
  -#elif defined(AXOM_USE_UMPIRE) && (UMPIRE_VERSION_MAJOR >= 2)
  +#elif defined(AXOM_USE_UMPIRE) && (UMPIRE_VERSION_MAJOR >= 2) && \
  + (UMPIRE_VERSION_MINOR >= 1)
  - // Umpire 2.0.0 and above handles reallocate(0) natively
  + // Umpire 2.1.0 and above handles reallocate(0) natively
  umpire::ResourceManager& rm = umpire::ResourceManager::getInstance();
  pointer = static_cast< T* >( rm.reallocate( pointer, numbytes ) );
  