OLD | NEW |
1 # Copyright 2007-2012 Free Software Foundation, Inc. | 1 # Copyright 2007-2013 Free Software Foundation, Inc. |
2 | 2 |
3 # This program is free software; you can redistribute it and/or modify | 3 # This program is free software; you can redistribute it and/or modify |
4 # it under the terms of the GNU General Public License as published by | 4 # it under the terms of the GNU General Public License as published by |
5 # the Free Software Foundation; either version 3 of the License, or | 5 # the Free Software Foundation; either version 3 of the License, or |
6 # (at your option) any later version. | 6 # (at your option) any later version. |
7 # | 7 # |
8 # This program is distributed in the hope that it will be useful, | 8 # This program is distributed in the hope that it will be useful, |
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
11 # GNU General Public License for more details. | 11 # GNU General Public License for more details. |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 mi_gdb_load ${binfile} | 54 mi_gdb_load ${binfile} |
55 | 55 |
56 # Desc: Create global variable. | 56 # Desc: Create global variable. |
57 mi_create_varobj global_simple global_simple "create global variable" | 57 mi_create_varobj global_simple global_simple "create global variable" |
58 | 58 |
59 mi_runto do_locals_tests | 59 mi_runto do_locals_tests |
60 | 60 |
61 # Desc: create local variables | 61 # Desc: create local variables |
62 mi_create_varobj linteger linteger "create local variable linteger" | 62 mi_create_varobj linteger linteger "create local variable linteger" |
63 | 63 |
| 64 # Desc: create floating variable |
| 65 mi_create_floating_varobj float_simple array "create floating variable" |
| 66 |
64 # | 67 # |
65 # Reload the same binary. | 68 # Reload the same binary. |
66 # Global variable should remain, local should be invalidated. | 69 # Global variable should remain, local should be invalidated. |
67 # | 70 # |
68 mi_delete_breakpoints | 71 mi_delete_breakpoints |
69 mi_gdb_load ${binfile_bis} | 72 mi_gdb_load ${binfile_bis} |
70 mi_runto main | 73 mi_runto main |
71 | 74 |
| 75 # Change format of floating variable immediately after reload reveals a |
| 76 # bug where gdb still uses a free'd pointer. |
| 77 mi_gdb_test "-var-set-format float_simple hexadecimal" \ |
| 78 "\\^done,format=\"hexadecimal\",value=\"\\\[-1\\\]\"" \ |
| 79 "set format variable float_simple" |
| 80 |
72 # Check local variable is "invalid". | 81 # Check local variable is "invalid". |
73 mi_gdb_test "-var-update linteger" \ | 82 mi_gdb_test "-var-update linteger" \ |
74 "\\^done,changelist=\\\[\{name=\"linteger\",in_scope=\"invalid\",has_mor
e=\"0\"\}\\\]" \ | 83 "\\^done,changelist=\\\[\{name=\"linteger\",in_scope=\"invalid\",has_mor
e=\"0\"\}\\\]" \ |
75 "linteger not anymore in scope due to binary changes" | 84 "linteger not anymore in scope due to binary changes" |
76 | 85 |
77 mi_gdb_test "-var-info-type linteger" \ | 86 mi_gdb_test "-var-info-type linteger" \ |
78 "\\^done,type=\"\"" \ | 87 "\\^done,type=\"\"" \ |
79 "no type for invalid variable linteger (1)" | 88 "no type for invalid variable linteger (1)" |
80 | 89 |
81 # Check global variable is still correct. | 90 # Check global variable is still correct. |
(...skipping 25 matching lines...) Expand all Loading... |
107 mi_gdb_test "-var-update global_simple" \ | 116 mi_gdb_test "-var-update global_simple" \ |
108 "\\^done,changelist=\\\[\{name=\"global_simple\",in_scope=\"invalid\",ha
s_more=\"0\"\}\\\]" \ | 117 "\\^done,changelist=\\\[\{name=\"global_simple\",in_scope=\"invalid\",ha
s_more=\"0\"\}\\\]" \ |
109 "global_simple not anymore in scope due to binary changes" | 118 "global_simple not anymore in scope due to binary changes" |
110 | 119 |
111 mi_gdb_test "-var-info-type global_simple" \ | 120 mi_gdb_test "-var-info-type global_simple" \ |
112 "\\^done,type=\"\"" \ | 121 "\\^done,type=\"\"" \ |
113 "no type for invalid variable global_simple" | 122 "no type for invalid variable global_simple" |
114 | 123 |
115 mi_gdb_exit | 124 mi_gdb_exit |
116 return 0 | 125 return 0 |
OLD | NEW |