]> git.pld-linux.org Git - packages/gdb.git/blobdiff - gdb-archer-vla-tests.patch
- updated to 8.0
[packages/gdb.git] / gdb-archer-vla-tests.patch
index fa60380ff2b27a93d71d011e3decf69d9a73c897..6c8a3a62d4ff006d7e412b4c231a8970e1cb1a98 100644 (file)
@@ -1,7 +1,7 @@
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.ada/packed_array.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.ada/packed_array.exp
 ===================================================================
---- gdb-7.10.90.20160211.orig/gdb/testsuite/gdb.ada/packed_array.exp   2016-02-15 23:33:29.830959972 +0100
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.ada/packed_array.exp        2016-02-15 23:35:56.289999846 +0100
+--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.ada/packed_array.exp   2017-02-26 19:15:28.552824751 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.ada/packed_array.exp        2017-02-26 19:15:36.597882316 +0100
 @@ -56,5 +56,11 @@
          # are.  Observed with (FSF GNU Ada 4.5.3 20110124).
          xfail $test
@@ -14,10 +14,493 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.ada/packed_array.exp
 +    }
  }
  
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-pointer-foo.S
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S       2016-02-15 23:35:56.290999853 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-pointer-foo.S       2017-02-26 19:15:36.598882323 +0100
+@@ -0,0 +1,358 @@
++      .file   "x86_64-vla-pointer.c"
++      .text
++.Ltext0:
++      .globl  foo
++      .type   foo, @function
++foo:
++.LFB0:
++      .file 1 "gdb.arch/x86_64-vla-pointer.c"
++      # gdb.arch/x86_64-vla-pointer.c:22
++      .loc 1 22 0
++      .cfi_startproc
++# BLOCK 2 seq:0
++# PRED: ENTRY (FALLTHRU)
++      pushq   %rbp
++      .cfi_def_cfa_offset 16
++      .cfi_offset 6, -16
++      movq    %rsp, %rbp
++      .cfi_def_cfa_register 6
++      pushq   %rbx
++      subq    $56, %rsp
++      .cfi_offset 3, -24
++      movl    %edi, -52(%rbp)
++      # gdb.arch/x86_64-vla-pointer.c:22
++      .loc 1 22 0
++      movq    %rsp, %rax
++      movq    %rax, %rsi
++      # gdb.arch/x86_64-vla-pointer.c:23
++      .loc 1 23 0
++      movl    -52(%rbp), %eax
++      movslq  %eax, %rdx
++      subq    $1, %rdx
++      movq    %rdx, -32(%rbp)
++      movslq  %eax, %rdx
++      movq    %rdx, %r8
++      movl    $0, %r9d
++      # gdb.arch/x86_64-vla-pointer.c:24
++      .loc 1 24 0
++      movslq  %eax, %rdx
++      movq    %rdx, %rcx
++      movl    $0, %ebx
++      cltq
++      movl    $16, %edx
++      subq    $1, %rdx
++      addq    %rdx, %rax
++      movl    $16, %ebx
++      movl    $0, %edx
++      divq    %rbx
++      imulq   $16, %rax, %rax
++      subq    %rax, %rsp
++      movq    %rsp, %rax
++      addq    $0, %rax
++      movq    %rax, -40(%rbp)
++      # gdb.arch/x86_64-vla-pointer.c:27
++      .loc 1 27 0
++      movl    $0, -20(%rbp)
++# SUCC: 4 [100.0%] 
++      jmp     .L2
++# BLOCK 3 seq:1
++# PRED: 4
++.L3:
++      # gdb.arch/x86_64-vla-pointer.c:28
++      .loc 1 28 0 discriminator 3
++      movl    -20(%rbp), %eax
++      movl    %eax, %ecx
++      movq    -40(%rbp), %rdx
++      movl    -20(%rbp), %eax
++      cltq
++      movb    %cl, (%rdx,%rax)
++# SUCC: 4 (FALLTHRU,DFS_BACK)
++      # gdb.arch/x86_64-vla-pointer.c:27
++      .loc 1 27 0 discriminator 3
++      addl    $1, -20(%rbp)
++# BLOCK 4 seq:2
++# PRED: 3 (FALLTHRU,DFS_BACK) 2 [100.0%] 
++.L2:
++      # gdb.arch/x86_64-vla-pointer.c:27
++      .loc 1 27 0 is_stmt 0 discriminator 1
++      movl    -20(%rbp), %eax
++      cmpl    -52(%rbp), %eax
++# SUCC: 3 5 (FALLTHRU)
++      jl      .L3
++# BLOCK 5 seq:3
++# PRED: 4 (FALLTHRU)
++      # gdb.arch/x86_64-vla-pointer.c:30
++      .loc 1 30 0 is_stmt 1
++      movq    -40(%rbp), %rax
++      movb    $0, (%rax)
++      movq    %rsi, %rsp
++      # gdb.arch/x86_64-vla-pointer.c:31
++      .loc 1 31 0
++      nop
++      movq    -8(%rbp), %rbx
++      leave
++      .cfi_def_cfa 7, 8
++# SUCC: EXIT [100.0%] 
++      ret
++      .cfi_endproc
++.LFE0:
++      .size   foo, .-foo
++.Letext0:
++      .section        .debug_info,"",@progbits
++.Ldebug_info0:
++      .long   0xa5    # Length of Compilation Unit Info
++      .value  0x4     # DWARF version number
++      .long   .Ldebug_abbrev0 # Offset Into Abbrev. Section
++      .byte   0x8     # Pointer Size (in bytes)
++      .uleb128 0x1    # (DIE (0xb) DW_TAG_compile_unit)
++      .long   .LASF3  # DW_AT_producer: "GNU C11 6.2.1 20160916 (Red Hat 6.2.1-2) -mtune=generic -march=x86-64 -g"
++      .byte   0xc     # DW_AT_language
++      .long   .LASF4  # DW_AT_name: "gdb.arch/x86_64-vla-pointer.c"
++      .long   .LASF5  # DW_AT_comp_dir: "/home/jkratoch/redhat/fedora/gdb/master/gdb-7.12/gdb/testsuite"
++      .quad   .Ltext0 # DW_AT_low_pc
++      .quad   .Letext0-.Ltext0        # DW_AT_high_pc
++      .long   .Ldebug_line0   # DW_AT_stmt_list
++      .uleb128 0x2    # (DIE (0x2d) DW_TAG_subprogram)
++                      # DW_AT_external
++      .ascii "foo\0"  # DW_AT_name
++      .byte   0x1     # DW_AT_decl_file (gdb.arch/x86_64-vla-pointer.c)
++      .byte   0x15    # DW_AT_decl_line
++                      # DW_AT_prototyped
++      .quad   .LFB0   # DW_AT_low_pc
++      .quad   .LFE0-.LFB0     # DW_AT_high_pc
++      .uleb128 0x1    # DW_AT_frame_base
++      .byte   0x9c    # DW_OP_call_frame_cfa
++                      # DW_AT_GNU_all_call_sites
++      .long   0x80    # DW_AT_sibling
++      .uleb128 0x3    # (DIE (0x4a) DW_TAG_formal_parameter)
++      .long   .LASF6  # DW_AT_name: "size"
++      .byte   0x1     # DW_AT_decl_file (gdb.arch/x86_64-vla-pointer.c)
++      .byte   0x15    # DW_AT_decl_line
++      .long   0x80    # DW_AT_type
++      .uleb128 0x3    # DW_AT_location
++      .byte   0x91    # DW_OP_fbreg
++      .sleb128 -68
++      .uleb128 0x4    # (DIE (0x59) DW_TAG_typedef)
++      .long   .LASF7  # DW_AT_name: "array_t"
++      .byte   0x1     # DW_AT_decl_file (gdb.arch/x86_64-vla-pointer.c)
++      .byte   0x17    # DW_AT_decl_line
++      .long   0x87    # DW_AT_type
++      .uleb128 0x5    # (DIE (0x64) DW_TAG_variable)
++      .long   .LASF0  # DW_AT_name: "array"
++      .byte   0x1     # DW_AT_decl_file (gdb.arch/x86_64-vla-pointer.c)
++      .byte   0x18    # DW_AT_decl_line
++      .long   0x59    # DW_AT_type
++      .uleb128 0x3    # DW_AT_location
++      .byte   0x91    # DW_OP_fbreg
++      .sleb128 -56
++      .byte   0x6     # DW_OP_deref
++      .uleb128 0x6    # (DIE (0x73) DW_TAG_variable)
++      .ascii "i\0"    # DW_AT_name
++      .byte   0x1     # DW_AT_decl_file (gdb.arch/x86_64-vla-pointer.c)
++      .byte   0x19    # DW_AT_decl_line
++      .long   0x80    # DW_AT_type
++      .uleb128 0x2    # DW_AT_location
++      .byte   0x91    # DW_OP_fbreg
++      .sleb128 -36
++      .byte   0       # end of children of DIE 0x2d
++      .uleb128 0x7    # (DIE (0x80) DW_TAG_base_type)
++      .byte   0x4     # DW_AT_byte_size
++      .byte   0x5     # DW_AT_encoding
++      .ascii "int\0"  # DW_AT_name
++      .uleb128 0x8    # (DIE (0x87) DW_TAG_array_type)
++      .long   0xa1    # DW_AT_type
++      .long   0x9a    # DW_AT_sibling
++      .uleb128 0x9    # (DIE (0x90) DW_TAG_subrange_type)
++      .long   0x9a    # DW_AT_type
++      .uleb128 0x3    # DW_AT_upper_bound
++      .byte   0x91    # DW_OP_fbreg
++      .sleb128 -48
++      .byte   0x6     # DW_OP_deref
++      .byte   0       # end of children of DIE 0x87
++      .uleb128 0xa    # (DIE (0x9a) DW_TAG_base_type)
++      .byte   0x8     # DW_AT_byte_size
++      .byte   0x7     # DW_AT_encoding
++      .long   .LASF1  # DW_AT_name: "sizetype"
++      .uleb128 0xa    # (DIE (0xa1) DW_TAG_base_type)
++      .byte   0x1     # DW_AT_byte_size
++      .byte   0x6     # DW_AT_encoding
++      .long   .LASF2  # DW_AT_name: "char"
++      .byte   0       # end of children of DIE 0xb
++      .section        .debug_abbrev,"",@progbits
++.Ldebug_abbrev0:
++      .uleb128 0x1    # (abbrev code)
++      .uleb128 0x11   # (TAG: DW_TAG_compile_unit)
++      .byte   0x1     # DW_children_yes
++      .uleb128 0x25   # (DW_AT_producer)
++      .uleb128 0xe    # (DW_FORM_strp)
++      .uleb128 0x13   # (DW_AT_language)
++      .uleb128 0xb    # (DW_FORM_data1)
++      .uleb128 0x3    # (DW_AT_name)
++      .uleb128 0xe    # (DW_FORM_strp)
++      .uleb128 0x1b   # (DW_AT_comp_dir)
++      .uleb128 0xe    # (DW_FORM_strp)
++      .uleb128 0x11   # (DW_AT_low_pc)
++      .uleb128 0x1    # (DW_FORM_addr)
++      .uleb128 0x12   # (DW_AT_high_pc)
++      .uleb128 0x7    # (DW_FORM_data8)
++      .uleb128 0x10   # (DW_AT_stmt_list)
++      .uleb128 0x17   # (DW_FORM_sec_offset)
++      .byte   0
++      .byte   0
++      .uleb128 0x2    # (abbrev code)
++      .uleb128 0x2e   # (TAG: DW_TAG_subprogram)
++      .byte   0x1     # DW_children_yes
++      .uleb128 0x3f   # (DW_AT_external)
++      .uleb128 0x19   # (DW_FORM_flag_present)
++      .uleb128 0x3    # (DW_AT_name)
++      .uleb128 0x8    # (DW_FORM_string)
++      .uleb128 0x3a   # (DW_AT_decl_file)
++      .uleb128 0xb    # (DW_FORM_data1)
++      .uleb128 0x3b   # (DW_AT_decl_line)
++      .uleb128 0xb    # (DW_FORM_data1)
++      .uleb128 0x27   # (DW_AT_prototyped)
++      .uleb128 0x19   # (DW_FORM_flag_present)
++      .uleb128 0x11   # (DW_AT_low_pc)
++      .uleb128 0x1    # (DW_FORM_addr)
++      .uleb128 0x12   # (DW_AT_high_pc)
++      .uleb128 0x7    # (DW_FORM_data8)
++      .uleb128 0x40   # (DW_AT_frame_base)
++      .uleb128 0x18   # (DW_FORM_exprloc)
++      .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
++      .uleb128 0x19   # (DW_FORM_flag_present)
++      .uleb128 0x1    # (DW_AT_sibling)
++      .uleb128 0x13   # (DW_FORM_ref4)
++      .byte   0
++      .byte   0
++      .uleb128 0x3    # (abbrev code)
++      .uleb128 0x5    # (TAG: DW_TAG_formal_parameter)
++      .byte   0       # DW_children_no
++      .uleb128 0x3    # (DW_AT_name)
++      .uleb128 0xe    # (DW_FORM_strp)
++      .uleb128 0x3a   # (DW_AT_decl_file)
++      .uleb128 0xb    # (DW_FORM_data1)
++      .uleb128 0x3b   # (DW_AT_decl_line)
++      .uleb128 0xb    # (DW_FORM_data1)
++      .uleb128 0x49   # (DW_AT_type)
++      .uleb128 0x13   # (DW_FORM_ref4)
++      .uleb128 0x2    # (DW_AT_location)
++      .uleb128 0x18   # (DW_FORM_exprloc)
++      .byte   0
++      .byte   0
++      .uleb128 0x4    # (abbrev code)
++      .uleb128 0x16   # (TAG: DW_TAG_typedef)
++      .byte   0       # DW_children_no
++      .uleb128 0x3    # (DW_AT_name)
++      .uleb128 0xe    # (DW_FORM_strp)
++      .uleb128 0x3a   # (DW_AT_decl_file)
++      .uleb128 0xb    # (DW_FORM_data1)
++      .uleb128 0x3b   # (DW_AT_decl_line)
++      .uleb128 0xb    # (DW_FORM_data1)
++      .uleb128 0x49   # (DW_AT_type)
++      .uleb128 0x13   # (DW_FORM_ref4)
++      .byte   0
++      .byte   0
++      .uleb128 0x5    # (abbrev code)
++      .uleb128 0x34   # (TAG: DW_TAG_variable)
++      .byte   0       # DW_children_no
++      .uleb128 0x3    # (DW_AT_name)
++      .uleb128 0xe    # (DW_FORM_strp)
++      .uleb128 0x3a   # (DW_AT_decl_file)
++      .uleb128 0xb    # (DW_FORM_data1)
++      .uleb128 0x3b   # (DW_AT_decl_line)
++      .uleb128 0xb    # (DW_FORM_data1)
++      .uleb128 0x49   # (DW_AT_type)
++      .uleb128 0x13   # (DW_FORM_ref4)
++      .uleb128 0x2    # (DW_AT_location)
++      .uleb128 0x18   # (DW_FORM_exprloc)
++      .byte   0
++      .byte   0
++      .uleb128 0x6    # (abbrev code)
++      .uleb128 0x34   # (TAG: DW_TAG_variable)
++      .byte   0       # DW_children_no
++      .uleb128 0x3    # (DW_AT_name)
++      .uleb128 0x8    # (DW_FORM_string)
++      .uleb128 0x3a   # (DW_AT_decl_file)
++      .uleb128 0xb    # (DW_FORM_data1)
++      .uleb128 0x3b   # (DW_AT_decl_line)
++      .uleb128 0xb    # (DW_FORM_data1)
++      .uleb128 0x49   # (DW_AT_type)
++      .uleb128 0x13   # (DW_FORM_ref4)
++      .uleb128 0x2    # (DW_AT_location)
++      .uleb128 0x18   # (DW_FORM_exprloc)
++      .byte   0
++      .byte   0
++      .uleb128 0x7    # (abbrev code)
++      .uleb128 0x24   # (TAG: DW_TAG_base_type)
++      .byte   0       # DW_children_no
++      .uleb128 0xb    # (DW_AT_byte_size)
++      .uleb128 0xb    # (DW_FORM_data1)
++      .uleb128 0x3e   # (DW_AT_encoding)
++      .uleb128 0xb    # (DW_FORM_data1)
++      .uleb128 0x3    # (DW_AT_name)
++      .uleb128 0x8    # (DW_FORM_string)
++      .byte   0
++      .byte   0
++      .uleb128 0x8    # (abbrev code)
++      .uleb128 0x1    # (TAG: DW_TAG_array_type)
++      .byte   0x1     # DW_children_yes
++      .uleb128 0x49   # (DW_AT_type)
++      .uleb128 0x13   # (DW_FORM_ref4)
++      .uleb128 0x1    # (DW_AT_sibling)
++      .uleb128 0x13   # (DW_FORM_ref4)
++      .byte   0
++      .byte   0
++      .uleb128 0x9    # (abbrev code)
++      .uleb128 0x21   # (TAG: DW_TAG_subrange_type)
++      .byte   0       # DW_children_no
++      .uleb128 0x49   # (DW_AT_type)
++      .uleb128 0x13   # (DW_FORM_ref4)
++      .uleb128 0x2f   # (DW_AT_upper_bound)
++      .uleb128 0x18   # (DW_FORM_exprloc)
++      .byte   0
++      .byte   0
++      .uleb128 0xa    # (abbrev code)
++      .uleb128 0x24   # (TAG: DW_TAG_base_type)
++      .byte   0       # DW_children_no
++      .uleb128 0xb    # (DW_AT_byte_size)
++      .uleb128 0xb    # (DW_FORM_data1)
++      .uleb128 0x3e   # (DW_AT_encoding)
++      .uleb128 0xb    # (DW_FORM_data1)
++      .uleb128 0x3    # (DW_AT_name)
++      .uleb128 0xe    # (DW_FORM_strp)
++      .byte   0
++      .byte   0
++      .byte   0
++      .section        .debug_aranges,"",@progbits
++      .long   0x2c    # Length of Address Ranges Info
++      .value  0x2     # DWARF Version
++      .long   .Ldebug_info0   # Offset of Compilation Unit Info
++      .byte   0x8     # Size of Address
++      .byte   0       # Size of Segment Descriptor
++      .value  0       # Pad to 16 byte boundary
++      .value  0
++      .quad   .Ltext0 # Address
++      .quad   .Letext0-.Ltext0        # Length
++      .quad   0
++      .quad   0
++      .section        .debug_line,"",@progbits
++.Ldebug_line0:
++      .section        .debug_str,"MS",@progbits,1
++.LASF4:
++      .string "gdb.arch/x86_64-vla-pointer.c"
++.LASF7:
++      .string "array_t"
++.LASF3:
++      .string "GNU C11 6.2.1 20160916 (Red Hat 6.2.1-2) -mtune=generic -march=x86-64 -g"
++.LASF2:
++      .string "char"
++.LASF1:
++      .string "sizetype"
++.LASF5:
++      .string "/home/jkratoch/redhat/fedora/gdb/master/gdb-7.12/gdb/testsuite"
++.LASF6:
++      .string "size"
++.LASF0:
++      .string "array"
++      .ident  "GCC: (GNU) 6.2.1 20160916 (Red Hat 6.2.1-2)"
++      .section        .note.GNU-stack,"",@progbits
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-pointer.c
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-pointer.c   2017-02-26 19:15:36.598882323 +0100
+@@ -0,0 +1,45 @@
++/* This testcase is part of GDB, the GNU debugger.
++
++   Copyright 2009 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/>.  */
++
++#if 0
++
++void
++foo (int size)
++{
++  typedef char array_t[size];
++  array_t array;
++  int i;
++
++  for (i = 0; i < size; i++)
++    array[i] = i;
++
++  array[0] = 0;       /* break-here */
++}
++
++#else
++
++void foo (int size);
++
++int
++main (void)
++{
++  foo (26);
++  foo (78);
++  return 0;
++}
++
++#endif
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-pointer.exp
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-pointer.exp 2017-02-26 19:15:36.598882323 +0100
+@@ -0,0 +1,65 @@
++# Copyright 2009 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/>.
++
++if ![istarget "x86_64-*-*"] then {
++    verbose "Skipping over gdb.arch/x86_64-vla-pointer.exp test made only for x86_64."
++    return
++}
++
++set testfile x86_64-vla-pointer
++set srcasmfile ${testfile}-foo.S
++set srcfile ${testfile}.c
++set binfile [standard_output_file ${testfile}]
++set binobjfile [standard_output_file ${testfile}-foo.o]
++if  { [gdb_compile "${srcdir}/${subdir}/${srcasmfile}" "${binobjfile}" object {}] != "" } {
++    untested "Couldn't compile test program"
++    return -1
++}
++if  { [gdb_compile "${srcdir}/${subdir}/${srcfile} ${binobjfile}" "${binfile}" executable {}] != "" } {
++    untested "Couldn't compile test program"
++    return -1
++}
++
++gdb_exit
++gdb_start
++gdb_reinitialize_dir $srcdir/$subdir
++gdb_load ${binfile}
++
++if ![runto_main] {
++    untested x86_64-vla-pointer
++    return -1
++}
++
++gdb_breakpoint $srcfile:[gdb_get_line_number "break-here"]
++
++gdb_continue_to_breakpoint "break-here"
++
++gdb_test "whatis array" "type = array_t" "first: whatis array"
++gdb_test "whatis array_t" "type = char \\\[variable length\\\]" "first: whatis array_t"
++gdb_test "ptype array" "type = char \\\[26\\\]" "first: ptype array"
++
++gdb_test "whatis *array" "type = char" "first: whatis *array"
++gdb_test "ptype *array" "type = char" "first: ptype *array"
++
++gdb_test "p array\[1\]" "\\$\[0-9\] = 1 '\\\\001'"
++gdb_test "p array\[2\]" "\\$\[0-9\] = 2 '\\\\002'"
++gdb_test "p array\[3\]" "\\$\[0-9\] = 3 '\\\\003'"
++gdb_test "p array\[4\]" "\\$\[0-9\] = 4 '\\\\004'"
++
++gdb_continue_to_breakpoint "break_here"
++
++gdb_test "whatis array" "type = array_t" "second: whatis array"
++gdb_test "whatis array_t" "type = char \\\[variable length\\\]" "second: whatis array_t"
++gdb_test "ptype array" "type = char \\\[78\\\]" "second: ptype array"
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S       2017-02-26 19:15:36.598882323 +0100
 @@ -0,0 +1,455 @@
 +      .file   "x86_64-vla-typedef.c"
 +      .section        .debug_abbrev,"",@progbits
