4357ac6c6f
Tom Tromey <tromey@redhat.com> * dwarf2read.c (read_common_block): Rewrite. (new_symbol_full): Handle DW_TAG_common_block. * f-lang.c (head_common_list, find_common_for_function): Remove. * f-lang.h (struct common_entry, struct saved_f77_common, SAVED_F77_COMMON, SAVED_F77_COMMON_PTR, COMMON_ENTRY, COMMON_ENTRY_PTR, head_common_list, find_common_for_function, BLANK_COMMON_NAME_LOCAL): Remove. (struct common_block): New. * f-valprint.c (list_all_visible_commons): Remove. (info_common_command_for_block): New function. (info_common_command): Use it. * stack.c (iterate_over_block_locals): Special case for COMMON_BLOCK_DOMAIN. * symtab.h (enum domain_enum_tag) <COMMON_BLOCK_DOMAIN>: New constant. (struct general_symbol_info) <value.common_block>: New field. (SYMBOL_VALUE_COMMON_BLOCK): New define. gdb/testsuite 2012-09-26 Jan Kratochvil <jan.kratochvil@redhat.com> * gdb.fortran/common-block.exp: New file. * gdb.fortran/common-block.f90: New file.
67 lines
1.8 KiB
Fortran
67 lines
1.8 KiB
Fortran
! Copyright 2008, 2012 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, write to the Free Software
|
|
! Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
!
|
|
! Ihis file is the Fortran source file for dynamic.exp.
|
|
! Original file written by Jakub Jelinek <jakub@redhat.com>.
|
|
! Modified for the GDB testcase by Jan Kratochvil <jan.kratochvil@redhat.com>.
|
|
|
|
subroutine in
|
|
|
|
INTEGER*4 ix
|
|
REAL*4 iy2
|
|
REAL*8 iz
|
|
|
|
INTEGER*4 ix_x
|
|
REAL*4 iy_y
|
|
REAL*8 iz_z2
|
|
|
|
common /fo_o/ix,iy2,iz
|
|
common /foo/ix_x,iy_y,iz_z2
|
|
|
|
iy = 5
|
|
iz_z = 55
|
|
|
|
if (ix .ne. 11 .or. iy2 .ne. 22.0 .or. iz .ne. 33.0) call abort
|
|
if (ix_x .ne. 1 .or. iy_y .ne. 2.0 .or. iz_z2 .ne. 3.0) call abort
|
|
|
|
ix = 0 ! stop-here-in
|
|
|
|
end subroutine in
|
|
|
|
program common_test
|
|
|
|
INTEGER*4 ix
|
|
REAL*4 iy
|
|
REAL*8 iz
|
|
|
|
INTEGER*4 ix_x
|
|
REAL*4 iy_y
|
|
REAL*8 iz_z
|
|
|
|
common /foo/ix,iy,iz
|
|
common /fo_o/ix_x,iy_y,iz_z
|
|
|
|
ix = 1
|
|
iy = 2.0
|
|
iz = 3.0
|
|
|
|
ix_x = 11
|
|
iy_y = 22.0
|
|
iz_z = 33.0
|
|
|
|
call in ! stop-here-out
|
|
|
|
end program common_test
|