PR modula2/116073 invalid rtl sharing compiling FileSystem.mod caused by ext-dcemastertrunk
commit62abe069506e67d2668e8de7c5e00c118c60d8a7
authorGaius Mulley <gaiusmod2@gmail.com>
Wed, 29 Jan 2025 20:32:07 +0000 (29 20:32 +0000)
committerGaius Mulley <gaiusmod2@gmail.com>
Wed, 29 Jan 2025 20:32:07 +0000 (29 20:32 +0000)
tree9e9f53359a95341fec816fa22b5f1946bed3fdf1
parentd9ac0ad1e9a4ceec2d354ac0368da7462bea5675
PR modula2/116073 invalid rtl sharing compiling FileSystem.mod caused by ext-dce

The bug fixes to PR modula2/118010 and PR modula2/118183 uncovered a bug
in the procedure interface to lseek which uses SYSTEM.COFF_T rather than
SYSTEM.CSSIZE_T.  This patch sets the default size for COFF_T to the same
as CSSIZE_T.

gcc/ChangeLog:
PR modula2/118010
PR modula2/118183
PR modula2/116073
* doc/gm2.texi (-fm2-file-offset-bits=): Change the default size
description to CSSIZE_T.
Add COFF_T to the list of data types exported by SYSTEM.def.

gcc/m2/ChangeLog:
PR modula2/118010
PR modula2/118183
PR modula2/116073
* gm2-compiler/M2Options.mod (OffTBits): Assign to 0.
* gm2-gcc/m2type.cc (build_m2_specific_size_type): Ensure that
layout_type is called before returning c.
(build_m2_offt_type_node): If GetFileOffsetBits returns 0 then
use the type size of ssize_t.

gcc/testsuite/ChangeLog:

PR modula2/118010
PR modula2/118183
PR modula2/116073
* gm2/pim/run/pass/printtypesize.mod: New test.

Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
gcc/doc/gm2.texi
gcc/m2/gm2-compiler/M2Options.mod
gcc/m2/gm2-gcc/m2type.cc
gcc/testsuite/gm2/pim/run/pass/printtypesize.mod [new file with mode: 0644]