Re: [PATCH] Fix mi "-var-create" regression

Luis Machado
2013-01-03T12:30:54Z

[-- Attachment #1: Type: text/plain, Size: 391 bytes --]

On 01/03/2013 01:46 AM, Joel Brobecker wrote:
>> This patch addresses the problem Andreas saw by creating a variable
>> of type (void *). This way we are guaranteed to have the type we
>> need to reproduce the problem.
>
> I don't see a problem with that. But can you add a comment explaining
> why you are casting the register to void *?

Yes, of course.

How does this comment look?

Luis

[-- Attachment #2: var_create_rtti.diff --]
[-- Type: text/x-patch, Size: 1103 bytes --]

diff --git a/ChangeLog b/ChangeLog
index a5a47ca..aa180a6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-01-03 Luis Machado <lgustavo@codesourcery.com>
+
+ * gdb.mi/mi-var-create-rtti.exp: Create a variable of
+ type void *.
+
2012-12-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>

* Makefile.def (install-target-libgo): Depend on
diff --git a/gdb/testsuite/gdb.mi/mi-var-create-rtti.exp b/gdb/testsuite/gdb.mi/mi-var-create-rtti.exp
index da3cf1b..f991951 100644
--- a/gdb/testsuite/gdb.mi/mi-var-create-rtti.exp
+++ b/gdb/testsuite/gdb.mi/mi-var-create-rtti.exp
@@ -45,8 +45,10 @@ if ![mi_run_to_main] {
# Enable "print object"
mi_gdb_test "-gdb-set print object on" ".*"

-# Test creating a variable for $sp
-mi_gdb_test "-var-create sp1 * \$sp" \
+# Test creating a variable for $sp.
+# We use a explicit cast to (void *) as that is the
+# type that caused the bug this testcase is testing for.
+mi_gdb_test "-var-create sp1 * ((void*)\$sp)" \
"\\^done,name=\"sp1\",numchild=\"0\",value=\"$hex\",type=\"void \\*\",has_more=\"0\"" \
"-var-create sp1 * \$sp"
gdb_exit