Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(431)

Side by Side Diff: gdb/testsuite/gdb.cp/member-ptr.exp

Issue 11969036: Merge GDB 7.5.1 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@master
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gdb/testsuite/gdb.cp/mb-templates.exp ('k') | gdb/testsuite/gdb.cp/meth-typedefs.exp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 1998-1999, 2003-2004, 2006-2012 Free Software Foundation, 1 # Copyright 1998-1999, 2003-2004, 2006-2012 Free Software Foundation,
2 # Inc. 2 # Inc.
3 3
4 # This file is part of the gdb testsuite 4 # This file is part of the gdb testsuite
5 5
6 # This program is free software; you can redistribute it and/or modify 6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by 7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3 of the License, or 8 # the Free Software Foundation; either version 3 of the License, or
9 # (at your option) any later version. 9 # (at your option) any later version.
10 # 10 #
11 # This program is distributed in the hope that it will be useful, 11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of 12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details. 14 # GNU General Public License for more details.
15 # 15 #
16 # You should have received a copy of the GNU General Public License 16 # You should have received a copy of the GNU General Public License
17 # along with this program. If not, see <http://www.gnu.org/licenses/>. 17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
18 18
19 # Tests for pointer-to-member support 19 # Tests for pointer-to-member support
20 # Written by Satish Pai <pai@apollo.hp.com> 1997-08-19 20 # Written by Satish Pai <pai@apollo.hp.com> 1997-08-19
21 # Rewritten by Michael Chastain <mec.gnu@mindspring.com> 2004-01-11 21 # Rewritten by Michael Chastain <mec.gnu@mindspring.com> 2004-01-11
22 22
23 set vhn "\\$\[0-9\]+" 23 set vhn "\\$\[0-9\]+"
24 24
25 if $tracelevel then {
26 strace $tracelevel
27 }
28
29 if { [skip_cplus_tests] } { continue } 25 if { [skip_cplus_tests] } { continue }
30 26
31 27
32 set testfile "member-ptr" 28 standard_testfile .cc
33 set srcfile ${testfile}.cc
34 set binfile ${objdir}/${subdir}/${testfile}
35 29
36 if [get_compiler_info ${binfile} "c++"] { 30 if [get_compiler_info "c++"] {
37 return -1 31 return -1
38 } 32 }
39 33
40 if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {deb ug c++}] != "" } { 34 if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
41 untested member-ptr.exp 35 return -1
42 return -1
43 } 36 }
44 37
45 gdb_exit
46 gdb_start
47 gdb_reinitialize_dir $srcdir/$subdir
48 gdb_load ${binfile}
49
50 if ![runto_main] then { 38 if ![runto_main] then {
51 perror "couldn't run to breakpoint" 39 perror "couldn't run to breakpoint"
52 continue 40 continue
53 } 41 }
54 42
55 gdb_breakpoint [gdb_get_line_number "Breakpoint 1 here"] 43 gdb_breakpoint [gdb_get_line_number "Breakpoint 1 here"]
56 gdb_continue_to_breakpoint "continue to pmi = NULL" 44 gdb_continue_to_breakpoint "continue to pmi = NULL"
57 45
58 # ====================== 46 # ======================
59 # pointer to member data 47 # pointer to member data
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 # Double-check by printing a. 242 # Double-check by printing a.
255 243
256 set name "print a (j = 33)" 244 set name "print a (j = 33)"
257 gdb_test_multiple "print a" $name { 245 gdb_test_multiple "print a" $name {
258 -re "$vhn = \{c = 120 'x', j = 33, jj = 1331, (static|static int) s = 10, (_ vptr.A|_vptr\\$) = ($hex|$hex <A virtual table>)\}\r\n$gdb_prompt $" { 246 -re "$vhn = \{c = 120 'x', j = 33, jj = 1331, (static|static int) s = 10, (_ vptr.A|_vptr\\$) = ($hex|$hex <A virtual table>)\}\r\n$gdb_prompt $" {
259 pass $name 247 pass $name
260 } 248 }
261 -re "$vhn = \{c = 120 'x', j = 33, jj = 1331, (static|static int) s = 10, Vi rtual table at $hex\}\r\n$gdb_prompt $" { 249 -re "$vhn = \{c = 120 'x', j = 33, jj = 1331, (static|static int) s = 10, Vi rtual table at $hex\}\r\n$gdb_prompt $" {
262 pass $name 250 pass $name
263 } 251 }
264 -re "$vhn = \{(_vptr.A|_vptr\\$) = $hex, c = 120 'x', j = 33, jj = 1331, (st atic|static int) s = 10\}\r\n$gdb_prompt $" { 252 -re "$vhn = \{(_vptr.A|_vptr\\$) = ${hex}( <vtable for A.*>)?, c = 120 'x', j = 33, jj = 1331, (static|static int) s = 10\}\r\n$gdb_prompt $" {
265 pass $name 253 pass $name
266 } 254 }
267 -re "$vhn = \{(_vptr.A|_vptr\\$) = $hex, c = 120 'x', j = 121, jj = 1331, (s tatic|static int) s = 10\}\r\n$gdb_prompt $" { 255 -re "$vhn = \{(_vptr.A|_vptr\\$) = $hex, c = 120 'x', j = 121, jj = 1331, (s tatic|static int) s = 10\}\r\n$gdb_prompt $" {
268 # gcc HEAD 2004-01-10 -gdwarf-2 256 # gcc HEAD 2004-01-10 -gdwarf-2
269 # gcc HEAD 2004-01-10 -gstabs+ 257 # gcc HEAD 2004-01-10 -gstabs+
270 kfail "gdb/NNNN" $name 258 kfail "gdb/NNNN" $name
271 } 259 }
272 } 260 }
273 261
274 # Set the data member pointed to, using ->* 262 # Set the data member pointed to, using ->*
(...skipping 27 matching lines...) Expand all
302 # Double-check by printing a. 290 # Double-check by printing a.
303 291
304 set name "print a (j = 44)" 292 set name "print a (j = 44)"
305 gdb_test_multiple "print a" $name { 293 gdb_test_multiple "print a" $name {
306 -re "$vhn = \{c = 120 'x', j = 44, jj = 1331, (static|static int) s = 10, (_ vptr.A|_vptr\\$) = ($hex|$hex <A virtual table>)\}\r\n$gdb_prompt $" { 294 -re "$vhn = \{c = 120 'x', j = 44, jj = 1331, (static|static int) s = 10, (_ vptr.A|_vptr\\$) = ($hex|$hex <A virtual table>)\}\r\n$gdb_prompt $" {
307 pass $name 295 pass $name
308 } 296 }
309 -re "$vhn = \{c = 120 'x', j = 44, jj = 1331, (static|static int) s = 10, Vi rtual table at $hex\}\r\n$gdb_prompt $" { 297 -re "$vhn = \{c = 120 'x', j = 44, jj = 1331, (static|static int) s = 10, Vi rtual table at $hex\}\r\n$gdb_prompt $" {
310 pass $name 298 pass $name
311 } 299 }
312 -re "$vhn = \{(_vptr.A|_vptr\\$) = $hex, c = 120 'x', j = 44, jj = 1331, (st atic|static int) s = 10\}\r\n$gdb_prompt $" { 300 -re "$vhn = \{(_vptr.A|_vptr\\$) = ${hex}( <vtable for A.*>), c = 120 'x', j = 44, jj = 1331, (static|static int) s = 10\}\r\n$gdb_prompt $" {
313 pass $name 301 pass $name
314 } 302 }
315 -re "$vhn = \{(_vptr.A|_vptr\\$) = $hex, c = 120 'x', j = 121, jj = 1331, (s tatic|static int) s = 10\}\r\n$gdb_prompt $" { 303 -re "$vhn = \{(_vptr.A|_vptr\\$) = $hex, c = 120 'x', j = 121, jj = 1331, (s tatic|static int) s = 10\}\r\n$gdb_prompt $" {
316 # gcc HEAD 2004-01-10 -gdwarf-2 304 # gcc HEAD 2004-01-10 -gdwarf-2
317 # gcc HEAD 2004-01-10 -gstabs+ 305 # gcc HEAD 2004-01-10 -gstabs+
318 kfail "gdb/NNNN" $name 306 kfail "gdb/NNNN" $name
319 } 307 }
320 } 308 }
321 309
322 # ptype the dereferenced pointer to member. 310 # ptype the dereferenced pointer to member.
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
653 "Invalid data type for function to be called\\." 641 "Invalid data type for function to be called\\."
654 642
655 # NULL pointer to member tests. 643 # NULL pointer to member tests.
656 gdb_test "print null_pmi" "$vhn = NULL" 644 gdb_test "print null_pmi" "$vhn = NULL"
657 gdb_test "print null_pmi = &A::j" "$vhn = &A::j" 645 gdb_test "print null_pmi = &A::j" "$vhn = &A::j"
658 gdb_test "print null_pmi = 0" "$vhn = NULL" 646 gdb_test "print null_pmi = 0" "$vhn = NULL"
659 647
660 gdb_test "print null_pmf" "$vhn = NULL" 648 gdb_test "print null_pmf" "$vhn = NULL"
661 gdb_test "print null_pmf = &A::foo" "$vhn = \\(int \\(A::\\*\\)\\(A \\*( const)? , int\\)\\) $hex <A::foo ?\\(int\\)>" 649 gdb_test "print null_pmf = &A::foo" "$vhn = \\(int \\(A::\\*\\)\\(A \\*( const)? , int\\)\\) $hex <A::foo ?\\(int\\)>"
662 gdb_test "print null_pmf = 0" "$vhn = NULL" 650 gdb_test "print null_pmf = 0" "$vhn = NULL"
OLDNEW
« no previous file with comments | « gdb/testsuite/gdb.cp/mb-templates.exp ('k') | gdb/testsuite/gdb.cp/meth-typedefs.exp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698