public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug modula2/110631] New: Bug in FIO.WriteCardinal
@ 2023-07-11 15:52 gaius at gcc dot gnu.org
2023-07-11 15:53 ` [Bug modula2/110631] " gaius at gcc dot gnu.org
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: gaius at gcc dot gnu.org @ 2023-07-11 15:52 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110631
Bug ID: 110631
Summary: Bug in FIO.WriteCardinal
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: modula2
Assignee: gaius at gcc dot gnu.org
Reporter: gaius at gcc dot gnu.org
Target Milestone: ---
As reported on the gm2 mailing list FIO.WriteCardinal is not writing binary
values:
$ gm2 output.mod
$ ./a.out > log
$ od -A x -t x1z -v log
000000 43 6f 75 6e 74 69 6e 67 20 69 6e 20 67 6d 32 3a >Counting in gm2:<
000010 20 6e 20 3d 20 00 00 00 0a 6e 20 3d 20 00 00 00 > n =3D ....n =3D .=
..<
000020 0a 6e 20 3d 20 00 00 00 0a 6e 20 3d 20 00 00 00 >.n =3D ....n =3D .=
..<
000030 0a 6e 20 3d 20 00 00 00 0a 6e 20 3d 20 00 00 00 >.n =3D ....n =3D .=
..<
000040 0a >.<
000041
module output;
from FIO import WriteString, WriteCardinal, WriteLine, StdOut;
procedure WriteOut(n :CARDINAL);
begin
WriteString(StdOut, "n = ");
WriteCardinal(StdOut, n);
WriteLine(StdOut)
end WriteOut;
begin
WriteString(StdOut, "Counting in gm2: ");
WriteOut(0);
WriteOut(1);
WriteOut(2);
WriteOut(3);
WriteOut(1000);
WriteOut(1024)
end output.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug modula2/110631] Bug in FIO.WriteCardinal
2023-07-11 15:52 [Bug modula2/110631] New: Bug in FIO.WriteCardinal gaius at gcc dot gnu.org
@ 2023-07-11 15:53 ` gaius at gcc dot gnu.org
2023-07-22 7:32 ` gaius at gcc dot gnu.org
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: gaius at gcc dot gnu.org @ 2023-07-11 15:53 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110631
Gaius Mulley <gaius at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2023-07-11
Ever confirmed|0 |1
Status|UNCONFIRMED |ASSIGNED
--- Comment #1 from Gaius Mulley <gaius at gcc dot gnu.org> ---
Confirmed and reproduced.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug modula2/110631] Bug in FIO.WriteCardinal
2023-07-11 15:52 [Bug modula2/110631] New: Bug in FIO.WriteCardinal gaius at gcc dot gnu.org
2023-07-11 15:53 ` [Bug modula2/110631] " gaius at gcc dot gnu.org
@ 2023-07-22 7:32 ` gaius at gcc dot gnu.org
2023-07-22 9:02 ` cvs-commit at gcc dot gnu.org
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: gaius at gcc dot gnu.org @ 2023-07-22 7:32 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110631
--- Comment #2 from Gaius Mulley <gaius at gcc dot gnu.org> ---
Created attachment 55600
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55600&action=edit
Proposed fix
Here is a proposed fix - which will be applied (if/when) bootstrapping
completes successfully.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug modula2/110631] Bug in FIO.WriteCardinal
2023-07-11 15:52 [Bug modula2/110631] New: Bug in FIO.WriteCardinal gaius at gcc dot gnu.org
2023-07-11 15:53 ` [Bug modula2/110631] " gaius at gcc dot gnu.org
2023-07-22 7:32 ` gaius at gcc dot gnu.org
@ 2023-07-22 9:02 ` cvs-commit at gcc dot gnu.org
2023-07-22 9:04 ` gaius at gcc dot gnu.org
2023-07-30 20:45 ` cvs-commit at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-07-22 9:02 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110631
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Gaius Mulley <gaius@gcc.gnu.org>:
https://gcc.gnu.org/g:73cc6ce1294ec35e9322b1bbc91009cfc76f732b
commit r14-2725-g73cc6ce1294ec35e9322b1bbc91009cfc76f732b
Author: Gaius Mulley <gaiusmod2@gmail.com>
Date: Sat Jul 22 10:01:02 2023 +0100
PR modula2/110631 Bugfix to FIO WriteCardinal
FIO.WriteCardinal fails to write binary data. This patch fixes two
bugs in FIO.mod and provides a testcase which writes and reads binary
cardinals. There was an off by one error when using HIGH (a) to
determine the number of bytes and the dest/src pointers were switched
when calling memcpy.
gcc/m2/ChangeLog:
PR modula2/110631
* gm2-libs/FIO.def (ReadAny): Correct comment as
HIGH (a) + 1 is number of bytes.
(WriteAny): Correct comment as HIGH (a) + 1 is number of
bytes.
* gm2-libs/FIO.mod (ReadAny): Correct comment as
HIGH (a) + 1 is number of bytes. Also pass HIGH (a) + 1
to BufferedRead.
(WriteAny): Correct comment as HIGH (a) + 1 is number of
bytes. Also pass HIGH (a) + 1 to BufferedWrite.
(BufferedWrite): Rename parameter a to src, rename variable
t to dest. Correct parameter order to memcpy.
gcc/testsuite/ChangeLog:
PR modula2/110631
* gm2/pimlib/run/pass/testfiobinary.mod: New test.
Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug modula2/110631] Bug in FIO.WriteCardinal
2023-07-11 15:52 [Bug modula2/110631] New: Bug in FIO.WriteCardinal gaius at gcc dot gnu.org
` (2 preceding siblings ...)
2023-07-22 9:02 ` cvs-commit at gcc dot gnu.org
@ 2023-07-22 9:04 ` gaius at gcc dot gnu.org
2023-07-30 20:45 ` cvs-commit at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: gaius at gcc dot gnu.org @ 2023-07-22 9:04 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110631
Gaius Mulley <gaius at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|ASSIGNED |RESOLVED
--- Comment #4 from Gaius Mulley <gaius at gcc dot gnu.org> ---
Closing now that the patch has been applied.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug modula2/110631] Bug in FIO.WriteCardinal
2023-07-11 15:52 [Bug modula2/110631] New: Bug in FIO.WriteCardinal gaius at gcc dot gnu.org
` (3 preceding siblings ...)
2023-07-22 9:04 ` gaius at gcc dot gnu.org
@ 2023-07-30 20:45 ` cvs-commit at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-07-30 20:45 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110631
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Gaius Mulley
<gaius@gcc.gnu.org>:
https://gcc.gnu.org/g:d1611c51dd7ce054eceb19fda3be72c2164aaa71
commit r13-7658-gd1611c51dd7ce054eceb19fda3be72c2164aaa71
Author: Gaius Mulley <gaiusmod2@gmail.com>
Date: Sun Jul 30 21:44:49 2023 +0100
PR modula2/110631 Bugfix to FIO WriteCardinal
FIO.WriteCardinal fails to write binary data. This patch fixes two
bugs in FIO.mod and provides a testcase which writes and reads binary
cardinals. There was an off by one error when using HIGH (a) to
determine the number of bytes and the dest/src pointers were switched
when calling memcpy.
gcc/m2/ChangeLog:
PR modula2/110631
* gm2-libs/FIO.def (ReadAny): Correct comment as
HIGH (a) + 1 is number of bytes.
(WriteAny): Correct comment as HIGH (a) + 1 is number of
bytes.
* gm2-libs/FIO.mod (ReadAny): Correct comment as
HIGH (a) + 1 is number of bytes. Also pass HIGH (a) + 1
to BufferedRead.
(WriteAny): Correct comment as HIGH (a) + 1 is number of
bytes. Also pass HIGH (a) + 1 to BufferedWrite.
(BufferedWrite): Rename parameter a to src, rename variable
t to dest. Correct parameter order to memcpy.
gcc/testsuite/ChangeLog:
PR modula2/110631
* gm2/pimlib/run/pass/testfiobinary.mod: New test.
(cherry picked from commit 73cc6ce1294ec35e9322b1bbc91009cfc76f732b)
Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-07-30 20:45 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-11 15:52 [Bug modula2/110631] New: Bug in FIO.WriteCardinal gaius at gcc dot gnu.org
2023-07-11 15:53 ` [Bug modula2/110631] " gaius at gcc dot gnu.org
2023-07-22 7:32 ` gaius at gcc dot gnu.org
2023-07-22 9:02 ` cvs-commit at gcc dot gnu.org
2023-07-22 9:04 ` gaius at gcc dot gnu.org
2023-07-30 20:45 ` cvs-commit at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).