@@ -474,10 +957,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S
 +      .string "GNU C 4.3.2 20081105 (Red Hat 4.3.2-7)"
 +      .ident  "GCC: (GNU) 4.3.2 20081105 (Red Hat 4.3.2-7)"
 +      .section        .note.GNU-stack,"",@progbits
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c   2016-02-15 23:35:56.290999853 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c   2017-02-26 19:15:36.599882330 +0100
 @@ -0,0 +1,45 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -524,10 +1007,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c
 +}
 +
 +#endif
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp 2016-02-15 23:35:56.290999853 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp 2017-02-26 19:15:36.599882330 +0100
 @@ -0,0 +1,64 @@
 +# Copyright 2009 Free Software Foundation, Inc.
 +
@@ -593,10 +1076,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp
 +gdb_test "whatis array" "type = array_t" "second: whatis array"
 +
 +gdb_test "ptype array" "type = char \\\[78\\\]" "second: ptype array"
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/arrayidx.c
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/arrayidx.c
 ===================================================================
---- gdb-7.10.90.20160211.orig/gdb/testsuite/gdb.base/arrayidx.c        2016-02-15 23:33:29.830959972 +0100
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.base/arrayidx.c     2016-02-15 23:35:56.290999853 +0100
+--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.base/arrayidx.c        2017-02-26 19:15:28.555824772 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/arrayidx.c     2017-02-26 19:15:36.599882330 +0100
 @@ -17,6 +17,13 @@
  
  int array[] = {1, 2, 3, 4};
