https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71004
--- Comment #1 from Eric Fiselier <eric at efcs dot ca> --- Additionally this seems to be affecting the value returned from "recursion_pending()". The following code compiles and runs without asserting on my machine. #include <experimental/filesystem> #include <cassert> using namespace std::experimental::filesystem; int main() { recursive_directory_iterator it; assert(it.recursion_pending() == false); assert(it.recursion_pending() == true); }