Given eBreakPoint_ByFileFn, code previously was calling:
sbTarget.BreakpointCreateByName(strFileFn.c_str(), fileName.c_str());
which calls the overload:
lldb::SBBreakpoint BreakpointCreateByName (const char *symbol_name, const char *module_name = NULL);
but the module_name is expected to be the exe or dll here, i.e. for -break-insert a.out:func which isn't a valid use of -break-insert in gdb.
This patch calls the correct overload:
lldb::SBBreakpoint BreakpointCreateByName (const char *symbol_name, const SBFileSpecList &module_list, const SBFileSpecList &comp_unit_list);
Comments were added to the tests for cases that won't work due to bugs in lldb.