- Oct 10, 2014
-
-
Raymond Toy authored
-
Raymond Toy authored
Initial attempt to unify extern-alien-name, primarily for darwin (x86 and ppc). Thus, systems using elf do not prepend an underscore, but other systems are assumed to prepend an underscore. This is currently only for darwin/x86. A cross-compile on darwin x86 is needed. * code/x86-vm.lisp: * For elf systems, don't prepend an underscore. For other systems, do prepend. * compiler/generic/new-genesis.lisp: * Fix long-standing bug where we should call EXTERN-ALIEN-NAME to get the right name for "resolve_linkage_tramp". * lisp/Darwin-os.c: * Update os_dlsym to assume the external name is always preceded by an underscore. The lookup for dlysm is done by stripping off the leading underscore. * lisp/os-common.c: * Add EXTERN_ALIEN_NAME macro to create the correct alien name for elf and non-elf systems. * Use it to generate the correct name to be used for comparison in the sanity checks of the linkage table entries.
-
- Oct 09, 2014
-
-
Raymond Toy authored
dlsym works on OSX/ppc like on other ports. A cross-compile was used with cross-ppc-ppc-darwin.lisp. I'm not sure a cross-compile is required, though. * code/ppc-vm.lisp: * EXTERN-ALIEN-NAME doesn't need to prepend an underscore anymore. * lisp/Config.ppc_darwin: * Don't compile/link ppc-darwin-dlshim.c. * lisp/os-common.c: * Don't prepend underscore for call_into_lisp. * tools/cross-scripts/cross-ppc-ppc-darwin.lisp: * EXTERN-ALIEN-NAME doesn't need to prepend an underscore anymore.
-
- Oct 02, 2014
-
-
Raymond Toy authored
Previously (18a at least), %ENUMERATE-DIRECTORIES would return a path even if a directory element did not exist. This behavior is restored. See email from cmucl-help, Sep 26, 2014. * src/code/filesys.lisp: * Fix regression.in %ENUMERATE-DIRECTORIES. Even if the directory does not exist, we continue recursing instead of stopping. * src/general-info/release-20f.txt: * Update * tests/filesys.lisp: * New file adding tests for UNIX-NAMESTRING.
-
Raymond Toy authored
Previously (18a at least), %ENUMERATE-DIRECTORIES would return a path even if a directory element did not exist. This behavior is restored. See email from cmucl-help, Sep 26, 2014. * src/code/filesys.lisp: * Fix regression.in %ENUMERATE-DIRECTORIES. Even if the directory does not exist, we continue recursing instead of stopping. * src/general-info/release-20f.txt: * Update * tests/filesys.lisp: * New file adding tests for UNIX-NAMESTRING.
-
- Oct 01, 2014
-
-
Raymond Toy authored
-
- Sep 28, 2014
-
-
Raymond Toy authored
-
- Sep 27, 2014
-
-
Raymond Toy authored
This is a long standing bug where INTEGER-DECODE-FLOAT returned incorrect values for denormal double-float numbers. The lower 32 bits of the double were not shifted enough when creating the integer result. As a side-effect, DECODE-FLOAT decodes denormal double-float's correctly and SCALE-FLOAT scales denormals correctly too. * src/code/float.lisp: * Shift the lower 32-bit of the fraction one more time to adjust for the fact that the upper 20 bits were shifted an extra time. * tests/float.lisp: * Add several tests for INTEGER-DECODE-FLOAT, SCALE-FLOAT, and DECODE-FLOAT. * src/general-info/release-20f.txt: * Add this bug fix to the notes. Conflicts: tests/float.lisp
-
Raymond Toy authored
This is a long standing bug where INTEGER-DECODE-FLOAT returned incorrect values for denormal double-float numbers. The lower 32 bits of the double were not shifted enough when creating the integer result. As a side-effect, DECODE-FLOAT decodes denormal double-float's correctly and SCALE-FLOAT scales denormals correctly too. * src/code/float.lisp: * Shift the lower 32-bit of the fraction one more time to adjust for the fact that the upper 20 bits were shifted an extra time. * tests/float.lisp: * Add several tests for INTEGER-DECODE-FLOAT, SCALE-FLOAT, and DECODE-FLOAT. * src/general-info/release-20f.txt: * Add this bug fix to the notes.
-
- Sep 26, 2014
-
-
Raymond Toy authored
-
Raymond Toy authored
-
- Sep 25, 2014
-
-
Raymond Toy authored
Without this, compiled code produces different answers from interpreted code. * src/code/irrat.lisp: * Add cases where the base is 2 or 10 to compute the log in the same way as the deftransform for LOG does. * tests/float.lisp: * Fix comparison to use equalp, not equal. * Add test for log10.
-
- Sep 20, 2014
-
-
Raymond Toy authored
* src/code/irrat.lisp: * Define %log10 to use fdlibm's log10 * src/lisp/GNUmakefile * Compile e_log10 * tests/trig.lisp * Add tests for %log10.
-
Raymond Toy authored
* src/code/irrat.lisp * Improve accuracy of log2 for the case when x=2^k. There might be some loss in accuracy for other values of x, however. * tests/float.lisp * Add test for log2(2^k) = k.
-
- Aug 29, 2014
-
-
Raymond Toy authored
an arrest-reason, destroy-process doesn't take effect. Destroy-process sets process-state to :active to try to ensure it gets the interrupt, but it also needs to clear process-%arrest-reasons and push something on process-%run-reasons. Patch from Paul Foley.
-
- Aug 26, 2014
-
-
Raymond Toy authored
These numbers are called signaling, not trapping NaN in almost all usages. * code/exports.lisp: * Export FLOAT-SIGNALING-NAN-P. * code/float.lisp: * Implement FLOAT-SIGNALING-NAN-P. * Make FLOAT-TRAPPING-NAN-P an inline call to the FLOAT-SIGNALING-NAN-P and add a docstring to say it is deprecated. * code/print.lisp: * Print "Signaling" instead of "Trapping". * i18n/locale/cmucl.pot: * Regenerated due to the changes in docstrings.
-
- Aug 23, 2014
-
-
Raymond Toy authored
-
- Aug 22, 2014
-
-
Raymond Toy authored
doesn't use x87.
-
Raymond Toy authored
On 32-bit linux, we can still get FP exceptions using x87 because 32-bit linux can still use x87 instructions for arithmetic. Because of this, we need to re-enable the support x87 floating-point modes, including getting and setting the modes and also extracting the modes from a sigcontext. * src/code/float-trap.lisp: * Put back support for getting and setting the x87 FP modes. * src/compiler/x86/float.lisp: * Add comment on the layout of the status and control words for x87. * src/lisp/Linux-os.c: * Put back support for getting the x87 (and sse2) FP modes. Needed in the sigfpe-handler in float-trap.lisp. Some of this needs to be cleaned up because we always require sse2 now.
-
- Aug 10, 2014
-
-
Raymond Toy authored
* code/format.lisp: * Add support for Gray streams for tabulation, calling STREAM-ADVANCE-TO-COLUMN as needed. * tests/gray-stream.lisp: * Add tests for absolute and relative tabulation. These are simple and just compare that lisp streams and Gray streams produce the same output. * general-info/release-20f.txt: * Update.
-
- Aug 09, 2014
-
-
Raymond Toy authored
* code/reader.lisp: * The READER-ERROR condition tries to be helpful and print out the position of where the error occurred using FILE-POSITION. But FILE-POSITION flames out when the stream is closed, so check for a closed stream before calling FILE-POSITION * tests/trac.lisp: * Add test from the bug report. * general-info/release-20f.txt: * Update.
-
Raymond Toy authored
Implements STREAM-FILE-POSiTION and (SETF STREAM-FILE-POSITION). * code/stream.lisp: * Add support for Gray streams in FILE-POSITION. * pcl/gray-streams.lisp: * Define STREAM-FILE-POSITION and (SETF STREAM-FILE-POSITION). * Add methods on FUNDAMENTAL-STREAM, CHARACTER-INPUT-STREAM, and CHARACTER-OUTPUT-STREAM. * code/exports.lisp: * Export STREAM-FILE-POSITION.
-
- Aug 02, 2014
-
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
-
- Aug 01, 2014
-
-
Raymond Toy authored
This appears to be a very old bug where clear-output didn't clear the output for fd-streams.
-
Raymond Toy authored
See ticket #101. This fixes item 1 of that bug report.
-
- Jul 31, 2014
-
-
Raymond Toy authored
This is the patch from the ticket except that the boot file name has been changed to conform to the usual naming rules. To test it, try (c::info :source-location :class 'error). This should return something like #S(C::FILE-SOURCE-LOCATION :FORM-NUMBERS 52 :PATHNAME "target:code/error.lisp") Notes: * compiler/globaldb.lisp: New info-type source-location/class. As class names can theoretically also be variable names it seemed reasonable to introduce this instead of using the existing source-location/defvar. * code/error.lisp (%compiler-define-condition): Take source-location as argument and store it in the infodb. (define-condition): Pass source-location along. * bootfiles/20e/boot-2014-06-1.lisp: New bootfile needed because error.lisp is compiled before globaldb.lisp.
-
Raymond Toy authored
duplicated in irrat.lisp.
-
Raymond Toy authored
-
Raymond Toy authored
now in C.
-
- Jul 26, 2014
-
-
Raymond Toy authored
* code/exports.lisp: * Export %ieee754-rem-pi/2 and %sincos. * code/irrat.lisp: * Remove some conditionalization that is always true now. * compiler/float-tran.lisp: * %sincos is exported so we don't need the package qualifier.
-
Raymond Toy authored
Update def-math-rtn to allow specifying the C function name and the lisp function name so we can use def-math-rtn with the new trig functions.
-
Raymond Toy authored
-
- Jul 22, 2014
-
-
Raymond Toy authored
-
Raymond Toy authored
to C. Also add interface to sincos function in C. This needs more testing and currently some tests fail.
-