# Copyright 2020-2021 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # Test-case to verify that symbol-less symtabs are expanded by # "maint expand-symtabs". standard_testfile .c if {[build_executable "failed to prepare" $testfile \ $srcfile {debug nowarnings}]} { return -1 } clean_restart # Make sure that no symtabs are expanded, by setting language before # loading exec. gdb_test_no_output "set language c" gdb_load ${binfile} set test "verify no symtabs are expanded" if { [readnow] } { unsupported $test return -1 } gdb_test_no_output "maint info symtabs" $test # Expand the header file symtab. gdb_test_no_output "maint expand-symtabs maint-expand-symbols-header-file.h" # Check that the include symtab was in fact expanded. set file_re "\[^\r\n\]*/maint-expand-symbols-header-file.h" gdb_test "maint info symtabs" \ "\r\n\t{ symtab $file_re \\(\\(struct symtab \\*\\) $hex\\)\r\n.*" \ "check header file psymtab expansion" # Check that the symtab the include symtab was referring to was expanded. set file_re "\[^\r\n\]*/maint-expand-symbols-header-file.c" gdb_test "maint info symtabs" \ "\r\n\t{ symtab $file_re \\(\\(struct symtab \\*\\) $hex\\)\r\n.*" \ "check source file psymtab expansion"