1. 17 Apr, 2019 2 commits
  2. 17 Dec, 2018 1 commit
  3. 08 Dec, 2018 1 commit
  4. 06 Dec, 2018 1 commit
  5. 12 Oct, 2018 2 commits
  6. 07 Oct, 2018 2 commits
  7. 22 Sep, 2018 2 commits
  8. 25 Aug, 2018 1 commit
    • Raymond Toy's avatar
      Add support for compiling with clang on x86/linux · 82bf2c72
      Raymond Toy authored
      Add `Config.x86_linux_clang` to use clang instead of gcc to build
      cmucl.  update `create-target.sh` so that it sets the motif variant
      correctly when using `Config.x86_linux_clang`
      
      See issue #68.
      
      With this config, Fedora 28 successfully builds cmucl and passes all
      the tests.
      82bf2c72
  9. 05 Aug, 2018 3 commits
    • Raymond Toy's avatar
      Fix compiler warning · 2de12cd7
      Raymond Toy authored
      clang complains:
      
       warning: incompatible pointer to integer conversion passing
            'lispobj *' (aka 'unsigned long *') to parameter of type 'lispobj' (aka 'unsigned long');
            dereference with * [-Wint-conversion]
              || in_range_p(addr, control_stack, control_stack_size)
      
      So cast control_stack to lispobj.  Same complaint for binding_stack
      too.
      2de12cd7
    • Raymond Toy's avatar
      7c79326d
    • Raymond Toy's avatar
      Export more symbols in defpackage for xlib. · cb251bbe
      Raymond Toy authored
      The compiler complained that these symbols were also being exported
      from the XLIB package.  Just add them to the defpackage to silence the
      warnings.
      cb251bbe
  10. 27 Jul, 2018 1 commit
  11. 22 Jul, 2018 2 commits
  12. 15 Jul, 2018 1 commit
  13. 04 Jul, 2018 2 commits
    • Raymond Toy's avatar
      Rename functions to use the new version by default. · d652bd09
      Raymond Toy authored
      Update tests to reflect the change in names.
      d652bd09
    • Raymond Toy's avatar
      Bignum multiply without consing temp space · 90d8b4b5
      Raymond Toy authored
      The current bignum multiplier creates temp space to hold the absolute
      value of the bignums and then negates the result (in-place) at the
      end.
      
      Instead, use the algorithm from Hacker's Delight that pretends the
      numbers are unsigned, does the unsigned multiply and finally corrects
      the result.  No extra memory is needed for this.
      90d8b4b5
  14. 12 May, 2018 1 commit
  15. 14 Mar, 2018 1 commit
    • Raymond Toy's avatar
      Update manual date to 21c · 3c749f8b
      Raymond Toy authored
      Just change the date on the manual to the date of the 21c release.
      Now that we can create the html pages again with hevea, we can update
      this.
      3c749f8b
  16. 05 Mar, 2018 2 commits
  17. 19 Feb, 2018 1 commit
    • Raymond Toy's avatar
      Complex array accessors are not foldable · e9a598e5
      Raymond Toy authored
      Fixes #61 and #62.
      
      The `ARRAY-HAS-FILL-POINTER-P` and `ARRAY-DISPLACEMENT` functions are
      declared inline and the compiler tries to constant-fold these inlined
      functions operating on simple arrays.
      
      Thus don't allow the compiler to constant-fold calls to
      `%ARRAY-FILL-POINTER-P`.  This is normally protected by a call to
      `ARRAY-HEADER-P`, but when it's inlined, the compiler tries to
      constant-fold `%ARRAY-FILL-POINTER-P` on an array without such a slot.
      
      Likewise `ARRAY-DISPLACEMENT` calls `%ARRAY-DISPLACED-P`,
      `%ARRAY-DATA-VECTOR`, and `%ARRAY-DISPLACEMENT`, and the calls are
      protected by `ARRAY-HEADER-P`. So don't constant-fold these either.
      
      Maybe we could also make CONSTANT-FOLD-CALL be smarter about this?
      
      * src/compiler/generic/objdef.lisp
        * Remove flushable from these ref-trans methods.
      * src/general-info/release-21d.md
        * Update
      * tests/issues.lisp
        * Add tests from the bug reports.
      e9a598e5
  18. 18 Feb, 2018 2 commits
    • Raymond Toy's avatar
      Fix #58: Bogus type error in comparison of complex number with `THE` form · bccd6a98
      Raymond Toy authored
      The deftransforms `upgraded-complex-real-contagion-arg1` and
      `upgraded-complex-real-contagion-arg2` were coercing the complex
      number to the exact type of the float number.  Because of the `THE`
      form, the type of the float was `(member 1d0)`, so the compiler was
      coercing `#c(1/2 1/2)` to `(complex (double-float 1d0))`, which is
      wrong.
      
      Therefore, coerce the complex to just the type format of the real
      part, ignoring any bounds.
      
      * src/compiler/float-tran.lisp
        * Coerce to format type, discarding any bounds
      * src/general-info/release-21d.md
        * Update notes
      * tests/issues.lisp
        * Added test for this
      bccd6a98
    • Raymond Toy's avatar
      Fix #60: `C::%UNARY-FROUND` is undefined · 26e3ad82
      Raymond Toy authored
      Remove the symbol `C::%UNARY-FROUND` and just let the compiler package
      inherit it from the kernel package.
      
      * src/bootfiles/21c/boot-2018-02-1.lisp
          * Use this to bootstrap the change (by uninterning the symbol)
      * src/code/float.lisp
          * Just export %unary-fround
      * src/general-info/release-21d.md
          * Update
      * tests/issues.lisp
          * Add test for this issue
      26e3ad82
  19. 13 Feb, 2018 2 commits
  20. 10 Feb, 2018 1 commit
  21. 04 Feb, 2018 1 commit
  22. 03 Feb, 2018 1 commit
    • Raymond Toy's avatar
      Fix #59: type derivation for decode-float exponent · 3acdd1b7
      Raymond Toy authored
      Type derivation for exponent part of decode-float was incorrect.  We
      need to take the absolute value of the argument before deriving the
      type since the exponent is, of course, independent of the sign of the
      number.  In the test case, the negative interval caused the lower and
      upper bounds to be reversed, resulting in an invalid interval.
      3acdd1b7
  23. 29 Jan, 2018 1 commit
  24. 28 Jan, 2018 2 commits
    • Raymond Toy's avatar
      Restore ability to compile in mt19937 rng. · 380759e3
      Raymond Toy authored
      - src/tools/worldbuild.lisp
          - only compile rand-xoroshiro if :random-xoroshiro is a feature
      - src/tools/worldload.lisp
          - only load rand-xoroshiro if :random-xoroshiro is a feature
      - tests/rng.lisp
          - Add a quick test that the state vector of the *random-state* has
            the correct type.
      380759e3
    • Raymond Toy's avatar
      Make sure spawn is called with a string · 87c07e5d
      Raymond Toy authored
      The previous commit worked for search lists, but the program could be
      a string.  Take care to convert pathnames to strings so that spawn is
      always called with a string.
      87c07e5d
  25. 27 Jan, 2018 4 commits