* gdb.mi/mi-var-child.c
authorVladimir Prus <vladimir@codesourcery.com>
Sun, 1 Apr 2007 15:27:26 +0000 (15:27 +0000)
committerVladimir Prus <vladimir@codesourcery.com>
Sun, 1 Apr 2007 15:27:26 +0000 (15:27 +0000)
        (do_children_tests): User char[2] instead of
        char so that automatic printing of pointers to char
        don't give unpredicable result.
        * gdb.mi/var-cmd.c (do_locals_test): Initialize
        local variables.
        * gdb.mi/mi-var-child.exp: Step to right line
        of do_children_tests.
        * gdb.mi/mi2-var-child.exp: Likewise.
        * gdb.mi/mi-var-cmd.exp: Step to right line of
        do_locals_tests.
        (do_children_tests): User char[2] instead of
        char so that automatic printing of pointers to char
        don't give unpredicable result.
        * gdb.mi/mi2-var-cmd.exp: Likewise.
        * lib/mi-support.exp (mi_continue_to_line):
        Pass test name to mi_wait_for_stop.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.mi/mi-var-child.c
gdb/testsuite/gdb.mi/mi-var-child.exp
gdb/testsuite/gdb.mi/mi-var-cmd.exp
gdb/testsuite/gdb.mi/mi2-var-child.exp
gdb/testsuite/gdb.mi/mi2-var-cmd.exp
gdb/testsuite/gdb.mi/var-cmd.c
gdb/testsuite/lib/mi-support.exp

index d8fa9771096c4853f5f9d1aeaa5eb654b98b2bef..30817301f299e53296c8eee528642d97df85f4fe 100644 (file)
@@ -1,3 +1,23 @@
+2007-04-01  Vladimir Prus  <vladimir@codesourcery.com>
+       
+       * gdb.mi/mi-var-child.c 
+       (do_children_tests): User char[2] instead of
+       char so that automatic printing of pointers to char
+       don't give unpredicable result.
+       * gdb.mi/var-cmd.c (do_locals_test): Initialize
+       local variables.
+       * gdb.mi/mi-var-child.exp: Step to right line
+       of do_children_tests.
+       * gdb.mi/mi2-var-child.exp: Likewise.
+       * gdb.mi/mi-var-cmd.exp: Step to right line of
+       do_locals_tests. 
+       (do_children_tests): User char[2] instead of
+       char so that automatic printing of pointers to char
+       don't give unpredicable result. 
+       * gdb.mi/mi2-var-cmd.exp: Likewise.
+       * lib/mi-support.exp (mi_continue_to_line): 
+       Pass test name to mi_wait_for_stop.
+
 2007-03-30  Daniel Jacobowitz  <dan@codesourcery.com>
 
        * gdb.asm/asm-source.exp: Remove d10v case.
index f871cb75d1e4a91ecdc0e4ad13f0921c7310bd2e..21151cdc61603ac3c90b5db178079c5f0e3c1037 100644 (file)
@@ -199,9 +199,9 @@ do_children_tests (void)
   weird_struct *weird;
   struct _struct_n_pointer *psnp;
   struct _struct_n_pointer snp0, snp1, snp2;
-  char a0, *a1, **a2, ***a3;
-  char b0, *b1, **b2, ***b3;
-  char c0, *c1, **c2, ***c3;
+  char a0[2] = {}, *a1, **a2, ***a3;
+  char b0[2] = {}, *b1, **b2, ***b3;
+  char c0[2] = {}, *c1, **c2, ***c3;
   long z0, *z1, **z2, ***z3;
   long y0, *y1, **y2, ***y3;
   long x0, *x1, **x2, ***x3;
@@ -233,16 +233,16 @@ do_children_tests (void)
   struct_declarations.long_array[11] = 5678;
 
   /* Struct/pointer/array tests */
-  a0 = '0';
-  a1 = &a0;
+  a0[0] = '0';  
+  a1 = a0;
   a2 = &a1;
   a3 = &a2;
-  b0 = '1';
-  b1 = &b0;
+  b0[0] = '1';
+  b1 = b0;
   b2 = &b1;
   b3 = &b2;
-  c0 = '2';
-  c1 = &c0;
+  c0[1] = '2';
+  c1 = c0;
   c2 = &c1;
   c3 = &c2;
   z0 = 0xdead + 0;
index 324179fe3280f23eb9e5d660317187406f48a82a..12f01d489a0d74650e001944d7c315e097f100e1 100644 (file)
@@ -43,17 +43,16 @@ mi_gdb_load ${binfile}
 
 mi_runto do_children_tests
 
+set line_dlt_first_real [gdb_get_line_number "weird = &struct_declarations;"]
+mi_continue_to_line $line_dlt_first_real "step to real start of do_children_test"
+
+
 #####        #####
 #                #
 # children tests #
 #                #
 #####        #####
 
-# Step past the initialization of struct_declarations.
-set line_weird [gdb_get_line_number "weird = &struct_declarations;"]
-mi_execute_to "exec-next" "end-stepping-range" do_children_tests {} ".*${srcfile}" \
-    [expr $line_weird] {} "step \$line_weird"
-
 # Test: c_variable-4.2
 # Desc: create variable "struct_declarations"
 mi_gdb_test "-var-create struct_declarations * struct_declarations" \
@@ -859,7 +858,7 @@ mi_gdb_test "-var-update --no-values *" \
  "update all vars struct_declarations.long_array.10 changed, don't print values."
 
 # Step over "struct_declarations.long_array[11] = 5678";
