[Bug gdb/30278] New: gdb gives wrong value at -O1
hluaw at connect dot ust.hk
sourceware-bugzilla@sourceware.org
Mon Mar 27 13:34:17 GMT 2023
https://sourceware.org/bugzilla/show_bug.cgi?id=30278
Bug ID: 30278
Summary: gdb gives wrong value at -O1
Product: gdb
Version: HEAD
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: gdb
Assignee: unassigned at sourceware dot org
Reporter: hluaw at connect dot ust.hk
Target Milestone: ---
Environment:
$ gcc --version
gcc (Gentoo 11.3.1_p20221209 p3) 11.3.1 20221209
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ gdb --version
GNU gdb (GDB) 14.0.50.20230327-git
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Code:
int c ;
int func_8() {
int i = 0;
for (; i < 8; i++)
;
if ((c = 0))
;
return c;
}
int main() { func_8(); }
Command to reproduce:
b func_8
r
p i
gdb Output:
func_8 () at r.c:6
6 if ((c = 0))
(gdb) p i
$1 = 0
Expected result is `i = 8`, which happens right after line 6.
I tend to think gdb should report `i = 8` at line 6 instead of line 8.
In fact, when the for-loop is followed by other statement rather than the if
here, gdb can correctly report `i = 8` on line 6.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Gdb-prs
mailing list