@@ -611,13 +1094,13 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/arrayidx.c
  int
  main (void)
  {
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/arrayidx.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/arrayidx.exp
 ===================================================================
---- gdb-7.10.90.20160211.orig/gdb/testsuite/gdb.base/arrayidx.exp      2016-02-15 23:33:29.830959972 +0100
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.base/arrayidx.exp   2016-02-15 23:35:56.291999860 +0100
+--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.base/arrayidx.exp      2017-02-26 19:15:28.555824772 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/arrayidx.exp   2017-02-26 19:15:36.599882330 +0100
 @@ -49,4 +49,12 @@
           "\\{\\\[0\\\] = 1, \\\[1\\\] = 2, \\\[2\\\] = 3, \\\[3\\\] = 4\\}" \
-          "Print array with array-indexes on"
+          "print array with array-indexes on"
  
 -
 +set test "p unbound.a == &unbound.a\[0\]"
@@ -629,10 +1112,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/arrayidx.exp
 +      unsupported "$test (no GCC)"
 +    }
 +}
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/internal-var-field-address.c
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/internal-var-field-address.c
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.base/internal-var-field-address.c   2016-02-15 23:35:56.291999860 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/internal-var-field-address.c   2017-02-26 19:15:36.599882330 +0100
 @@ -0,0 +1,20 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -654,10 +1137,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/internal-var-field-address.c
 +struct {
 +  int field;
 +} staticstruct = { 1 };
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/internal-var-field-address.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/internal-var-field-address.exp
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.base/internal-var-field-address.exp 2016-02-15 23:35:56.291999860 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/internal-var-field-address.exp 2017-02-26 19:15:36.600882337 +0100
 @@ -0,0 +1,26 @@
 +# Copyright 2009 Free Software Foundation, Inc.
 +
