1# Copyright 1998, 1999, 2003, 2004 Free Software Foundation, Inc. 2 3# This file is part of the gdb testsuite 4 5# This program is free software; you can redistribute it and/or modify 6# it under the terms of the GNU General Public License as published by 7# the Free Software Foundation; either version 2 of the License, or 8# (at your option) any later version. 9# 10# This program is distributed in the hope that it will be useful, 11# but WITHOUT ANY WARRANTY; without even the implied warranty of 12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13# GNU General Public License for more details. 14# 15# You should have received a copy of the GNU General Public License 16# along with this program; if not, write to the Free Software 17# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 19# Tests for pointer-to-member support 20# Written by Satish Pai <pai@apollo.hp.com> 1997-08-19 21# Rewritten by Michael Chastain <mec.gnu@mindspring.com> 2004-01-11 22 23# TODO: copyright notice for member-ptr.cc 24 25set vhn "\\$\[0-9\]+" 26 27if $tracelevel then { 28 strace $tracelevel 29} 30 31if { [skip_cplus_tests] } { continue } 32 33set prms_id 0 34set bug_id 0 35 36set testfile "member-ptr" 37set srcfile ${testfile}.cc 38set binfile ${objdir}/${subdir}/${testfile} 39 40if [get_compiler_info ${binfile} "c++"] { 41 return -1 42} 43 44if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } { 45 gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." 46} 47 48gdb_exit 49gdb_start 50gdb_reinitialize_dir $srcdir/$subdir 51gdb_load ${binfile} 52 53if ![runto_main] then { 54 perror "couldn't run to breakpoint" 55 continue 56} 57 58gdb_breakpoint [gdb_get_line_number "pmi = NULL"] 59gdb_continue_to_breakpoint "continue to pmi = NULL" 60 61# gcc is not ready for production 62# -- chastain 2004-01-12 63 64if { [test_compiler_info "gcc-*"] } { 65 continue 66} 67 68# ====================== 69# pointer to member data 70# ====================== 71 72# ptype on pointer to data member 73 74set name "ptype pmi (A::j)" 75gdb_test_multiple "ptype pmi" $name { 76 -re "type = int *\\( ?A::\\*\\)\r\n$gdb_prompt $" { 77 pass $name 78 } 79 -re "type = int *A::\r\n$gdb_prompt $" { 80 # gcc HEAD 2004-01-10 -gdwarf-2 81 # gcc HEAD 2004-01-10 -gstabs+ 82 kfail "gdb/NNNN" $name 83 } 84} 85 86# print pointer to data member 87 88set name "print pmi (A::j) " 89gdb_test_multiple "print pmi" $name { 90 -re "$vhn = &A::j\r\n$gdb_prompt $" { 91 pass $name 92 } 93 -re "$vhn = \\(int ?\\( ?A::\\*\\)\\) &A::j\r\n$gdb_prompt $" { 94 pass $name 95 } 96 -re "$vhn = \\(int ?\\( ?A::\\*\\)\\) ?&A::j ?\\+ ?1 bytes\r\n$gdb_prompt $" { 97 # gcc 2.95.3 -gdwarf-2 98 kfail "gdb/NNNN" $name 99 } 100 -re "$vhn = &A::j ?\\+ ?1 bytes\r\n$gdb_prompt $" { 101 # gcc 2.95.3 -gstabs+ 102 kfail "gdb/NNNN" $name 103 } 104 -re "$vhn = not implemented: member type in c_val_print\r\n$gdb_prompt $" { 105 # gcc HEAD 2004-01-11 05:33:21 -gdwarf-2 106 # gcc HEAD 2004-01-11 05:33:21 -gstabs+ 107 kfail "gdb/NNNN" $name 108 } 109 -re "$vhn = \\(int ?\\( A::\\*\\)\\) 536870920\r\n$gdb_prompt $" { 110 # the value is 0x20000008 hex. 0x20000000 is an internal flag. 111 # Use '|' to add in more values as needed. 112 # hpacc A.03.45 113 kfail "gdb/NNNN" $name 114 } 115} 116 117# print dereferenced pointer to data member 118 119set name "print a.*pmi (A::j)" 120gdb_test_multiple "print a.*pmi" $name { 121 -re "$vhn = 121\r\n$gdb_prompt $" { 122 pass $name 123 } 124 -re "$vhn = 855638016\r\n$gdb_prompt $" { 125 # gcc 2.95.3 -gdwarf-2 126 # gcc 2.95.3 -gstabs+ 127 kfail "gdb/NNNN" $name 128 } 129 -re "not implemented: member types in unpack_long\r\n$gdb_prompt $" { 130 # gcc HEAD 2004-01-10 -gdwarf-2 131 # gcc HEAD 2004-01-10 -gstabs+ 132 kfail "gdb/NNNN" $name 133 } 134} 135 136# print dereferenced pointer to data member 137# this time, dereferenced through a pointer 138 139set name "print a_p->*pmi (A::j)" 140gdb_test_multiple "print a_p->*pmi" $name { 141 -re "$vhn = 121\r\n$gdb_prompt $" { 142 pass $name 143 } 144 -re "$vhn = 855638016\r\n$gdb_prompt $" { 145 # gcc 2.95.3 -gdwarf-2 146 # gcc 2.95.3 -gstabs+ 147 kfail "gdb/NNNN" $name 148 } 149 -re "not implemented: member types in unpack_long\r\n$gdb_prompt $" { 150 # gcc HEAD 2004-01-10 -gdwarf-2 151 # gcc HEAD 2004-01-10 -gstabs+ 152 kfail "gdb/NNNN" $name 153 } 154} 155 156# set the pointer to a different data member 157 158set name "set var pmi = &A::jj" 159gdb_test_multiple "set var pmi = &A::jj" $name { 160 -re "Invalid cast.\r\n$gdb_prompt $" { 161 # gcc HEAD 2004-01-10 -gdwarf-2 162 # gcc HEAD 2004-01-10 -gstabs+ 163 kfail "gdb/NNNN" $name 164 } 165 -re "set var pmi = &A::jj\r\n$gdb_prompt $" { 166 # I have to match the echo'ed input explicitly here. 167 # If I leave it out, the pattern becomes too general 168 # and matches anything that ends in "$gdb_prompt $". 169 pass $name 170 } 171} 172 173# print the pointer again 174 175set name "print pmi (A::jj)" 176gdb_test_multiple "print pmi" $name { 177 -re "$vhn = &A::jj\r\n$gdb_prompt $" { 178 pass $name 179 } 180 -re "$vhn = \\(int ?\\( ?A::\\*\\)\\) &A::jj\r\n$gdb_prompt $" { 181 pass $name 182 } 183 -re "$vhn = not implemented: member type in c_val_print\r\n$gdb_prompt $" { 184 # gcc HEAD 2004-01-11 05:33:21 -gdwarf-2 185 # gcc HEAD 2004-01-11 05:33:21 -gstabs+ 186 kfail "gdb/NNNN" $name 187 } 188 -re "$vhn = \\(int ?\\( A::\\*\\)\\) 536870924\r\n$gdb_prompt $" { 189 # the value is 0x20000008 hex. 0x20000000 is an internal flag. 190 # Use '|' to add in more values as needed. 191 # hpacc A.03.45 192 kfail "gdb/NNNN" $name 193 } 194} 195 196# print dereferenced pointer to data member again 197 198set name "print a.*pmi (A::jj)" 199gdb_test_multiple "print a.*pmi" $name { 200 -re "$vhn = 1331\r\n$gdb_prompt $" { 201 pass $name 202 } 203 -re "not implemented: member types in unpack_long\r\n$gdb_prompt $" { 204 # gcc HEAD 2004-01-10 -gdwarf-2 205 # gcc HEAD 2004-01-10 -gstabs+ 206 kfail "gdb/NNNN" $name 207 } 208} 209 210# set the pointer to data member back to A::j 211 212set name "set var pmi = &A::j" 213gdb_test_multiple "set var pmi = &A::j" $name { 214 -re "Invalid cast.\r\n$gdb_prompt $" { 215 # gcc HEAD 2004-01-10 -gdwarf-2 216 # gcc HEAD 2004-01-10 -gstabs+ 217 kfail "gdb/NNNN" $name 218 } 219 -re "set var pmi = &A::j\r\n$gdb_prompt $" { 220 # I have to match the echo'ed input explicitly here. 221 # If I leave it out, the pattern becomes too general 222 # and matches anything that ends in "$gdb_prompt $". 223 pass $name 224 } 225} 226 227# print dereferenced pointer to data member yet again (extra check, why not) 228 229set name "print a.*pmi (A::j) (again)" 230gdb_test_multiple "print a.*pmi" $name { 231 -re "$vhn = 121\r\n$gdb_prompt $" { 232 pass $name 233 } 234 -re "not implemented: member types in unpack_long\r\n$gdb_prompt $" { 235 # gcc HEAD 2004-01-10 -gdwarf-2 236 # gcc HEAD 2004-01-10 -gstabs+ 237 kfail "gdb/NNNN" $name 238 } 239} 240 241# Set the data member pointed to. 242 243set name "print a.*pmi = 33" 244gdb_test_multiple "print a.*pmi = 33" $name { 245 -re "$vhn = 33\r\n$gdb_prompt $" { 246 pass $name 247 } 248 -re "not implemented: member types in unpack_long\r\n$gdb_prompt $" { 249 # gcc HEAD 2004-01-10 -gdwarf-2 250 # gcc HEAD 2004-01-10 -gstabs+ 251 kfail "gdb/NNNN" $name 252 } 253} 254 255# Now check that the data really was changed 256 257set name "print a.*pmi (A::j) (33)" 258gdb_test_multiple "print a.*pmi" $name { 259 -re "$vhn = 33\r\n$gdb_prompt $" { 260 pass $name 261 } 262 -re "not implemented: member types in unpack_long\r\n$gdb_prompt $" { 263 # gcc HEAD 2004-01-10 -gdwarf-2 264 # gcc HEAD 2004-01-10 -gstabs+ 265 kfail "gdb/NNNN" $name 266 } 267} 268 269# Double-check by printing a. 270 271set name "print a (j = 33)" 272gdb_test_multiple "print a" $name { 273 -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 $" { 274 pass $name 275 } 276 -re "$vhn = \{c = 120 'x', j = 33, jj = 1331, (static|static int) s = 10, Virtual table at $hex\}\r\n$gdb_prompt $" { 277 pass $name 278 } 279 -re "$vhn = \{(_vptr.A|_vptr\\$) = $hex, c = 120 'x', j = 33, jj = 1331, (static|static int) s = 10\}\r\n$gdb_prompt $" { 280 pass $name 281 } 282 -re "$vhn = \{(_vptr.A|_vptr\\$) = $hex, c = 120 'x', j = 121, jj = 1331, (static|static int) s = 10\}\r\n$gdb_prompt $" { 283 # gcc HEAD 2004-01-10 -gdwarf-2 284 # gcc HEAD 2004-01-10 -gstabs+ 285 kfail "gdb/NNNN" $name 286 } 287} 288 289# Set the data member pointed to, using ->* 290 291set name "print a_p->*pmi = 44" 292gdb_test_multiple "print a_p->*pmi = 44" $name { 293 -re "$vhn = 44\r\n$gdb_prompt $" { 294 pass $name 295 } 296 -re "not implemented: member types in unpack_long\r\n$gdb_prompt $" { 297 # gcc HEAD 2004-01-10 -gdwarf-2 298 # gcc HEAD 2004-01-10 -gstabs+ 299 kfail "gdb/NNNN" $name 300 } 301} 302 303# Check that the data really was changed 304 305set name "print a_p->*pmi (44)" 306gdb_test_multiple "print a_p->*pmi" $name { 307 -re "$vhn = 44\r\n$gdb_prompt $" { 308 pass $name 309 } 310 -re "not implemented: member types in unpack_long\r\n$gdb_prompt $" { 311 # gcc HEAD 2004-01-10 -gdwarf-2 312 # gcc HEAD 2004-01-10 -gstabs+ 313 kfail "gdb/NNNN" $name 314 } 315} 316 317# Double-check by printing a. 318 319set name "print a (j = 44)" 320gdb_test_multiple "print a" $name { 321 -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 $" { 322 pass $name 323 } 324 -re "$vhn = \{c = 120 'x', j = 44, jj = 1331, (static|static int) s = 10, Virtual table at $hex\}\r\n$gdb_prompt $" { 325 pass $name 326 } 327 -re "$vhn = \{(_vptr.A|_vptr\\$) = $hex, c = 120 'x', j = 44, jj = 1331, (static|static int) s = 10\}\r\n$gdb_prompt $" { 328 pass $name 329 } 330 -re "$vhn = \{(_vptr.A|_vptr\\$) = $hex, c = 120 'x', j = 121, jj = 1331, (static|static int) s = 10\}\r\n$gdb_prompt $" { 331 # gcc HEAD 2004-01-10 -gdwarf-2 332 # gcc HEAD 2004-01-10 -gstabs+ 333 kfail "gdb/NNNN" $name 334 } 335} 336 337# ptype the dereferenced pointer to member. 338 339set name "ptype a.*pmi" 340gdb_test_multiple "ptype a.*pmi" $name { 341 -re "type = int\r\n$gdb_prompt" { 342 pass $name 343 } 344 -re "not implemented: member types in unpack_long\r\n$gdb_prompt $" { 345 # gcc HEAD 2004-01-10 -gdwarf-2 346 # gcc HEAD 2004-01-10 -gstabs+ 347 kfail "gdb/NNNN" $name 348 } 349} 350 351# dereference the pointer to data member without any object 352# this is not allowed: a pmi must be bound to an object to dereference 353 354set name "print *pmi" 355gdb_test_multiple "print *pmi" $name { 356 -re "Attempt to dereference pointer to member without an object\r\n$gdb_prompt $" { 357 pass $name 358 } 359 -re "Cannot access memory at address 0x4\r\n$gdb_prompt $" { 360 # gcc 2.95.3 -gstabs+ 361 kfail "gdb/NNNN" $name 362 } 363 -re "Cannot access memory at address 0x8\r\n$gdb_prompt $" { 364 # gcc 3.3.2 -gdwarf-2 365 # gcc 3.3.2 -gstabs+ 366 kfail "gdb/NNNN" $name 367 } 368} 369 370# dereference the pointer to data member without any object 371# this is not allowed: a pmi must be bound to an object to dereference 372 373set name "ptype *pmi" 374gdb_test_multiple "ptype *pmi" $name { 375 -re "Attempt to dereference pointer to member without an object\r\n$gdb_prompt $" { 376 pass $name 377 } 378 -re "type = int A::\r\n$gdb_prompt $" { 379 # gcc 2.95.3 -gstabs+ 380 # gcc HEAD 2004-01-10 -gdwarf-2 381 # gcc HEAD 2004-01-10 -gstabs+ 382 kfail "gdb/NNNN" $name 383 } 384} 385 386# Check cast of pointer to member to integer. 387# This is similar to "offset-of". 388# such as "A a; print (size_t) &A.j - (size_t) &A". 389 390set name "print (int) pmi" 391gdb_test_multiple "print (int) pmi" $name { 392 -re "$vhn = (4|8)\r\n$gdb_prompt" { 393 pass $name 394 } 395} 396 397# Check "(int) pmi" explicitly for equality. 398 399set name "print ((int) pmi) == ((char *) &a.j - (char *) &a)" 400gdb_test_multiple "print ((int) pmi) == ((char *) &a.j - (char *) & a)" $name { 401 -re "$vhn = true\r\n$gdb_prompt" { 402 pass $name 403 } 404} 405 406# ========================== 407# pointer to member function 408# ========================== 409 410# ptype a pointer to a method 411 412set name "ptype pmf" 413gdb_test_multiple "ptype pmf" $name { 414 -re "type = int \\( ?A::\\*\\)\\(int\\)\r\n$gdb_prompt $" { 415 pass $name 416 } 417 -re "type = int \\( ?A::\\*\\)\\(void\\)\r\n$gdb_prompt $" { 418 # hpacc A.03.45 419 kfail "gdb/NNNN" $name 420 } 421 -re "type = struct \{.*\}\r\n$gdb_prompt $" { 422 # gcc 2.95.3 -gdwarf-2 423 # gcc 2.95.3 -gstabs+ 424 # gcc 3.2.2 -gdwarf-2 425 # gcc 3.2.2 -gstabs+ 426 # gcc HEAD 2004-01-10 -gdwarf-2 427 # gcc HEAD 2004-01-10 -gstabs+ 428 kfail "gdb/NNNN" $name 429 } 430} 431 432# print a pointer to a method 433 434set name "print pmf" 435gdb_test_multiple "print pmf" $name { 436 -re "$vhn = &A::bar\r\n$gdb_prompt $" { 437 pass $name 438 } 439 -re "$vhn = .*not supported with HP aCC.*\r\n$gdb_prompt $" { 440 # hpacc A.03.45 441 kfail "gdb/NNNN" $name 442 } 443 -re "$vhn = \{.*\}\r\n$gdb_prompt $" { 444 # gcc 2.95.3 -gdwarf-2 445 # gcc 2.95.3 -gstabs+ 446 # gcc 3.2.2 -gdwarf-2 447 # gcc 3.2.2 -gstabs+ 448 # gcc HEAD 2004-01-10 -gdwarf-2 449 # gcc HEAD 2004-01-10 -gstabs+ 450 kfail "gdb/NNNN" $name 451 } 452} 453 454# ptype a pointer to a pointer to a method 455 456set name "ptype pmf_p" 457gdb_test_multiple "ptype pmf_p" $name { 458 -re "type = int \\( ?A::\\*\\*\\)\\(int\\)\r\n$gdb_prompt $" { 459 pass $name 460 } 461 -re "type = int \\( ?A::\\*\\*\\)\\(void\\)\r\n$gdb_prompt $" { 462 # hpacc A.03.45 463 kfail "gdb/NNNN" $name 464 } 465 -re "type = struct \{.*\} \\*\r\n$gdb_prompt $" { 466 # gcc 2.95.3 -gdwarf-2 467 # gcc 2.95.3 -gstabs+ 468 # gcc 3.2.2 -gdwarf-2 469 # gcc 3.2.2 -gstabs+ 470 # gcc HEAD 2004-01-10 -gdwarf-2 471 # gcc HEAD 2004-01-10 -gstabs+ 472 kfail "gdb/NNNN" $name 473 } 474} 475 476# print a pointer to a pointer to a method 477 478set name "print pmf_p" 479gdb_test_multiple "print pmf_p" $name { 480 -re "$vhn = \\(int \\( ?A::\\*\\*\\)\\)\\(int\\)\\) $hex\r\n$gdb_prompt $" { 481 pass $name 482 } 483 -re "$vhn = \\(PMF \\*\\) $hex\r\n$gdb_prompt $" { 484 pass "gdb/NNNN" 485 } 486 -re "$vhn = \\(int \\( ?A::\\*\\*\\)\\(void\\)\\) $hex\r\n$gdb_prompt $" { 487 # hpacc A.03.45 488 kfail "gdb/NNNN" $name 489 } 490 -re "$vhn = \\(struct \{.*\} \\*\\) $hex\r\n$gdb_prompt $" { 491 # gcc 2.95.3 -gdwarf-2 492 kfail "gdb/NNNN" $name 493 } 494} 495 496# print dereferenced pointer to method 497 498set name "print a.*pmf" 499gdb_test_multiple "print a.*pmf" $name { 500 -re "$vhn = \\(int \\(\\*\\)\\(int\\)\\) $hex <A::bar\\(int\\)>\r\n$gdb_prompt$ " { 501 pass $name 502 } 503 -re "Pointers to methods not supported with HP aCC\r\n$gdb_prompt $" { 504 # hpacc A.03.45 505 kfail "gdb/NNNN" $name 506 } 507 -re "Value can't be converted to integer.\r\n$gdb_prompt $" { 508 # gcc 2.95.3 -gdwarf-2 509 # gcc 2.95.3 -gstabs+ 510 # gcc 3.2.2 -gdwarf-2 511 # gcc 3.2.2 -gstabs+ 512 # gcc HEAD 2004-01-10 -gdwarf-2 513 # gcc HEAD 2004-01-10 -gstabs+ 514 kfail "gdb/NNNN" $name 515 } 516} 517 518# print dereferenced pointer to method, using ->* 519 520set name "print a_p->*pmf" 521gdb_test_multiple "print a_p->*pmf" $name { 522 -re "$vhn = \\(int \\(\\*\\)\\(int\\)\\) $hex <A::bar\\(int\\)>\r\n$gdb_prompt$ " { 523 pass $name 524 } 525 -re "Pointers to methods not supported with HP aCC\r\n$gdb_prompt $" { 526 # hpacc A.03.45 527 kfail "gdb/NNNN" $name 528 } 529 -re "Value can't be converted to integer.\r\n$gdb_prompt $" { 530 # gcc 2.95.3 -gdwarf-2 531 # gcc 2.95.3 -gstabs+ 532 # gcc 3.2.2 -gdwarf-2 533 # gcc 3.2.2 -gstabs+ 534 # gcc HEAD 2004-01-10 -gdwarf-2 535 # gcc HEAD 2004-01-10 -gstabs+ 536 kfail "gdb/NNNN" $name 537 } 538} 539 540# set the pointer to data member 541 542set name "set var pmf = &A::foo" 543gdb_test_multiple "set var pmf = &A::foo" $name { 544 -re "set var pmf = &A::foo\r\n$gdb_prompt $" { 545 # I have to match the echo'ed input explicitly here. 546 # If I leave it out, the pattern becomes too general 547 # and matches anything that ends in "$gdb_prompt $". 548 pass $name 549 } 550 -re "Invalid cast.\r\n$gdb_prompt $" { 551 # gcc 2.95.3 -gdwarf-2 552 # gcc 2.95.3 -gstabs+ 553 # gcc 3.2.2 -gdwarf-2 554 # gcc 3.2.2 -gstabs+ 555 # gcc HEAD 2004-01-10 -gdwarf-2 556 # gcc HEAD 2004-01-10 -gstabs+ 557 kfail "gdb/NNNN" $name 558 } 559 -re "Assignment to pointers to methods not implemented with HP aCC\r\n$gdb_prompt $" { 560 kfail "gdb/NNNN" $name 561 } 562} 563 564# dereference the pointer to data member without any object 565# this is not allowed: a pmf must be bound to an object to dereference 566 567set name "print *pmf" 568gdb_test_multiple "print *pmf" $name { 569 -re "Attempt to dereference pointer to member without an object\r\n$gdb_prompt $" { 570 pass $name 571 } 572 -re "Structure has no component named operator\\*.\r\n$gdb_prompt $" { 573 # gcc 2.95.3 -gdwarf-2 574 # gcc 2.95.3 -gstabs+ 575 # gcc 3.3.2 -gdwarf-2 576 # gcc 3.3.2 -gstabs+ 577 # gcc HEAD 2004-01-10 -gdwarf-2 578 # gcc HEAD 2004-01-10 -gstabs+ 579 kfail "gdb/NNNN" $name 580 } 581} 582 583# dereference the pointer to data member without any object 584# this is not allowed: a pmf must be bound to an object to dereference 585 586set name "ptype *pmf" 587gdb_test_multiple "ptype *pmf" $name { 588 -re "Attempt to dereference pointer to member without an object\r\n$gdb_prompt $" { 589 pass $name 590 } 591 -re "Structure has no component named operator\\*.\r\n$gdb_prompt $" { 592 # gcc 2.95.3 -gdwarf-2 593 # gcc 2.95.3 -gstabs+ 594 # gcc 3.3.2 -gdwarf-2 595 # gcc 3.3.2 -gstabs+ 596 # gcc HEAD 2004-01-10 -gdwarf-2 597 # gcc HEAD 2004-01-10 -gstabs+ 598 kfail "gdb/NNNN" $name 599 } 600} 601 602# Call a function through a pmf. 603 604set name "print (a.*pmf)(3)" 605gdb_test_multiple "print (a.*pmf)(3)" $name { 606 -re "$vhn = 50\r\n$gdb_prompt $" { 607 pass $name 608 } 609 -re "Not implemented: function invocation through pointer to method with HP aCC\r\n$gdb_prompt $" { 610 # hpacc A.03.45 611 kfail "gdb/NNNN" $name 612 } 613 -re "Value can't be converted to integer.\r\n$gdb_prompt $" { 614 # gcc 2.95.3 -gdwarf-2 615 # gcc 2.95.3 -gstabs+ 616 # gcc 3.3.2 -gdwarf-2 617 # gcc 3.3.2 -gstabs+ 618 # gcc HEAD 2004-01-10 -gdwarf-2 619 # gcc HEAD 2004-01-10 -gstabs+ 620 kfail "gdb/NNNN" $name 621 } 622} 623