Raymond Toy pushed to branch master at cmucl / cmucl

Commits:

3 changed files:

Changes:

  • .gitlab-ci.yml
    ... ... @@ -147,7 +147,9 @@ linux:build:
    147 147
         - job: linux:install
    
    148 148
           artifacts: true
    
    149 149
       variables:
    
    150
    -    CONFIG: "x86_linux_clang"
    
    150
    +    # Fedora 41 must build with gcc because the clang build fails some
    
    151
    +    # ansi-tests.  See [#469].
    
    152
    +    CONFIG: "x86_linux"
    
    151 153
       # These rules is needed so that the static analyzer job can run on a
    
    152 154
       # schedule because this is a prerequisite of the analyzer build.  A
    
    153 155
       # regular push or merge request does the normal stuff.
    
    ... ... @@ -171,7 +173,7 @@ linux:cross-build:
    171 173
           - linux-4/lisp
    
    172 174
       variables:
    
    173 175
         # This must match the config used for the linux build!
    
    174
    -    CONFIG: "x86_linux_clang"
    
    176
    +    CONFIG: "x86_linux"
    
    175 177
     
    
    176 178
       needs:
    
    177 179
     
    
    ... ... @@ -346,7 +348,10 @@ ubuntu:build:
    346 348
         - job: ubuntu:install
    
    347 349
           artifacts: true
    
    348 350
       variables:
    
    349
    -    CONFIG: "x86_linux_clang"
    
    351
    +    # Build with gcc on Ubuntu 25.10.  It produces a lisp than passes
    
    352
    +    # the ansi-tests.  Clang seems to fail the ansi-tests WRITE.1,
    
    353
    +    # PRINT.1, and friends when cr_pow is used.
    
    354
    +    CONFIG: "x86_linux"
    
    350 355
     
    
    351 356
     ubuntu:test:
    
    352 357
       <<: *unit_test_configuration
    

  • bin/run-unit-tests.sh
    ... ... @@ -41,6 +41,11 @@ done
    41 41
     # Shift out the options
    
    42 42
     shift $((OPTIND - 1))
    
    43 43
     
    
    44
    +# Create the test directory needed by the issue.45 test.
    
    45
    +#rm -rf test-tmp
    
    46
    +#mkdir test-tmp
    
    47
    +#ln -s /bin/ls test-tmp/ls-link
    
    48
    +
    
    44 49
     # Set the timestamps on 64-bit-timestamp-2038.txt and
    
    45 50
     # 64-bit-timestamp-2106.txt, but only for OSes where we know this
    
    46 51
     # works.  (This is so we don't an annoying error message from touch
    

  • src/lisp/irrat.c
    ... ... @@ -202,13 +202,17 @@ lisp_log10(double x)
    202 202
     double
    
    203 203
     lisp_pow(double x, double y)
    
    204 204
     {
    
    205
    +#ifdef FEATURE_CORE_MATH
    
    205 206
         /*
    
    206
    -     * cr_pow seems causes ansi-tests to fail in test WRITE.1 among
    
    207
    -     * others.  Somewhere an invalid operation is occurring.  Thus
    
    208
    -     * just use fdlibm for now until we can figure out what's causing
    
    209
    -     * the failure.
    
    207
    +     * cr_pow when compiled with older versions of gcc or clang can
    
    208
    +     * cause failures in the ansi-tests [#469].  Ubuntu 25.10 and Fedora 41
    
    209
    +     * (gcc only) are known to have compilers that work well enough
    
    210
    +     * that the ansi-tests pass.
    
    210 211
          */
    
    212
    +    return cr_pow(x, y);
    
    213
    +#else    
    
    211 214
         return __ieee754_pow(x, y);
    
    215
    +#endif
    
    212 216
     }
    
    213 217
     
    
    214 218
     double