Older gcc versions (here 4.9.2) can't handle auto for a lambda parameter:
../../gdb/windows-nat.c: In member function 'void windows_nat_target::delete_thread(ptid_t, DWORD, bool)':
../../gdb/windows-nat.c:629:12: error: use of 'auto' in lambda parameter declaration only available with -std=c++1y or -std=gnu++1y [-Werror]
        [=] (auto &th)
            ^
 
   auto iter = std::find_if (windows_process.thread_list.begin (),
                            windows_process.thread_list.end (),
-                           [=] (auto &th)
+                           [=] (std::unique_ptr<windows_thread_info> &th)
                            {
                              return th->tid == id;
                            });