@@ -685,10 +1168,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/internal-var-field-address.ex
 +
 +gdb_test {set $varstruct = staticstruct}
 +gdb_test {p $varstruct.field} " = 1"
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/vla-frame.c
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-frame.c
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.base/vla-frame.c    2016-02-15 23:35:56.291999860 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-frame.c    2017-02-26 19:15:36.600882337 +0100
 @@ -0,0 +1,31 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -721,10 +1204,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/vla-frame.c
 +  f (s);
 +  return 0;
 +}
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/vla-frame.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-frame.exp
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.base/vla-frame.exp  2016-02-15 23:35:56.291999860 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-frame.exp  2017-02-26 19:15:36.600882337 +0100
 @@ -0,0 +1,38 @@
 +# Copyright 2011 Free Software Foundation, Inc.
 +#
@@ -764,10 +1247,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/vla-frame.exp
 +}
 +
 +gdb_test "bt full" "\r\n +s = \"X\\\\000\"\r\n.*"
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/vla-overflow.c
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-overflow.c
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.base/vla-overflow.c 2016-02-15 23:35:56.291999860 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-overflow.c 2017-02-26 19:15:36.600882337 +0100
 @@ -0,0 +1,30 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -799,10 +1282,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/vla-overflow.c
 +
 +  return 0;
 +}
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/vla-overflow.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-overflow.exp
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.base/vla-overflow.exp       2016-02-15 23:35:56.292999867 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-overflow.exp       2017-02-26 19:15:36.600882337 +0100
 @@ -0,0 +1,109 @@
 +# Copyright 2008 Free Software Foundation, Inc.
 +
