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

Side by Side Diff: gdb/testsuite/gdb.cp/templates.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/templates.cc ('k') | gdb/testsuite/gdb.cp/try_catch.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 1992, 1994-1997, 1999-2000, 2002-2004, 2007-2012 Free 1 # Copyright 1992, 1994-1997, 1999-2000, 2002-2004, 2007-2012 Free
2 # Software Foundation, Inc. 2 # Software Foundation, Inc.
3 3
4 # This program is free software; you can redistribute it and/or modify 4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by 5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 3 of the License, or 6 # the Free Software Foundation; either version 3 of the License, or
7 # (at your option) any later version. 7 # (at your option) any later version.
8 # 8 #
9 # This program is distributed in the hope that it will be useful, 9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details. 12 # GNU General Public License for more details.
13 # 13 #
14 # You should have received a copy of the GNU General Public License 14 # You should have received a copy of the GNU General Public License
15 # along with this program. If not, see <http://www.gnu.org/licenses/>. 15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
16 16
17 # This file was written by Fred Fish. (fnf@cygnus.com) 17 # This file was written by Fred Fish. (fnf@cygnus.com)
18 18
19 set ws "\[\r\n\t \]+" 19 set ws "\[\r\n\t \]+"
20 20
21 if $tracelevel then {
22 strace $tracelevel
23 }
24
25 if { [skip_cplus_tests] } { continue } 21 if { [skip_cplus_tests] } { continue }
26 22
27 set testfile "templates" 23 standard_testfile .cc
28 set srcfile ${testfile}.cc
29 set binfile ${objdir}/${subdir}/${testfile}
30 24
31 # Create and source the file that provides information about the compiler 25 # Create and source the file that provides information about the compiler
32 # used to compile the test case. 26 # used to compile the test case.
33 if [get_compiler_info ${binfile} "c++"] { 27 if [get_compiler_info "c++"] {
34 return -1 28 return -1
35 } 29 }
36 30
37 if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {deb ug c++}] != "" } { 31 if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
38 untested templates.exp 32 return -1
39 return -1
40 } 33 }
41 34
42 # 35 #
43 # Test printing of the types of templates. 36 # Test printing of the types of templates.
44 # 37 #
45 38
46 proc test_ptype_of_templates {} { 39 proc test_ptype_of_templates {} {
47 global gdb_prompt 40 global gdb_prompt
48 global ws 41 global ws
49 42
50 gdb_test_multiple "ptype T5<int>" "ptype T5<int>" { 43 gdb_test_multiple "ptype T5<int>" "ptype T5<int>" {
51 -re "type = class T5<int> \{${ws}public:${ws}static int X;${ws}int x;${w s}int val;${ws}T5<int> & operator=\\(T5<int> const ?&\\);${ws}T5\\(int\\);${ws}T 5\\((T5<int> const|const T5<int>) ?&\\);${ws}~T5\\((void|)\\);${ws}static void \ \* operator new\\(unsigned( int| long)?\\);${ws}static void operator delete\\(vo id ?\\*\\);${ws}int value\\((void|)\\);${ws}\}\r\n$gdb_prompt $" { 44 -re "type = class T5<int> \{${ws}public:${ws}static int X;${ws}int x;${w s}int val;${ws}T5<int> & operator=\\(T5<int> const ?&\\);${ws}T5\\(int\\);${ws}T 5\\((T5<int> const|const T5<int>) ?&\\);${ws}~T5\\((void|)\\);${ws}static void \ \* operator new\\(unsigned( int| long)?\\);${ws}static void operator delete\\(vo id ?\\*\\);${ws}int value\\((void|)\\);${ws}\}\r\n$gdb_prompt $" {
52 » pass "ptype T5<int>" 45 » xfail "ptype T5<int> -- new without size_t"
53 } 46 }
54 -re "type = class T5<int> \{${ws}public:${ws}static int X;${ws}int x;${w s}int val;${ws}T5\\(int\\);${ws}T5\\((T5<int> const|const T5<int>) ?&\\);${ws}~T 5\\((void|)\\);${ws}static void \\* operator new\\(unsigned( int| long)?\\);${ws }static void operator delete\\(void ?\\*\\);${ws}int value\\((void|)\\);${ws}T5< int> & operator=\\(T5<int> const ?&\\);${ws}\}\r\n$gdb_prompt $" { 47 -re "type = class T5<int> \{${ws}public:${ws}static int X;${ws}int x;${w s}int val;${ws}T5\\(int\\);${ws}T5\\((T5<int> const|const T5<int>) ?&\\);${ws}~T 5\\((void|)\\);${ws}static void \\* operator new\\(unsigned( int| long)?\\);${ws }static void operator delete\\(void ?\\*\\);${ws}int value\\((void|)\\);${ws}T5< int> & operator=\\(T5<int> const ?&\\);${ws}\}\r\n$gdb_prompt $" {
55 » pass "ptype T5<int>" 48 » xfail "ptype T5<int> -- new without size_t"
56 } 49 }
57 -re "type = class T5<int> \\{${ws}public:${ws}static int X;${ws}int x;${ ws}int val;${ws}${ws}T5 \\(int\\);${ws}T5 \\(const class T5<int> &\\);${ws}void ~T5 \\(int\\);${ws}static void \\* new \\(unsigned int\\);${ws}static void delet e \\(void ?\\*\\);${ws}int value \\((void|)\\);${ws}\\}${ws}$gdb_prompt $" { 50 -re "type = class T5<int> \\{${ws}public:${ws}static int X;${ws}int x;${ ws}int val;${ws}${ws}T5 \\(int\\);${ws}T5 \\(const class T5<int> &\\);${ws}void ~T5 \\(int\\);${ws}static void \\* new \\(unsigned int\\);${ws}static void delet e \\(void ?\\*\\);${ws}int value \\((void|)\\);${ws}\\}${ws}$gdb_prompt $" {
58 » pass "ptype T5<int> -- new with unsigned int" 51 » xfail "ptype T5<int> -- new with unsigned int"
59 } 52 }
60 -re "type = class T5<int> \\{.*public:.*static int X;.*int x;.*int val;. *T5 \\(int\\);.*T5 \\(const class T5<int> &\\);.*void ~T5 \\(int\\);.*static voi d \\* new \\(unsigned long\\);.*static void delete \\(void ?\\*\\);.*int value \ \((void|)\\);.*\\}\r\n$gdb_prompt $" { 53 -re "type = class T5<int> \\{.*public:.*static int X;.*int x;.*int val;. *T5 \\(int\\);.*T5 \\(const class T5<int> &\\);.*void ~T5 \\(int\\);.*static voi d \\* new \\(unsigned long\\);.*static void delete \\(void ?\\*\\);.*int value \ \((void|)\\);.*\\}\r\n$gdb_prompt $" {
61 » pass "ptype T5<int> -- new with unsigned long" 54 » xfail "ptype T5<int> -- new with unsigned long"
62 } 55 }
63 -re "type = class T5<int> \{${ws}public:${ws}static int X;${ws}int x;${w s}int val;((${ws}T5<int> & operator=\\(T5<int> const ?&\\);)|(${ws}T5\\(int\\);) |(${ws}T5\\((T5<int> const|const T5<int>) ?&\\);)|(${ws}~T5\\((void|)\\);)|(${ws }static void \\* operator new\\(unsigned( int| long)?\\);)|(${ws}static void ope rator delete\\(void ?\\*\\);)|(${ws}int value\\((void|)\\);))*${ws}\}\r\n$gdb_pr ompt $" { 56 -re "type = class T5<int> \{${ws}public:${ws}static int X;${ws}int x;${w s}int val;((${ws}T5<int> & operator=\\(T5<int> const ?&\\);)|(${ws}T5\\(int\\);) |(${ws}T5\\((T5<int> const|const T5<int>) ?&\\);)|(${ws}~T5\\((void|)\\);)|(${ws }static void \\* operator new\\(unsigned( int| long)?\\);)|(${ws}static void ope rator delete\\(void ?\\*\\);)|(${ws}int value\\((void|)\\);))*${ws}\}\r\n$gdb_pr ompt $" {
64 » pass "ptype T5<int> (obsolescent gcc or gdb)" 57 » xfail "ptype T5<int> (obsolescent gcc or gdb)"
65 } 58 }
66 » -re "type = class T5<int> \{${ws}public:${ws}static int X;${ws}int x;${w s}int val;${ws}void T5\\(int\\);${ws}void T5\\((T5<int> const|const T5<int>) ?&\ \);${ws}~T5\\(int\\);${ws}static void \\* operator new\\(unsigned( int| long|)\\ );${ws}static void operator delete\\(void ?\\*\\);${ws}int value\\((void|)\\);${ ws}\}\r\n$gdb_prompt $" { 59 » -re "type = class T5<int> \{${ws}public:${ws}static int X;${ws}int x;${w s}int val;${ws}void T5\\(int\\);${ws}void T5\\((T5<int> const|const T5<int>) ?&\ \);${ws}~T5\\(int\\);${ws}static void \\* operator new\\((size_t|unsigned( int| long|))\\);${ws}static void operator delete\\(void ?\\*\\);${ws}int value\\((voi d|)\\);${ws}\}\r\n$gdb_prompt $" {
67 # This also triggers gdb/1113... 60 # This also triggers gdb/1113...
68 kfail "gdb/1111" "ptype T5<int>" 61 kfail "gdb/1111" "ptype T5<int>"
62 # Add here a PASS case when PR gdb/1111 gets fixed.
69 } 63 }
70 } 64 }
71 65
72 gdb_test_multiple "ptype t5i" "ptype t5i" { 66 gdb_test_multiple "ptype t5i" "ptype t5i" {
73 -re "type = class T5<int> \\{${ws}public:${ws}static int X;${ws}int x;${ ws}int val;\r\n${ws}T5\\(int\\);${ws}T5\\(T5<int> const ?&\\);${ws}~T5\\((void|) \\);${ws}static void \\* operator new\\(unsigned( int| long)?\\);${ws}static voi d operator delete\\(void ?\\*\\);${ws}int value\\((void|)\\);${ws}\\}\r\n$gdb_pr ompt $" { 67 -re "type = class T5<int> \\{${ws}public:${ws}static int X;${ws}int x;${ ws}int val;\r\n${ws}T5\\(int\\);${ws}T5\\(T5<int> const ?&\\);${ws}~T5\\((void|) \\);${ws}static void \\* operator new\\(unsigned( int| long)?\\);${ws}static voi d operator delete\\(void ?\\*\\);${ws}int value\\((void|)\\);${ws}\\}\r\n$gdb_pr ompt $" {
74 » pass "ptype T5<int> -- with several fixes from 4.17" 68 » xfail "ptype T5<int> -- with several fixes from 4.17 -- without size _t"
75 } 69 }
76 -re "type = class T5<int> \\{${ws}public:${ws}static int X;${ws}int x;${ ws}int val;\r\n${ws}T5 \\(int\\);${ws}T5 \\(const class T5<int> &\\);${ws}void ~ T5 \\(int\\);${ws}static void \\* new \\(unsigned int\\);${ws}static void delete \\(void ?\\*\\);${ws}int value \\((void|)\\);${ws}\\}\r\n$gdb_prompt $" { 70 -re "type = class T5<int> \\{${ws}public:${ws}static int X;${ws}int x;${ ws}int val;\r\n${ws}T5 \\(int\\);${ws}T5 \\(const class T5<int> &\\);${ws}void ~ T5 \\(int\\);${ws}static void \\* new \\(unsigned int\\);${ws}static void delete \\(void ?\\*\\);${ws}int value \\((void|)\\);${ws}\\}\r\n$gdb_prompt $" {
77 » pass "ptype t5i<int> -- new with unsigned int" 71 » xfail "ptype t5i<int> -- new with unsigned int -- without size_t"
78 } 72 }
79 -re "type = class T5<int> \\{${ws}public:${ws}static int X;${ws}int x;${ ws}int val;\r\n${ws}T5 \\(int\\);${ws}T5 \\(const class T5<int> &\\);${ws}void ~ T5 \\(int\\);${ws}static void \\* new \\(unsigned long\\);${ws}static void delet e \\(void ?\\*\\);${ws}int value \\((void|)\\);${ws}\\}\r\n$gdb_prompt $" { 73 -re "type = class T5<int> \\{${ws}public:${ws}static int X;${ws}int x;${ ws}int val;\r\n${ws}T5 \\(int\\);${ws}T5 \\(const class T5<int> &\\);${ws}void ~ T5 \\(int\\);${ws}static void \\* new \\(unsigned long\\);${ws}static void delet e \\(void ?\\*\\);${ws}int value \\((void|)\\);${ws}\\}\r\n$gdb_prompt $" {
80 » pass "ptype t5i<int> -- new with unsigned long" 74 » xfail "ptype t5i<int> -- new with unsigned long -- without size_t"
81 } 75 }
82 -re "type = class T5<int> \{.*public:.*static int X;.*int x;.*int val;.* .*T5 \\(int\\);.*.*void ~T5 \\(int\\).*.*.*int value \\((void|)\\);.*\}.*$gdb_pr ompt $" { 76 -re "type = class T5<int> \{.*public:.*static int X;.*int x;.*int val;.* .*T5 \\(int\\);.*.*void ~T5 \\(int\\).*.*.*int value \\((void|)\\);.*\}.*$gdb_pr ompt $" {
83 pass "ptype t5i" 77 xfail "ptype t5i -- without size_t"
84 } 78 }
85 -re "type = class T5<int> \{${ws}public:${ws}static int X;${ws}int x;${w s}int val;${ws}T5<int> & operator=\\(T5<int> const ?&\\);${ws}T5\\(int\\);${ws}T 5\\((T5<int> const|const T5<int>) ?&\\);${ws}~T5\\((void|)\\);${ws}static void \ \* operator new\\(unsigned( int| long)?\\);${ws}static void operator delete\\(vo id ?\\*\\);${ws}int value\\((void|)\\);${ws}\}\r\n$gdb_prompt $" { 79 -re "type = class T5<int> \{${ws}public:${ws}static int X;${ws}int x;${w s}int val;${ws}T5<int> & operator=\\(T5<int> const ?&\\);${ws}T5\\(int\\);${ws}T 5\\((T5<int> const|const T5<int>) ?&\\);${ws}~T5\\((void|)\\);${ws}static void \ \* operator new\\(unsigned( int| long)?\\);${ws}static void operator delete\\(vo id ?\\*\\);${ws}int value\\((void|)\\);${ws}\}\r\n$gdb_prompt $" {
86 » pass "ptype t5i" 80 » xfail "ptype t5i -- without size_t"
87 } 81 }
88 -re "type = class T5<int> \{${ws}public:${ws}static int X;${ws}int x;${w s}int val;${ws}T5\\(int\\);${ws}T5\\((T5<int> const|const T5<int>) ?&\\);${ws}~T 5\\((void|)\\);${ws}static void \\* operator new\\(unsigned( int| long)?\\);${ws }static void operator delete\\(void ?\\*\\);${ws}int value\\((void|)\\);${ws}T5< int> & operator=\\(T5<int> const ?&\\);${ws}\}\r\n$gdb_prompt $" { 82 -re "type = class T5<int> \{${ws}public:${ws}static int X;${ws}int x;${w s}int val;${ws}T5\\(int\\);${ws}T5\\((T5<int> const|const T5<int>) ?&\\);${ws}~T 5\\((void|)\\);${ws}static void \\* operator new\\(unsigned( int| long)?\\);${ws }static void operator delete\\(void ?\\*\\);${ws}int value\\((void|)\\);${ws}T5< int> & operator=\\(T5<int> const ?&\\);${ws}\}\r\n$gdb_prompt $" {
89 » pass "ptype t5i" 83 » xfail "ptype t5i -- without size_t"
90 } 84 }
91 -re "type = class T5<int> \{${ws}public:${ws}static int X;${ws}int x;${w s}int val;((${ws}T5<int> & operator=\\(T5<int> const ?&\\);)|(${ws}T5\\(int\\);) |(${ws}T5\\(T5<int> const ?&\\);)|(${ws}~T5\\((void|)\\);)|(${ws}static void \\* operator new\\(unsigned( int| long)?\\);)|(${ws}static void operator delete\\(v oid ?\\*\\);)|(${ws}int value\\((void|)\\);))*${ws}\}\r\n$gdb_prompt $" { 85 -re "type = class T5<int> \{${ws}public:${ws}static int X;${ws}int x;${w s}int val;((${ws}T5<int> & operator=\\(T5<int> const ?&\\);)|(${ws}T5\\(int\\);) |(${ws}T5\\(T5<int> const ?&\\);)|(${ws}~T5\\((void|)\\);)|(${ws}static void \\* operator new\\(unsigned( int| long)?\\);)|(${ws}static void operator delete\\(v oid ?\\*\\);)|(${ws}int value\\((void|)\\);))*${ws}\}\r\n$gdb_prompt $" {
92 » pass "ptype t5i (obsolescent gcc or gdb)" 86 » xfail "ptype t5i (obsolescent gcc or gdb) -- without size_t"
93 } 87 }
94 » -re "type = class T5<int> \{${ws}public:${ws}static int X;${ws}int x;${w s}int val;${ws}void T5\\(int\\);${ws}void T5\\((T5<int> const|const T5<int>) ?&\ \);${ws}~T5\\(int\\);${ws}static void \\* operator new\\(unsigned( int| long|)\\ );${ws}static void operator delete\\(void ?\\*\\);${ws}int value\\((void|)\\);${ ws}\}\r\n$gdb_prompt $" { 88 » -re "type = class T5<int> \{${ws}public:${ws}static int X;${ws}int x;${w s}int val;${ws}void T5\\(int\\);${ws}void T5\\((T5<int> const|const T5<int>) ?&\ \);${ws}~T5\\(int\\);${ws}static void \\* operator new\\((size_t|unsigned( int| long|))\\);${ws}static void operator delete\\(void ?\\*\\);${ws}int value\\((voi d|)\\);${ws}\}\r\n$gdb_prompt $" {
95 # This also triggers gdb/1113... 89 # This also triggers gdb/1113...
96 kfail "gdb/1111" "ptype T5<int>" 90 kfail "gdb/1111" "ptype T5<int>"
91 # Add here a PASS case when PR gdb/1111 gets fixed.
97 } 92 }
98 } 93 }
99 } 94 }
100 95
101 # 96 #
102 # Test breakpoint setting on template methods. 97 # Test breakpoint setting on template methods.
103 # 98 #
104 99
105 proc test_template_breakpoints {} { 100 proc test_template_breakpoints {} {
106 global gdb_prompt 101 global gdb_prompt
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 fail "print t5i.value()" 188 fail "print t5i.value()"
194 } 189 }
195 -re "Cannot resolve .* to any overloaded instance.*$gdb_prompt $" { 190 -re "Cannot resolve .* to any overloaded instance.*$gdb_prompt $" {
196 setup_xfail hppa*-*-* CLLbs16899 191 setup_xfail hppa*-*-* CLLbs16899
197 xfail "print t5i.value" 192 xfail "print t5i.value"
198 } 193 }
199 } 194 }
200 } 195 }
201 196
202 proc test_template_typedef {} { 197 proc test_template_typedef {} {
198 global gdb_prompt
203 199
204 gdb_test "print intBazOne::baz" ".*baz\\(int, int\\)>" \ 200 gdb_test "print intBazOne::baz" ".*baz\\(int, int\\)>" \
205 "print method of template typedef" 201 "print method of template typedef"
206 202
207 gdb_test "print intBazOne::~Baz" ".*~Baz(\\(\\))?>" \ 203 set test "print destructor of template typedef"
208 » "print destructor of template typedef" 204 gdb_test_multiple "print intBazOne::~Baz" $test {
205 » -re "~Baz(\\(\\))?>\r\n$gdb_prompt $" {
206 » pass $test
207 » }
208 » -re "There is no field named ~Baz\r\n$gdb_prompt $" {
209 » set test2 "verify GCC PR debug/51668"
210 » gdb_test_multiple "whatis intBazOne" $test2 {
211 » » -re "type = Baz<int, \\(char\\)'\\\\001'>\r\n$gdb_prompt $" {
212 » » setup_xfail gcc/51668 "*-*-*"
213 » » xfail $test
214 » » pass $test2
215 » » }
216 » » -re "\r\n$gdb_prompt $" {
217 » » # Some unexpected response.
218 » » fail $test
219 » » fail $test2
220 » » }
221 » }
222 » }
223 }
209 } 224 }
210 225
211 proc test_template_args {} { 226 proc test_template_args {} {
212 227
213 set empty_re "Empty *<void *\\(FunctionArg *<int>\\)>" 228 set empty_re "Empty *<void *\\(FunctionArg *<int>\\)>"
214 gdb_test "ptype empty" \ 229 gdb_test "ptype empty" \
215 "type = (struct|class) $empty_re {.*<no data fields>.*}" 230 "type = (struct|class) $empty_re {.*<no data fields>.*}"
216 231
217 gdb_test "ptype arg" \ 232 gdb_test "ptype arg" \
218 "type = (struct|class) FunctionArg<int> {.*int method\\($empty_re \\&\\) ;.*}" 233 "type = (struct|class) FunctionArg<int> {.*int method\\($empty_re \\&\\) ;.*}"
219 } 234 }
220 235
221 proc do_tests {} { 236 proc do_tests {} {
222 global subdir
223 global objdir
224 global srcdir
225 global binfile
226 global gdb_prompt
227
228
229 # Start with a fresh gdb.
230
231 gdb_exit
232 gdb_start
233 gdb_reinitialize_dir $srcdir/$subdir
234 gdb_load $binfile
235
236 # Change multiple-symbols to "ask" in order to get the multiple-choice 237 # Change multiple-symbols to "ask" in order to get the multiple-choice
237 # menu when breaking on overloaded methods. 238 # menu when breaking on overloaded methods.
238 gdb_test_no_output "set multiple-symbols ask" 239 gdb_test_no_output "set multiple-symbols ask"
239 240
240 runto_main 241 runto_main
241 242
242 test_ptype_of_templates 243 test_ptype_of_templates
243 test_template_breakpoints 244 test_template_breakpoints
244 test_template_typedef 245 test_template_typedef
245 test_template_args 246 test_template_args
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
557 # print out a function from a nested template name 558 # print out a function from a nested template name
558 559
559 gdb_test "print Garply<Garply<char> >::garply" \ 560 gdb_test "print Garply<Garply<char> >::garply" \
560 "\\$\[0-9\]* = \\{(class |)Garply<char> \\((class |)Garply<Garply<char> > \\ *(| const), int, (class |)Garply<char>\\)\\} $hex <Garply<Garply<char>\[ \t\]*>: :garply\\(int, (class |)Garply<char>\\)>" \ 561 "\\$\[0-9\]* = \\{(class |)Garply<char> \\((class |)Garply<Garply<char> > \\ *(| const), int, (class |)Garply<char>\\)\\} $hex <Garply<Garply<char>\[ \t\]*>: :garply\\(int, (class |)Garply<char>\\)>" \
561 "print Garply<Garply<char> >::garply" 562 "print Garply<Garply<char> >::garply"
562 563
563 # djb - 06-03-2000 564 # djb - 06-03-2000
564 # Now should work fine 565 # Now should work fine
565 gdb_test "break Garply<Garply<char> >::garply" \ 566 gdb_test "break Garply<Garply<char> >::garply" \
566 "Breakpoint \[0-9\]* at $hex: file .*templates.cc, line.*" 567 "Breakpoint \[0-9\]* at $hex: file .*templates.cc, line.*"
OLDNEW
« no previous file with comments | « gdb/testsuite/gdb.cp/templates.cc ('k') | gdb/testsuite/gdb.cp/try_catch.exp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698