Lines Matching refs:subfile
540 struct subfile *subfile; in start_subfile() local
545 for (subfile = subfiles; subfile; subfile = subfile->next) in start_subfile()
547 if (FILENAME_CMP (subfile->name, name) == 0) in start_subfile()
549 current_subfile = subfile; in start_subfile()
558 subfile = (struct subfile *) xmalloc (sizeof (struct subfile)); in start_subfile()
559 memset ((char *) subfile, 0, sizeof (struct subfile)); in start_subfile()
560 subfile->next = subfiles; in start_subfile()
561 subfiles = subfile; in start_subfile()
562 current_subfile = subfile; in start_subfile()
565 subfile->name = (name == NULL) ? NULL : savestring (name, strlen (name)); in start_subfile()
566 subfile->dirname = in start_subfile()
570 subfile->line_vector = NULL; in start_subfile()
583 subfile->language = deduce_language_from_filename (subfile->name); in start_subfile()
584 if (subfile->language == language_unknown && in start_subfile()
585 subfile->next != NULL) in start_subfile()
587 subfile->language = subfile->next->language; in start_subfile()
592 subfile->debugformat = NULL; in start_subfile()
599 if (subfile->name) in start_subfile()
601 struct subfile *s; in start_subfile()
602 enum language sublang = deduce_language_from_filename (subfile->name); in start_subfile()
611 if (subfile->language == language_c in start_subfile()
612 && subfile->next != NULL in start_subfile()
613 && (subfile->next->language == language_cplus in start_subfile()
614 || subfile->next->language == language_fortran)) in start_subfile()
616 subfile->language = subfile->next->language; in start_subfile()
633 patch_subfile_names (struct subfile *subfile, char *name) in patch_subfile_names() argument
635 if (subfile != NULL && subfile->dirname == NULL && subfile->name != NULL in patch_subfile_names()
636 && subfile->name[strlen (subfile->name) - 1] == '/') in patch_subfile_names()
638 subfile->dirname = subfile->name; in patch_subfile_names()
639 subfile->name = savestring (name, strlen (name)); in patch_subfile_names()
653 subfile->language = deduce_language_from_filename (subfile->name); in patch_subfile_names()
654 if (subfile->language == language_unknown && in patch_subfile_names()
655 subfile->next != NULL) in patch_subfile_names()
657 subfile->language = subfile->next->language; in patch_subfile_names()
702 record_line (struct subfile *subfile, int line, CORE_ADDR pc) in record_line() argument
713 if (!subfile->line_vector) in record_line()
715 subfile->line_vector_length = INITIAL_LINE_VECTOR_LENGTH; in record_line()
716 subfile->line_vector = (struct linetable *) in record_line()
718 + subfile->line_vector_length * sizeof (struct linetable_entry)); in record_line()
719 subfile->line_vector->nitems = 0; in record_line()
723 if (subfile->line_vector->nitems + 1 >= subfile->line_vector_length) in record_line()
725 subfile->line_vector_length *= 2; in record_line()
726 subfile->line_vector = (struct linetable *) in record_line()
727 xrealloc ((char *) subfile->line_vector, in record_line()
729 + (subfile->line_vector_length in record_line()
733 e = subfile->line_vector->item + subfile->line_vector->nitems++; in record_line()
819 struct subfile *subfile; in end_symtab() local
821 struct subfile *nextsub; in end_symtab()
922 for (subfile = subfiles; subfile; subfile = nextsub) in end_symtab()
931 if (subfile->line_vector) in end_symtab()
934 subfile->line_vector->nitems * sizeof (struct linetable_entry); in end_symtab()
940 subfile->line_vector = (struct linetable *) in end_symtab()
941 xrealloc ((char *) subfile->line_vector, linetablesize); in end_symtab()
948 qsort (subfile->line_vector->item, in end_symtab()
949 subfile->line_vector->nitems, in end_symtab()
954 symtab = allocate_symtab (subfile->name, objfile); in end_symtab()
959 if (subfile->line_vector) in end_symtab()
964 memcpy (symtab->linetable, subfile->line_vector, linetablesize); in end_symtab()
971 if (subfile->dirname) in end_symtab()
976 strlen (subfile->dirname) + 1); in end_symtab()
977 strcpy (symtab->dirname, subfile->dirname); in end_symtab()
992 symtab->language = subfile->language; in end_symtab()
995 if (subfile->debugformat != NULL) in end_symtab()
997 symtab->debugformat = obsavestring (subfile->debugformat, in end_symtab()
998 strlen (subfile->debugformat), in end_symtab()
1008 if (subfile->name != NULL) in end_symtab()
1010 xfree ((void *) subfile->name); in end_symtab()
1012 if (subfile->dirname != NULL) in end_symtab()
1014 xfree ((void *) subfile->dirname); in end_symtab()
1016 if (subfile->line_vector != NULL) in end_symtab()
1018 xfree ((void *) subfile->line_vector); in end_symtab()
1020 if (subfile->debugformat != NULL) in end_symtab()
1022 xfree ((void *) subfile->debugformat); in end_symtab()
1025 nextsub = subfile->next; in end_symtab()
1026 xfree ((void *) subfile); in end_symtab()