diff options
author | Tom Tromey <tromey@adacore.com> | 2021-09-13 12:53:05 -0600 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2021-10-05 12:35:24 -0600 |
commit | acbf4a58ef324e506cad9cc867a67164d2ca19d4 (patch) | |
tree | 01ef3482d2859a81ca7a94e09c7ff190838fcde9 /gdb/testsuite/gdb.ada | |
parent | 3e44c3049fc23f5ba894b346b7defdfba66b076e (diff) | |
download | gdb-acbf4a58ef324e506cad9cc867a67164d2ca19d4.zip gdb-acbf4a58ef324e506cad9cc867a67164d2ca19d4.tar.gz gdb-acbf4a58ef324e506cad9cc867a67164d2ca19d4.tar.bz2 |
Remove 'varsize-limit'
This makes the Ada-specific "varsize-limit" a synonym for
"max-value-size", and removes the Ada-specific checks of the limit.
I am not certain of the history here, but it seems to me that this
code is fully obsolete now. And, removing this makes it possible to
index large Ada arrays without triggering an error. A new test case
is included to demonstrate this.
Diffstat (limited to 'gdb/testsuite/gdb.ada')
-rw-r--r-- | gdb/testsuite/gdb.ada/varsize_limit.exp | 9 | ||||
-rw-r--r-- | gdb/testsuite/gdb.ada/varsize_limit/vsizelim.adb | 12 |
2 files changed, 18 insertions, 3 deletions
diff --git a/gdb/testsuite/gdb.ada/varsize_limit.exp b/gdb/testsuite/gdb.ada/varsize_limit.exp index aca926a..7cba87c 100644 --- a/gdb/testsuite/gdb.ada/varsize_limit.exp +++ b/gdb/testsuite/gdb.ada/varsize_limit.exp @@ -31,10 +31,13 @@ if ![runto "vsizelim.adb:$bp_location" ] then { return } -gdb_test_no_output "set varsize-limit 16" +gdb_test "set varsize-limit 16" \ + "Warning: command 'set varsize-limit' is deprecated.\r\nUse 'set max-value-size'." gdb_test "print small" " = \"1234567890\"" -gdb_test "print larger" "object size is larger than varsize-limit.*" +gdb_test "print larger" "more than max-value-size.*" -gdb_test "print name.all" "object size is larger than varsize-limit.*" +gdb_test "print name.all" "more than max-value-size.*" + +gdb_test "print ba.data(5)" " = 5" "print array element" diff --git a/gdb/testsuite/gdb.ada/varsize_limit/vsizelim.adb b/gdb/testsuite/gdb.ada/varsize_limit/vsizelim.adb index 3b19e72..8bf367c 100644 --- a/gdb/testsuite/gdb.ada/varsize_limit/vsizelim.adb +++ b/gdb/testsuite/gdb.ada/varsize_limit/vsizelim.adb @@ -30,8 +30,20 @@ procedure VsizeLim is Name_Str : String_Ptr := new String'(Larger); Name : Big_String_Ptr := To_Ptr (Name_Str.all'Address); + type Table is array (Positive range <>) of Integer; + type Object (N : Integer) is record + Data : Table (1 .. N); + end record; + + BA : Object := (N => 1_000_000, Data => (others => 0)); + begin + for I in 1 .. 10 loop + BA.Data(I) := I; + end loop; + Do_Nothing (Small'Address); -- STOP Do_Nothing (Larger'Address); Do_Nothing (Name'Address); + Do_Nothing (BA'Address); end VsizeLim; |