@@ -913,10 +1396,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/vla-overflow.exp
 +gdb_test "bt" "in \[^ \]*abort \\(.* in main \\(.*" "Backtrace after abort()"
 +
 +verbose -log "kb_found in bt after abort() = [expr [memory_v_pages_get] * $pagesize / 1024]"
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/vla.c
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla.c
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.base/vla.c  2016-02-15 23:35:56.292999867 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla.c  2017-02-26 19:15:36.600882337 +0100
 @@ -0,0 +1,55 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -973,10 +1456,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/vla.c
 +  foo (78);
 +  return 0;
 +}
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/vla.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla.exp
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.base/vla.exp        2016-02-15 23:35:56.292999867 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla.exp        2017-02-26 19:15:36.600882337 +0100
 @@ -0,0 +1,62 @@
 +# Copyright 2008 Free Software Foundation, Inc.
 +
@@ -1040,10 +1523,382 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/vla.exp
 +gdb_test "p temp1" " = '1' <repeats 78 times>" "second: print temp1"
 +gdb_test "p temp2" " = '2' <repeats 78 times>" "second: print temp2"
 +gdb_test "p temp3" " = '3' <repeats 48 times>" "second: print temp3"
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.cp/gdb9593.cc
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.cp/gdb9593.cc       2017-02-26 19:15:36.601882344 +0100
+@@ -0,0 +1,180 @@
++/* This testcase is part of GDB, the GNU debugger.
++
++   Copyright 2008, 2009 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/>.
++   */
++#include <iostream>
++
++using namespace std;
++
++class NextOverThrowDerivates
++{
++
++public:
++
++
++  // Single throw an exception in this function.
++  void function1() 
++  {
++    throw 20;
++  }
++
++  // Throw an exception in another function.
++  void function2() 
++  {
++    function1();
++  }
++
++  // Throw an exception in another function, but handle it
++  // locally.
++  void function3 () 
++  {
++    {
++      try
++      {
++        function1 ();
++      }
++      catch (...) 
++      {
++        cout << "Caught and handled function1 exception" << endl;
++      }
++    }
++  }
++
++  void rethrow ()
++  {
++    try
++      {
++      function1 ();
++      }
++    catch (...)
++      {
++      throw;
++      }
++  }
++
++  void finish ()
++  {
++    // We use this to test that a "finish" here does not end up in
++    // this frame, but in the one above.
++    try
++      {
++      function1 ();
++      }
++    catch (int x)
++      {
++      }
++    function1 ();             // marker for until
++  }
++
++  void until ()
++  {
++    function1 ();
++    function1 ();             // until here
++  }
++
++};
++NextOverThrowDerivates next_cases;
++
++
++int main () 
++{ 
++  try
++    {
++      next_cases.function1 ();
++    }
++  catch (...)
++    {
++      // Discard
++    }
++
++  try
++    {
++      next_cases.function2 ();
++    }
++  catch (...)
++    {
++      // Discard
++    }
++
++  try
++    {
++      // This is duplicated so we can next over one but step into
++      // another.
++      next_cases.function2 ();
++    }
++  catch (...)
++    {
++      // Discard
++    }
++
++  next_cases.function3 ();
++
++  try
++    {
++      next_cases.rethrow ();
++    }
++  catch (...)
++    {
++      // Discard
++    }
++
++  try
++    {
++      // Another duplicate so we can test "finish".
++      next_cases.function2 ();
++    }
++  catch (...)
++    {
++      // Discard
++    }
++
++  // Another test for "finish".
++  try
++    {
++      next_cases.finish ();
++    }
++  catch (...)
++    {
++    }
++
++  // Test of "until".
++  try
++    {
++      next_cases.finish ();
++    }
++  catch (...)
++    {
++    }
++
++  // Test of "until" with an argument.
++  try
++    {
++      next_cases.until ();
++    }
++  catch (...)
++    {
++    }
++
++  // Test of "advance".
++  try
++    {
++      next_cases.until ();
++    }
++  catch (...)
++    {
++    }
++}
++
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.cp/gdb9593.exp
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S  2016-02-15 23:35:56.292999867 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.cp/gdb9593.exp      2017-02-26 19:15:36.601882344 +0100
+@@ -0,0 +1,182 @@
++# Copyright 2008, 2009 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/>.
++
++
++if $tracelevel then {
++    strace $tracelevel
++}
++
++if { [skip_cplus_tests] } { continue }
++
++set testfile "gdb9593"
++set srcfile ${testfile}.cc
++set binfile [standard_output_file $testfile]
++
++# Create and source the file that provides information about the compiler
++# used to compile the test case.
++if [get_compiler_info "c++"] {
++    untested gdb9593.exp
++    return -1
++}
++
++if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
++    untested gdb9593.exp
++    return -1
++}
++
++# Some targets can't do function calls, so don't even bother with this
++# test.
++if [target_info exists gdb,cannot_call_functions] {
++    setup_xfail "*-*-*" 9593
++    fail "This target can not call functions"
++    continue
++}
++
++gdb_exit
++gdb_start
++gdb_reinitialize_dir $srcdir/$subdir
++gdb_load ${binfile}
++
++if ![runto_main] then {
++    perror "couldn't run to main"
++    continue
++} 
++
++# See whether we have the needed unwinder hooks.
++set ok 1
++gdb_test_multiple "print _Unwind_DebugHook" "check for unwinder hook" {
++    -re "= .*_Unwind_DebugHook.*\r\n$gdb_prompt $" {
++      pass "check for unwinder hook"
++    }
++    -re "No symbol .* in current context.\r\n$gdb_prompt $" {
++      # Pass the test so we don't get bogus fails in the results.
++      pass "check for unwinder hook"
++      set ok 0
++    }
++}
++if {!$ok} {
++    untested gdb9593.exp
++    return -1
++}
++
++# See http://sourceware.org/bugzilla/show_bug.cgi?id=9593
++
++gdb_test "next" \
++    ".*catch (...).*" \
++    "next over a throw 1"
++
++gdb_test "next" \
++  ".*next_cases.function2.*" \
++  "next past catch 1"
++
++gdb_test "next" \
++    ".*catch (...).*" \
++    "next over a throw 2"
++
++gdb_test "next" \
++  ".*next_cases.function2.*" \
++  "next past catch 2"
++
++gdb_test "step" \
++  ".*function1().*" \
++  "step into function2 1"
++
++gdb_test "next" \
++    ".*catch (...).*" \
++    "next over a throw 3"
++
++gdb_test "next" \
++  ".*next_cases.function3.*" \
++  "next past catch 3"
++
++gdb_test "next" \
++  ".*next_cases.rethrow.*" \
++    "next over a throw 4"
++
++gdb_test "next" \
++  ".*catch (...).*" \
++  "next over a rethrow"
++
++gdb_test "next" \
++  ".*next_cases.function2.*" \
++  "next after a rethrow"
++
++gdb_test "step" \
++  ".*function1().*" \
++  "step into function2 2"
++
++gdb_test "finish" \
++  ".*catch (...).*" \
++  "finish 1"
++
++gdb_test "next" \
++  ".*next_cases.finish ().*" \
++  "next past catch 4"
++
++gdb_test "step" \
++  ".*function1 ().*" \
++  "step into finish method"
++
++gdb_test "finish" \
++  ".*catch (...).*" \
++  "finish 2"
++
++gdb_test "next" \
++  ".*next_cases.finish ().*" \
++  "next past catch 5"
++
++gdb_test "step" \
++  ".*function1 ().*" \
++  "step into finish, for until"
++
++gdb_test "until" \
++  ".*function1 ().*" \
++  "until with no argument 1"
++
++set line [gdb_get_line_number "marker for until" $testfile.cc]
++
++gdb_test "until $line" \
++  ".*function1 ().*" \
++  "next past catch 6"
++
++gdb_test "until" \
++  ".*catch (...).*" \
++  "until with no argument 2"
++
++set line [gdb_get_line_number "until here" $testfile.cc]
++
++gdb_test "next" \
++  ".*next_cases.until ().*" \
++  "next past catch 6"
++
++gdb_test "step" \
++  ".*function1 ().*" \
++  "step into until"
++
++gdb_test "until $line" \
++  ".*catch (...).*" \
++  "until-over-throw"
++
++gdb_test "next" \
++  ".*next_cases.until ().*" \
++  "next past catch 7"
++
++gdb_test "step" \
++  ".*function1 ().*" \
++  "step into until, for advance"
++
++gdb_test "advance $line" \
++  ".*catch (...).*" \
++  "advance-over-throw"
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S  2017-02-26 19:15:36.601882344 +0100
 @@ -0,0 +1,246 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -1291,10 +2146,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S
 +      .string         "char"
 +.Luint_str:
 +      .string         "unsigned int"
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp        2016-02-15 23:35:56.292999867 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp        2017-02-26 19:15:36.602882352 +0100
 @@ -0,0 +1,66 @@
 +# Copyright 2010 Free Software Foundation, Inc.
 +