-set line_dct_a0_0 [gdb_get_line_number "a0 = '0';"]
+set line_dct_a0_0 [gdb_get_line_number "a0\[0\] = '0';"]
 mi_step_to  do_children_tests {} ".*${srcfile}" \
     $line_dct_a0_0 "step \$line_dct_a0_0"
 
index c8b3c6462aa29cbcf2be356ecc26110885c9407a..80041c67be8e8c307707928735254bc5e56ec316 100644 (file)
@@ -71,6 +71,11 @@ mi_gdb_test "113-var-create argc * argc" \
 
 mi_runto do_locals_tests
 
+set line_dlt_first_real [gdb_get_line_number "linteger = 1234;"]
+
+mi_continue_to_line $line_dlt_first_real "step to real start of do_locals_test"
+
+
 # Test: c_variable-1.4
 # Desc: create local variables
 
index 5ea9ab02a864dc69fb251909d5aee04ddc429993..4f77e4087f4388bc764ff3766b1d141913d1336c 100644 (file)
@@ -42,6 +42,9 @@ mi_gdb_load ${binfile}
 
 mi_runto do_children_tests
 
+set line_dlt_first_real [gdb_get_line_number "weird = &struct_declarations;"]
+mi_continue_to_line $line_dlt_first_real "step to real start of do_children_test"
+
 #####        #####
 #                #
 # children tests #
@@ -836,7 +839,7 @@ mi_gdb_test "-var-update *" \
 
 
 # Step over "weird->func_ptr = nothing;"
-set line_dct_a0_0 [gdb_get_line_number "a0 = '0';"]
+set line_dct_a0_0 [gdb_get_line_number "a0\[0\] = '0';"]
 mi_step_to do_children_tests {} {.*var-cmd.c} \
     $line_dct_a0_0 "step \$line_dct_a0_0"
 
index 11b65ceb434ba6212afbc2665510f52c64e35c29..8905e0ccf33883315d204053034a0fa8c5083e80 100644 (file)
@@ -71,6 +71,11 @@ mi_gdb_test "113-var-create argc * argc" \
 
 mi_runto do_locals_tests
 
+set line_dlt_first_real [gdb_get_line_number "linteger = 1234;"]
+
+mi_continue_to_line $line_dlt_first_real "step to real start of do_locals_test"
+
+
 # Test: c_variable-1.4
 # Desc: create local variables
 
index 9d74bc6a935aa568431d85a891b19fabc0a275a0..a61dc885e39d5f9eaa472341bf94079e73c87331 100644 (file)
@@ -113,16 +113,16 @@ int *array_ptr = array;
 void
 do_locals_tests ()
 {
-  int linteger;
-  int *lpinteger;
-  char lcharacter;
-  char *lpcharacter;
-  long llong;
-  long *lplong;
-  float lfloat;
-  float *lpfloat;
-  double ldouble;
-  double *lpdouble;
+  int linteger = 0;
+  int *lpinteger = 0;
+  char lcharacter = 0;
+  char *lpcharacter = 0;
+  long llong = 0;
+  long *lplong = 0;
+  float lfloat = 0;
+  float *lpfloat = 0;
+  double ldouble = 0;
+  double *lpdouble = 0;
   struct _simple_struct lsimple;
   struct _simple_struct *lpsimple;
   void (*func) (void);
@@ -202,9 +202,9 @@ do_children_tests (void)
   weird_struct *weird;
   struct _struct_n_pointer *psnp;
   struct _struct_n_pointer snp0, snp1, snp2;
-  char a0, *a1, **a2, ***a3;
-  char b0, *b1, **b2, ***b3;
-  char c0, *c1, **c2, ***c3;
+  char a0[2] = {}, *a1, **a2, ***a3;
+  char b0[2] = {}, *b1, **b2, ***b3;
+  char c0[2] = {}, *c1, **c2, ***c3;
   long z0, *z1, **z2, ***z3;
   long y0, *y1, **y2, ***y3;
   long x0, *x1, **x2, ***x3;
@@ -233,16 +233,16 @@ do_children_tests (void)
   weird->func_ptr = nothing;
 
   /* Struct/pointer/array tests */
-  a0 = '0';
-  a1 = &a0;
+  a0[0] = '0';
+  a1 = a0;
   a2 = &a1;
   a3 = &a2;
-  b0 = '1';
-  b1 = &b0;
+  b0[0] = '1';
+  b1 = b0;
   b2 = &b1;
   b3 = &b2;
-  c0 = '2';
-  c1 = &c0;
+  c0[0] = '2';
+  c1 = c0;
   c2 = &c1;
   c3 = &c2;
   z0 = 0xdead + 0;
index d94d0d79c1bba1898ce509668b36fb8af1f86536..d4236368f17f2ddb6b74a633862b94ff0505123d 100644 (file)
@@ -1224,11 +1224,11 @@ proc mi_send_resuming_command {command test} {
 # be determined.
 # Does not check that the line is the same as requested.
 # The caller can check itself if required.
-proc mi_continue_to_line {location command} {
+proc mi_continue_to_line {location test} {
 
     mi_tbreak $location   
     mi_send_resuming_command "exec-continue" "run to $location (exec-continue)"
-    return [mi_wait_for_stop]
+    return [mi_wait_for_stop $test]
 }
 
 # Wait until gdb prints the current line.