PR modula2/102344 TestLong4.mod FAILs

This is a testsuite fix for TestLong4.mod so that it
succeeds on 32 bit systems.  The original TestLong4.mod has
been rewritten as testing MAX(LONGCARD) into the variable l.
The new testlong4.mod has been added to cpp/pass.  The new
testcode uses the C preprocessor to select the appropriate
constant literal depending upon __SIZEOF_LONG__.

gcc/testsuite/ChangeLog:

	PR modula2/102344
	* gm2/pim/pass/TestLong4.mod: Rewrite.
	* gm2/cpp/pass/testlong4.mod: New test.

Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
This commit is contained in:
Gaius Mulley 2024-02-29 13:42:30 +00:00
parent 5ec7740496
commit 46666b9bde
2 changed files with 34 additions and 2 deletions

View file

@ -0,0 +1,33 @@
(* Copyright (C) 2024 Free Software Foundation, Inc. *)
(* This file is part of GNU Modula-2.
GNU Modula-2 is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
version.
GNU Modula-2 is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License along
with gm2; see the file COPYING. If not, write to the Free Software
Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *)
MODULE testlong4 ;
FROM libc IMPORT exit ;
VAR
l: LONGCARD ;
BEGIN
(* test for assignment of MAX(LONGINT)+1 *)
#if __SIZEOF_LONG__ == 4
l := 2147483648
#elif __SIZEOF_LONG__ == 8
l := 9223372036854775808
#else
# error "add the clause for the size of long here"
#endif
END testlong4.

View file

@ -22,6 +22,5 @@ FROM libc IMPORT exit ;
VAR
l: LONGCARD ;
BEGIN
(* test for assignment of MAX(LONGINT)+1 *)
l := 9223372036854775808
l := MAX (LONGCARD)
END TestLong4.