def METHOD_NAME(gcov1, gcov2):
  output_line_info = OrderedDict()
  for line in gcov1.line_info.keys():
      line1 = gcov1.line_info[line]
      line2 = gcov2.line_info[line]
      Uncov_norm= '#####'
      Nocode = '-'
      output_count = None
      line1_count = 0
      try:
        line1_count = int(line1.count)
      except:
        pass
      line2_count = 0
      try:
        line2_count = int(line2.count)
      except:
        pass
      if line1_count > 0 or line2_count > 0:
        output_count = line1_count + line2_count
      elif line1.count == Uncov_norm or line2.count == Uncov_norm:
        output_count = Uncov_norm
      elif line1.count == Nocode and line2.count == Nocode:
        output_count = Nocode
      if output_count is None:
        print('Unhandled situation:')
        print('  line1: ',line1)
        print('  line2: ',line2)
      output_line_info[line] = read_gcov.LineInfo(str(output_count), line, line1.src)
  return read_gcov.GcovFile(gcov1.fname, gcov1.tags, output_line_info, None, None, None, gcov1.func_ranges)