config.hpp:166: #if defined(__GNUC__) && (defined(_WIN32) || defined(__CYGWIN__)) causes build-failure, due to fact that clang defines __GNUC__ and _WIN32, which implies MinGW or Cygwin, and therefore includes not available dirent.h in fileiter.hpp:76.
changing config.hpp:166 to: #if defined(__GNUC__) && !defined(__clang__) && (defined(_WIN32) || defined(__CYGWIN__))
allows regex to build with Clang/LLVM-6.0 on Windows using clang++.exe.
EDIT: Still not a final solution, as this leaves Windows + Clang + MinGW in the lurch...