@@ -1362,10 +2217,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp
 +
 +# The register contains unpredictable value - the array size.
 +gdb_test "ptype reg_string" {type = char \[-?[0-9]+\]}
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-stripped.c
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-stripped.c
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-stripped.c       2016-02-15 23:35:56.293999874 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-stripped.c       2017-02-26 19:15:36.602882352 +0100
 @@ -0,0 +1,42 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -1409,10 +2264,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-stripped.c
 +  func1 (1, 2);
 +  return 0;
 +}
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp     2016-02-15 23:35:56.293999874 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp     2017-02-26 19:15:36.602882352 +0100
 @@ -0,0 +1,79 @@
 +# Copyright 2006 Free Software Foundation, Inc.
 +
@@ -1445,7 +2300,7 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp
 +
 +set testfile "dw2-stripped"
 +set srcfile ${testfile}.c
-+set binfile ${objdir}/${subdir}/${testfile}.x
++set binfile [standard_output_file ${testfile}.x]
 +
 +remote_exec build "rm -f ${binfile}"
 +
@@ -1493,10 +2348,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp
 +gdb_test "step" \
 +         "func.* \\(.*\\) at .*" \
 +         "step"
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S    2016-02-15 23:35:56.293999874 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S    2017-02-26 19:15:36.602882352 +0100
 @@ -0,0 +1,83 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -1581,10 +2436,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-loca
 +
 +      .byte           0x0                     /* Terminator */
 +      .byte           0x0                     /* Terminator */
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp  2016-02-15 23:35:56.293999874 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp  2017-02-26 19:15:36.602882352 +0100
 @@ -0,0 +1,37 @@
 +# Copyright 2009 Free Software Foundation, Inc.
 +
@@ -1623,10 +2478,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-loca
 +clean_restart $binfile
 +
 +gdb_test "ptype struct some_struct" "type = struct some_struct {\[\r\n \t\]*void field;\[\r\n \t\]*}"
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S       2016-02-15 23:35:56.293999874 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S       2017-02-26 19:15:36.602882352 +0100
 @@ -0,0 +1,121 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -1749,10 +2604,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S
 +      .byte           0x0                     /* Terminator */
 +
 +      .byte           0x0                     /* Terminator */
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp     2016-02-15 23:35:56.293999874 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp     2017-02-26 19:15:36.603882359 +0100
 @@ -0,0 +1,39 @@
 +# Copyright 2012 Free Software Foundation, Inc.
 +
@@ -1793,10 +2648,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp
 +
 +gdb_test "ptype notype_string" {type = char \[129\]}
 +gdb_test "p notype_string" " = 'x' <repeats 129 times>"
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/dwarf-stride.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dwarf-stride.exp
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/dwarf-stride.exp    2016-02-15 23:35:56.294999881 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dwarf-stride.exp    2017-02-26 19:15:36.603882359 +0100
 @@ -0,0 +1,42 @@
 +# Copyright 2009 Free Software Foundation, Inc.
 +
@@ -1840,10 +2695,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/dwarf-stride.exp
 +gdb_continue_to_breakpoint "break-here" ".*break-here.*"
 +gdb_test "p c40pt(1)" " = '0-hello.*"
 +gdb_test "p c40pt(2)" " = '1-hello.*"
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/dwarf-stride.f90
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dwarf-stride.f90
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/dwarf-stride.f90    2016-02-15 23:35:56.294999881 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dwarf-stride.f90    2017-02-26 19:15:36.603882359 +0100
 @@ -0,0 +1,40 @@
 +! Copyright 2009 Free Software Foundation, Inc.
 +!
@@ -1885,11 +2740,11 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/dwarf-stride.f90
 +  print *, c40pt  ! break-here
 +
 +end program repro
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/dynamic.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dynamic.exp
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/dynamic.exp 2016-02-15 23:36:39.358305635 +0100
-@@ -0,0 +1,151 @@
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dynamic.exp 2017-02-26 19:15:36.603882359 +0100
+@@ -0,0 +1,154 @@
 +# Copyright 2007 Free Software Foundation, Inc.
 +
 +# This program is free software; you can redistribute it and/or modify
@@ -1934,11 +2789,13 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/dynamic.exp
 +
 +gdb_breakpoint [gdb_get_line_number "varx-init"]
 +gdb_continue_to_breakpoint "varx-init"
