After further investigation it seems that gdb assumes that floating-
point numbers use . as decimal mark, as these lines from c-exp.y show
else if (!got_dot && *p == '.')
got_dot = 1;
but, later, the function parse_float() (in parse.c) feeds the string
into sscanf
num = sscanf (copy, "%" DOUBLEST_SCAN_FORMAT "%n", d, &n);
and, apparently, sscanf is locale-sensitive, so, if the current locale has , as
decimal mark, sscanf will leave everything past the . sign unscanned. gdb,
then, notices that something is unscanned and says "invalid number"
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1341125
Title:
Cannot enter floating point (double) numbers
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gdb/+bug/1341125/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs