summaryrefslogtreecommitdiff
path: root/gdb/testsuite
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2022-06-04 13:17:33 +0200
committerTom de Vries <tdevries@suse.de>2022-06-04 13:17:33 +0200
commit999f7adc21cdcef5b606d2529068121dc6032b18 (patch)
treea9816ef9c80aa8cc631f57ae44f4cd107c13e93e /gdb/testsuite
parent1390b65a1b93f75cdd4165f190b4a95b93add66e (diff)
[gdb/m2] Fix UB and literal truncation
Rewrite parse_number to use ULONGEST instead of LONGEST, to fix UB errors as mentioned in PR29163. Furthermore, make sure we error out on overflow instead of truncating in all cases. Tested on x86_64-linux, with a build with --enable-targets=all. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29163
Diffstat (limited to 'gdb/testsuite')
-rw-r--r--gdb/testsuite/gdb.base/parse_number.exp3
1 files changed, 1 insertions, 2 deletions
diff --git a/gdb/testsuite/gdb.base/parse_number.exp b/gdb/testsuite/gdb.base/parse_number.exp
index 4189ccaf92..6e0091278a 100644
--- a/gdb/testsuite/gdb.base/parse_number.exp
+++ b/gdb/testsuite/gdb.base/parse_number.exp
@@ -161,8 +161,7 @@ proc parse_number { lang n } {
return [list "CARDINAL" $n]
} else {
# Overflow.
- # Some truncated value or re_overflow, should be re_overflow.
- return [list ($re_overflow|CARDINAL|INTEGER) ($re_overflow|$any)]
+ return [list $re_overflow $re_overflow]
}
} elseif { $lang == "fortran" } {
if { [fits_in_type $n $int_bits s] } {