LLVM 3.6 fix: stream constructor now takes std::error_code instead of std::string