Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
-
772641b9
by Raymond Toy at 2026-02-05T19:39:14-08:00
-
6ac1b6b4
by Raymond Toy at 2026-02-05T19:39:14-08:00
3 changed files:
Changes:
| ... | ... | @@ -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
|
| ... | ... | @@ -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
|
| ... | ... | @@ -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
|