diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2013-02-03 16:25:56 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2013-02-03 16:25:56 +0000 |
commit | 233d95b548ec948c4a6d01cd05c307385dd615fb (patch) | |
tree | 615dcf50bf106efed9c95c9b66353fef6a6f23d5 /gdb/testsuite/gdb.linespec/macro-relative.exp | |
parent | da235a7c2183d92f9be66642d5b357729078a39b (diff) | |
download | gdb-233d95b548ec948c4a6d01cd05c307385dd615fb.zip gdb-233d95b548ec948c4a6d01cd05c307385dd615fb.tar.gz gdb-233d95b548ec948c4a6d01cd05c307385dd615fb.tar.bz2 |
gdb/
* dwarf2read.c (file_file_name): New function with code from
file_full_name.
(file_full_name): Move most of the code to file_file_name.
(macro_start_file): Rename variable full_name to file_name and use
file_file_name for it. Add comp_dir parameter to new_macro_table.
* macrocmd.c (show_pp_source_pos): New variable fullname. Replace any
macro_source_file->filename access by macro_source_fullname call.
* macroscope.c (_initialize_macroscope): Update the new_macro_table
caller.
* macrotab.c (struct macro_table): New field comp_dir.
(macro_include): New variables link_fullname and source_fullname.
Replace any macro_source_file->filename access by macro_source_fullname
call.
(macro_lookup_inclusion): Remove the partial filenames checking code.
(check_for_redefinition): New variables source_fullname and
found_key_fullname. Replace any macro_source_file->filename access by
macro_source_fullname call.
(macro_undef): New variables source_fullname and key_fullname. Replace
any macro_source_file->filename access by macro_source_fullname call.
(macro_lookup_definition): New variables retval and source_fullname.
Replace any macro_source_file->filename access by macro_source_fullname
call.
(foreach_macro): New variable key_fullname. Replace any
macro_source_file->filename access by macro_source_fullname call.
(foreach_macro_in_scope): New variable datum_fullname. Replace any
macro_source_file->filename access by macro_source_fullname call.
(new_macro_table): Add parameter comp_dir. Initialize T with it.
(macro_source_fullname): New function.
* macrotab.h (struct macro_source_file): Extent the filename field
comment.
(new_macro_table): New parameter comp_dir, add a comment for it.
(macro_source_fullname): new declaration.
gdb/testsuite/
* gdb.linespec/base/one/header.h: New file.
* gdb.linespec/base/two/header.h: New file.
* gdb.linespec/macro-relative.c: New file.
* gdb.linespec/macro-relative.exp: New file.
Diffstat (limited to 'gdb/testsuite/gdb.linespec/macro-relative.exp')
-rw-r--r-- | gdb/testsuite/gdb.linespec/macro-relative.exp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.linespec/macro-relative.exp b/gdb/testsuite/gdb.linespec/macro-relative.exp new file mode 100644 index 0000000..0a056e3 --- /dev/null +++ b/gdb/testsuite/gdb.linespec/macro-relative.exp @@ -0,0 +1,47 @@ +# Copyright 2013 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 <http://www.gnu.org/licenses/>. + +standard_testfile + +set opts {debug additional_flags=-I.} + +get_compiler_info +if [test_compiler_info gcc*] { + lappend opts additional_flags=-g3 +} + +if { [file pathtype $objdir] == "relative" } { + untested "objdir $objdir should be absolute" + return +} +set saved_pwd [pwd] +cd $srcdir/${subdir}/base/two +set err [gdb_compile "../../${srcfile}" "${binfile}" executable $opts] +cd $saved_pwd +if { $err != "" } { + untested "compilation failed" + return -1 +} + +clean_restart ${testfile} + +# Test macros respect DW_AT_comp_dir. + +# "list header_two_func" does not set exactly the one line we want. +if ![runto header_two_func] { + return -1 +} + +gdb_test "info macro HEADER" "\r\n#define HEADER 2" |