aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGaius Mulley <gaiusmod2@gmail.com>2024-02-29 13:42:30 +0000
committerGaius Mulley <gaiusmod2@gmail.com>2024-02-29 13:42:30 +0000
commit46666b9bde5903d80ad8a30f5e7ecb6fc4208290 (patch)
treeaadc8c868860868924b53d444a5e7c048fb4b751
parent5ec7740496a6908b32cd058c0520a2bd5a689bb5 (diff)
downloadgcc-46666b9bde5903d80ad8a30f5e7ecb6fc4208290.zip
gcc-46666b9bde5903d80ad8a30f5e7ecb6fc4208290.tar.gz
gcc-46666b9bde5903d80ad8a30f5e7ecb6fc4208290.tar.bz2
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>
-rw-r--r--gcc/testsuite/gm2/cpp/pass/testlong4.mod33
-rw-r--r--gcc/testsuite/gm2/pim/pass/TestLong4.mod3
2 files changed, 34 insertions, 2 deletions
diff --git a/gcc/testsuite/gm2/cpp/pass/testlong4.mod b/gcc/testsuite/gm2/cpp/pass/testlong4.mod
new file mode 100644
index 0000000..97dd4b2
--- /dev/null
+++ b/gcc/testsuite/gm2/cpp/pass/testlong4.mod
@@ -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.
diff --git a/gcc/testsuite/gm2/pim/pass/TestLong4.mod b/gcc/testsuite/gm2/pim/pass/TestLong4.mod
index 514deb9..f2de941 100644
--- a/gcc/testsuite/gm2/pim/pass/TestLong4.mod
+++ b/gcc/testsuite/gm2/pim/pass/TestLong4.mod
@@ -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.