-+gdb_test "p varx" "\\$\[0-9\]* = <not allocated>" "p varx unallocated"
-+gdb_test "ptype varx" "type = <not allocated>" "ptype varx unallocated"
-+gdb_test "p varx(1,5,17)" {no such vector element \(vector not allocated\)} "p varx(1,5,17) unallocated"
-+gdb_test "p varx(1,5,17)=1" {no such vector element \(vector not allocated\)} "p varx(1,5,17)=1 unallocated"
-+gdb_test "ptype varx(1,5,17)" {no such vector element \(vector not allocated\)} "ptype varx(1,5,17) unallocated"
++
++# http://www.cs.rpi.edu/~szymansk/OOF90/bugs.html#5
++# Do not: gdb_test "p varx" "\\$\[0-9\]* = <not allocated>" "p varx unallocated"
++# Do not: gdb_test "ptype varx" {type = real\(kind=4\) \(:,:,:\)} "ptype varx unallocated"
++# Do not: gdb_test "p varx(1,5,17)" {no such vector element \(vector not allocated\)} "p varx(1,5,17) unallocated"
++# Do not: gdb_test "p varx(1,5,17)=1" {no such vector element \(vector not allocated\)} "p varx(1,5,17)=1 unallocated"
++# Do not: gdb_test "ptype varx(1,5,17)" {no such vector element \(vector not allocated\)} "ptype varx(1,5,17) unallocated"
 +
 +gdb_breakpoint [gdb_get_line_number "varx-allocated"]
 +gdb_continue_to_breakpoint "varx-allocated"
@@ -1953,8 +2810,9 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/dynamic.exp
 +gdb_test "p varx(1, 5, 17)" "\\$\[0-9\]* = 7"
 +gdb_test "p varx(2, 6, 18)" "\\$\[0-9\]* = 8"
 +gdb_test "p varx(6, 15, 28)" "\\$\[0-9\]* = 9"
