This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [rfa] C++ testsuite fix for unsigned char


On Sat, Feb 28, 2004 at 06:15:19PM -0500, Michael Chastain wrote:
> Approved, provided that you've tested it at least once.
> 
> > By the way, this test would be invalid C since it relies on the behavior of
> > signed overflow.  I'm not sure about C++ but I suspect it's the same.
> 
> You are right.  It would be okay with me to change all the 'c' from
> 'char' to 'unsigned char'.  It's about templates, not about whether
> chars are 'signed' or 'unsigned'.
> 
> Michael C
> 
> ===
> 
> 2004-02-28  Daniel Jacobowitz  <drow@mvista.com>
> 
> 	* gdb.cp/ctti.exp: Handle unsigned char type.

How about this patch instead, then?  Tested on i386-linux and
arm-linux.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

2004-02-29  Daniel Jacobowitz  <drow@mvista.com>

	* gdb.cp/ctti.exp: Handle unsigned char type.  Expect templates
	to use unsigned char.
	* gdb.cp/cttiadd.c, gdb.cp/cttiadd1.c, gdb.cp/cttiadd2.c,
	gdb.cp/cttiadd3.c: Change type of variable to unsigned char.

Index: gdb/testsuite/gdb.cp/ctti.exp
===================================================================
RCS file: /big/fsf/rsync/src-cvs/src/gdb/testsuite/gdb.cp/ctti.exp,v
retrieving revision 1.5
diff -u -p -r1.5 ctti.exp
--- gdb/testsuite/gdb.cp/ctti.exp	11 Feb 2004 14:01:25 -0000	1.5
+++ gdb/testsuite/gdb.cp/ctti.exp	29 Feb 2004 17:05:08 -0000
@@ -76,7 +76,7 @@ if ![runto_main] then {
 gdb_breakpoint [gdb_get_line_number "marker add1"]
 gdb_continue_to_breakpoint "marker add1"
 
-gdb_test "print c" "\\$\[0-9\]+ = -62 .*"
+gdb_test "print c" "\\$\[0-9\]+ = 194 .*"
 gdb_test "print f" "\\$\[0-9\]+ = 9"
 gdb_test "print i" "\\$\[0-9\]+ = 4"
 
@@ -106,13 +106,13 @@ gdb_test_multiple "print add<float>(2.25
     }
 }
 
-gdb_test_multiple "print add<char>('A','A')" "print add<char>('A','A')" {
+gdb_test_multiple "print add<unsigned char>('A','A')" "print add<unsigned char>('A','A')" {
     -re "\\$\[0-9\]+ = -126 .*\r\n$gdb_prompt $" {
-	pass "print add<char>('A','A')"
+	pass "print add<unsigned char>('A','A')"
     }
-    -re "No symbol \"add<char>\" in current context.\r\n$gdb_prompt $" {
+    -re "No symbol \"add<unsigned char>\" in current context.\r\n$gdb_prompt $" {
 	# TODO: kfail or xfail this
-	fail "print add<char>('A','A')"
+	fail "print add<unsigned char>('A','A')"
     }
 }
 
@@ -136,13 +136,13 @@ gdb_test_multiple "print add2<float>(2.2
     }
 }
 
-gdb_test_multiple "print add2<char>('A','A')" "print add2<char>('A','A')" {
+gdb_test_multiple "print add2<unsigned char>('A','A')" "print add2<unsigned char>('A','A')" {
     -re "\\$\[0-9]+ = -126 .*$gdb_prompt $" {
-	pass "print add2<char>('A','A')"
+	pass "print add2<unsigned char>('A','A')"
     }
-    -re "No symbol \"add2<char>\" in current context.\r\n$gdb_prompt $" {
+    -re "No symbol \"add2<unsigned char>\" in current context.\r\n$gdb_prompt $" {
 	# TODO: kfail or xfail this
-	fail "print add2<char>('A','A')"
+	fail "print add2<unsigned char>('A','A')"
     }
 }
 
@@ -166,13 +166,13 @@ gdb_test_multiple "print add3<float>(2.2
     }
 }
 
