Re: [Seed7-users] Templates issue
Interpreter and compiler for the Seed7 programming language.
Brought to you by:
thomas_mertes
From: Thomas M. <tho...@gm...> - 2024-08-13 08:16:59
|
Hi Simon, I have a theory about the errors in chkarr.sd7: For some reason you use a GCC which produces 32-bit executables. This can be checked when you do (in the seed7\prg directory): s7 confval Please send me the output of confval. Confval writes a list of values. One of them is POINTER_SIZE. A POINTER_SIZE of 32 would explain the errors you get in chkarr.sd7. The confval value C_COMPILER_VERSION shows which GCC version is used. Something with 13.2.0 indicates that the 64-bit gcc provided in the seed7\gcc directory is used. Something with 4.8.1 indicates that the 32-bit gcc provided in the seed7\gcc directory is used. Other values of C_COMPILER_VERSION indicate that the gcc is not from the seed7\gcc directory. The command where gcc might give a hint which other gcc is used. For the gcc from the seed7\gcc directory the "where" command gives wrong results. You can also use the command: call_gcc --version to find out which gcc version from the seed7\gcc directory is used. The last time I added tests to chkarr.sd7 I did not consider 32-bit programs. The minimum and maximum possible indices differ between 32-bit and 64-bit. As a consequence in a 32-bit system the chkarr.sd7 test will not succeed. I changed chkarr.sd7 to work for a POINTER_SIZE of 32-bit and 64-bit. I committed this to GitHub as "Fix chkarr.sd7 to work if POINTER_SIZE is 32". With this change tests with chkarr.sd7 should succeed with a 32-bit gcc. You should definitely find the root cause why a 32-bit gcc is used. One possibility would be: The seed7\gcc directory does not exist (you forgot to copy it). In this case the command bin\call_gcc.bat would use a gcc found in the search path (PATH environment variable). Best regards, Thomas |