-+gdb_test "p varv" "\\$\[0-9\]* = <not associated>" "p varv unassociated"
-+gdb_test "ptype varv" "type = <not associated>" "ptype varv unassociated"
++# http://www.cs.rpi.edu/~szymansk/OOF90/bugs.html#5
++# Do not: gdb_test "p varv" "\\$\[0-9\]* = <not associated>" "p varv unassociated"
++# Do not: gdb_test "ptype varv" {type = real\(kind=4\) \(:,:,:\)} "ptype varv unassociated"
 +
 +set test "output varx"
 +gdb_test_multiple $test $test {
@@ -1982,7 +2840,7 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/dynamic.exp
 +gdb_continue_to_breakpoint "varv-deassociated"
 +# The latter one is for the Intel Fortran Compiler 10.1.008 pointer type.
 +gdb_test "p varv" "\\$\[0-9\]* = (<not associated>|.*(Cannot access it|Unable to access the object) because the object is not associated.)" "p varv deassociated"
-+gdb_test "ptype varv" "type = (<not associated>|.*(Cannot access it|Unable to access the object) because the object is not associated.)" "ptype varv deassociated"
++gdb_test "ptype varv" {type = real\(kind=4\) \(:,:,:\)} "ptype varv deassociated"
 +gdb_test "p l" "\\$\[0-9\]* = \\.FALSE\\." "p l if varv deassociated"
 +gdb_test "p varv(1,5,17)" {no such vector element \(vector not associated\)}
 +gdb_test "ptype varv(1,5,17)" {no such vector element \(vector not associated\)}
@@ -1990,7 +2848,7 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/dynamic.exp
 +gdb_breakpoint [gdb_get_line_number "varx-deallocated"]
 +gdb_continue_to_breakpoint "varx-deallocated"
 +gdb_test "p varx" "\\$\[0-9\]* = <not allocated>" "p varx deallocated"
-+gdb_test "ptype varx" "type = <not allocated>" "ptype varx deallocated"
++gdb_test "ptype varx" {type = real\(kind=4\) \(:,:,:\)} "ptype varx deallocated"
 +gdb_test "p l" "\\$\[0-9\]* = \\.FALSE\\." "p l if varx deallocated"
 +gdb_test "p varx(1,5,17)" {no such vector element \(vector not allocated\)} "p varx(1,5,17) deallocated"
 +gdb_test "ptype varx(1,5,17)" {no such vector element \(vector not allocated\)} "ptype varx(1,5,17) deallocated"
@@ -2041,10 +2899,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/dynamic.exp
 +gdb_test "p vart(3,8)" "\\$\[0-9\]* = 9"
 +# maps to foo::vary(1,3)
 +gdb_test "p vart(2,9)" "\\$\[0-9\]* = 10"
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/dynamic.f90
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dynamic.f90
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/dynamic.f90 2016-02-15 23:35:56.294999881 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dynamic.f90 2017-02-26 19:15:36.603882359 +0100
 @@ -0,0 +1,98 @@
 +! Copyright 2007 Free Software Foundation, Inc.
 +!
@@ -2144,10 +3002,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/dynamic.f90
 +  if (x (1, 1) .ne. 8 .or. x (2, 2) .ne. 9 .or. x (1, 2) .ne. 4) call abort
 +  if (x (3, 1) .ne. 10) call abort
 +end
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/string.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/string.exp
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/string.exp  2016-02-15 23:36:39.359305642 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/string.exp  2017-02-26 19:15:36.604882366 +0100
 @@ -0,0 +1,59 @@
 +# Copyright 2008 Free Software Foundation, Inc.
 +
@@ -2208,10 +3066,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/string.exp
 +gdb_continue_to_breakpoint "var-finish"
 +gdb_test "p e" "\\$\[0-9\]* = 'e   '" "p e re-set"
 +gdb_test "p f" "\\$\[0-9\]* = \\(\\( 'f   ', 'f   ', 'f   ', 'f   ', 'f   ', 'f   ', 'f   '\\) \\( 'f2  ', 'f   ', 'f   ', 'f   ', 'f   ', 'f   ', 'f   '\\) \\( 'f   ', 'f   ', 'f   ', 'f   ', 'f   ', 'f   ', 'f   '\\) \\)" "p *f re-set"
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/string.f90
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/string.f90
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/string.f90  2016-02-15 23:35:56.295999888 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/string.f90  2017-02-26 19:15:36.604882366 +0100
 @@ -0,0 +1,37 @@
 +! Copyright 2008 Free Software Foundation, Inc.
 +!
@@ -2250,10 +3108,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/string.f90
 +  h = 'h'
 +  call foo (g, h)
 +end
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/subrange.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/subrange.exp
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/subrange.exp        2016-02-15 23:35:56.295999888 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/subrange.exp        2017-02-26 19:15:36.604882366 +0100
 @@ -0,0 +1,72 @@
 +# Copyright 2011 Free Software Foundation, Inc.
 +
@@ -2327,10 +3185,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/subrange.exp
 +gdb_unload
 +setup_kfail "*-*-*" "vlaregression/9999"
 +gdb_test {p $a (3, 2:2)} { = \(23\)}
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/subrange.f90
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/subrange.f90
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/subrange.f90        2016-02-15 23:35:56.295999888 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/subrange.f90        2017-02-26 19:15:36.604882366 +0100
 @@ -0,0 +1,28 @@
 +! Copyright 2011 Free Software Foundation, Inc.
 +!
@@ -2360,10 +3218,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.fortran/subrange.f90
 +  ptr => a
 +  write (*,*) a                 ! break-static
 +end
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.mi/mi2-var-stale-type.c
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi2-var-stale-type.c
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.mi/mi2-var-stale-type.c     2016-02-15 23:35:56.295999888 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi2-var-stale-type.c     2017-02-26 19:15:36.604882366 +0100
 @@ -0,0 +1,26 @@
 +/* Copyright 2011 Free Software Foundation, Inc.
 +
@@ -2391,10 +3249,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.mi/mi2-var-stale-type.c
 +
 +  return 0;
 +}
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp   2016-02-15 23:35:56.295999888 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp   2017-02-26 19:15:36.604882366 +0100
 @@ -0,0 +1,57 @@
 +# Copyright 2011 Free Software Foundation, Inc.
 +#
@@ -2453,10 +3311,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp
 +mi_create_varobj "vla" "vla" "create local variable vla"
 +
 +mi_gdb_test "-var-update *" "\\^done,changelist=.*" "-var-update *"
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.opt/array-from-register-func.c
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/array-from-register-func.c
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.opt/array-from-register-func.c      2016-02-15 23:35:56.295999888 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/array-from-register-func.c      2017-02-26 19:15:36.604882366 +0100
 @@ -0,0 +1,22 @@
 +/* This file is part of GDB, the GNU debugger.
 +
@@ -2480,10 +3338,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.opt/array-from-register-func.c
 +{
 +  return arr[0];
 +}
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.opt/array-from-register.c
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/array-from-register.c
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.opt/array-from-register.c   2016-02-15 23:35:56.296999895 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/array-from-register.c   2017-02-26 19:15:36.605882373 +0100
 @@ -0,0 +1,28 @@
 +/* This file is part of GDB, the GNU debugger.
 +
@@ -2513,10 +3371,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.opt/array-from-register.c
 +
 +  return 0;
 +}
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.opt/array-from-register.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/array-from-register.exp
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.opt/array-from-register.exp 2016-02-15 23:35:56.296999895 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/array-from-register.exp 2017-02-26 19:15:36.605882373 +0100
 @@ -0,0 +1,33 @@
 +# Copyright 2009 Free Software Foundation, Inc.
 +#
@@ -2551,10 +3409,87 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.opt/array-from-register.exp
 +# Seen regression:
 +# Address requested for identifier "arr" which is in register $rdi
 +gdb_test "p arr\[0\]" "\\$\[0-9\]+ = 42"
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.pascal/arrays.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/fortran-string.exp
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/fortran-string.exp      2017-02-26 19:15:36.605882373 +0100
+@@ -0,0 +1,39 @@
++# Copyright 2009 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 2 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.  
++
++# This file was written by Jan Kratochvil <jan.kratochvil@redhat.com>.
++
++# Test GDB can cope with Fortran strings having their length present in a CPU
++# register.  With -O0 the string length is passed on the stack.  To make this
++# test meaningful the follow assertion should pass.  It is not being checked
++# here as the "_s" symbol is compiler dependent:
++#   (gdb) info address _s
++#   Symbol "_s" is a variable in register XX.
++
++set test fortran-string
++set srcfile ${test}.f90
++if { [prepare_for_testing ${test}.exp ${test} ${srcfile} {debug f90 additional_flags=-O2}] } {
++    return -1
++}
++
++if ![runto $srcfile:[gdb_get_line_number "s = s"]] then {
++    perror "couldn't run to breakpoint MAIN__"
++    continue
++}
++
++gdb_test "frame" ".*s='foo'.*"
++gdb_test "ptype s" "type = character\\*3"
++gdb_test "p s" "\\$\[0-9\]* = 'foo'"
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/fortran-string.f90
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/fortran-string.f90      2017-02-26 19:15:36.605882373 +0100
+@@ -0,0 +1,28 @@
++! Copyright 2009 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 2 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 f(s)
++  character*(*) s
++  s = s
++  end
++
++  program main
++  call f ('foo')
++  end
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.pascal/arrays.exp
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.pascal/arrays.exp   2016-02-15 23:36:39.359305642 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.pascal/arrays.exp   2017-02-26 19:15:36.605882373 +0100
 @@ -0,0 +1,104 @@
 +# Copyright 2008, 2009 Free Software Foundation, Inc.
 +#
@@ -2660,10 +3595,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.pascal/arrays.exp
 +}
 +gdb_test "print DynArrChar" ".* = 'abcdefghijklm'" "Print dynamic array of char"
 +
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.pascal/arrays.pas
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.pascal/arrays.pas
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.pascal/arrays.pas   2016-02-15 23:35:56.296999895 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.pascal/arrays.pas   2017-02-26 19:15:36.605882373 +0100
 @@ -0,0 +1,82 @@
 +{
 + Copyright 2008, 2009 Free Software Foundation, Inc.
@@ -2747,11 +3682,11 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.pascal/arrays.pas
 +  s := 'test'#0'string';
 +  writeln(s); { set breakpoint 2 here }
 +end.
-Index: gdb-7.10.90.20160211/gdb/testsuite/lib/gdb.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/lib/gdb.exp
 ===================================================================
---- gdb-7.10.90.20160211.orig/gdb/testsuite/lib/gdb.exp        2016-02-15 23:35:55.326993008 +0100
-+++ gdb-7.10.90.20160211/gdb/testsuite/lib/gdb.exp     2016-02-15 23:35:56.297999903 +0100
-@@ -173,6 +173,11 @@
+--- gdb-7.12.50.20170207.orig/gdb/testsuite/lib/gdb.exp        2017-02-26 19:15:28.564824836 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/lib/gdb.exp     2017-02-26 19:15:36.607882387 +0100
+@@ -178,6 +178,11 @@
            send_gdb "y\n"
            exp_continue
        }
@@ -2763,10 +3698,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/lib/gdb.exp
        -re "Discard symbol table from .*y or n.*$" {
            send_gdb "y\n"
            exp_continue
-Index: gdb-7.10.90.20160211/gdb/testsuite/lib/pascal.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/lib/pascal.exp
 ===================================================================
---- gdb-7.10.90.20160211.orig/gdb/testsuite/lib/pascal.exp     2016-02-15 23:33:29.830959972 +0100
-+++ gdb-7.10.90.20160211/gdb/testsuite/lib/pascal.exp  2016-02-15 23:35:56.298999910 +0100
+--- gdb-7.12.50.20170207.orig/gdb/testsuite/lib/pascal.exp     2017-02-26 19:15:28.565824844 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/lib/pascal.exp  2017-02-26 19:15:36.607882387 +0100
 @@ -37,6 +37,9 @@
      global pascal_compiler_is_fpc
      global gpc_compiler
This page took 0.136253 seconds and 4 git commands to generate.