-gdb_test_multiple "print add3<char>('A','A')" "print add3<char>('A','A')" {
+gdb_test_multiple "print add3<unsigned char>('A','A')" "print add3<unsigned char>('A','A')" {
     -re "\\$\[0-9]+ = -126 .*$gdb_prompt $" {
-	pass "print add3<char>('A','A')"
+	pass "print add3<unsigned char>('A','A')"
     }
-    -re "No symbol \"add3<char>\" in current context.\r\n$gdb_prompt $" {
+    -re "No symbol \"add3<unsigned char>\" in current context.\r\n$gdb_prompt $" {
 	# TODO: kfail or xfail this
-	fail "print add3<char>('A','A')"
+	fail "print add3<unsigned char>('A','A')"
     }
 }
 
@@ -196,12 +196,12 @@ gdb_test_multiple "print add4<float>(2.2
     }
 }
 
-gdb_test_multiple "print add4<char>('A','A')" "print add4<char>('A','A')" {
+gdb_test_multiple "print add4<unsigned char>('A','A')" "print add4<unsigned char>('A','A')" {
     -re "\\$\[0-9]+ = -126 .*$gdb_prompt $" {
-	pass "print add4<char>('A','A')"
+	pass "print add4<unsigned char>('A','A')"
     }
-    -re "No symbol \"add4<char>\" in current context.\r\n$gdb_prompt $" {
+    -re "No symbol \"add4<unsigned char>\" in current context.\r\n$gdb_prompt $" {
 	# TODO: kfail or xfail this
-	fail "print add4<char>('A','A')"
+	fail "print add4<unsigned char>('A','A')"
     }
 }
Index: gdb/testsuite/gdb.cp/cttiadd.cc
===================================================================
RCS file: /big/fsf/rsync/src-cvs/src/gdb/testsuite/gdb.cp/cttiadd.cc,v
retrieving revision 1.4
diff -u -p -r1.4 cttiadd.cc
--- gdb/testsuite/gdb.cp/cttiadd.cc	11 Feb 2004 14:01:25 -0000	1.4
+++ gdb/testsuite/gdb.cp/cttiadd.cc	29 Feb 2004 17:03:53 -0000
@@ -27,7 +27,7 @@ template<class T> T add(T v1, T v2)
 
 int main()
 {
-  char c;
+  unsigned char c;
   int i;
   float f;
   extern void add1();
Index: gdb/testsuite/gdb.cp/cttiadd1.cc
===================================================================
RCS file: /big/fsf/rsync/src-cvs/src/gdb/testsuite/gdb.cp/cttiadd1.cc,v
retrieving revision 1.3
diff -u -p -r1.3 cttiadd1.cc
--- gdb/testsuite/gdb.cp/cttiadd1.cc	11 Feb 2004 14:01:25 -0000	1.3
+++ gdb/testsuite/gdb.cp/cttiadd1.cc	29 Feb 2004 17:04:34 -0000
@@ -21,7 +21,7 @@ template<class T> T add(T v1, T v2);
 
 void add1()
 {
-  char c;
+  unsigned char c;
   int i;
   float f;
   
Index: gdb/testsuite/gdb.cp/cttiadd2.cc
===================================================================
RCS file: /big/fsf/rsync/src-cvs/src/gdb/testsuite/gdb.cp/cttiadd2.cc,v
retrieving revision 1.3
diff -u -p -r1.3 cttiadd2.cc
--- gdb/testsuite/gdb.cp/cttiadd2.cc	11 Feb 2004 14:01:25 -0000	1.3
+++ gdb/testsuite/gdb.cp/cttiadd2.cc	29 Feb 2004 17:04:47 -0000
@@ -27,7 +27,7 @@ template<class T> T add2(T v1, T v2)
 
 void subr2()
 {
-  char c;
+  unsigned char c;
   int i;
   float f;
   
Index: gdb/testsuite/gdb.cp/cttiadd3.cc
===================================================================
RCS file: /big/fsf/rsync/src-cvs/src/gdb/testsuite/gdb.cp/cttiadd3.cc,v
retrieving revision 1.3
diff -u -p -r1.3 cttiadd3.cc
--- gdb/testsuite/gdb.cp/cttiadd3.cc	11 Feb 2004 14:01:25 -0000	1.3
+++ gdb/testsuite/gdb.cp/cttiadd3.cc	29 Feb 2004 17:04:55 -0000
@@ -35,7 +35,7 @@ template<class T> T add4(T v1, T v2)
 
 void subr3()
 {
-  char c;
+  unsigned char c;
   int i;
   float f;
   


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]