1. 01 Jul, 2021 1 commit
    • Daniel Kochmański's avatar
      cmp: major cleanup, separate passes · c8c59167
      Daniel Kochmański authored
      - separate passes
      
        The separation is not fine-grained but is a good starting point for further
        cleanup. This is a preliminary requirement for multiple backends.
      
      - use uninternet symbol in the package definition
      
      - remove "execute" permission from all files
      
      - remove a few unused functions
      
      - rearrange loaded files
      
      - less verbose compiler
      
        Don't print "End of pass 1." message. This doesn't provide any valuable
        information to the programmer.
      c8c59167
  2. 20 Mar, 2021 1 commit
  3. 17 Nov, 2019 1 commit
    • Marius Gerbershagen's avatar
      cmp: prevent inline information from getting lost while compiling ECL itself · b067063c
      Marius Gerbershagen authored
      C inline information is saved in +default-machine+, which was
      previously a constant. However, the value assigned to
      +default-machine+ is recomputed during load and compile
      time. Technically, assigning a constant a new value which is not eql
      to the old one is undefined behaviour in the ANSI standard. What ECL
      did was simply to reassign the constant when compiling
      cmpc-machine.lsp. However, this meant that the inline information
      which was added to +default-machine+ when loading sysfun.lsp was
      lost. Thus, all ECL source files compiled after cmpc-machine.lsp were
      compiled without inline information. We prevent this by using an
      ordinary variable *default-machine* instead of a constant.
      b067063c
  4. 24 May, 2019 1 commit
    • Daniel Kochmański's avatar
      long-float: remove conditionalization · ea87100a
      Daniel Kochmański authored
      Many parts of the source code were bent backward to support builds
      without long floats which are always present given we depend expect
      c99 compiler.
      
      The corresponding C macros (ECL_LONG_FLOAT) and the *feature*
      entry (:long-float) are marked as deprecated in the documentation.
      ea87100a
  5. 15 May, 2019 1 commit
    • Daniel Kochmański's avatar
      complex float: add compiler optimizations and ffi definitions · 8cc0ae72
      Daniel Kochmański authored
      - add ffi implementation for long-float
      - add ffi implementation for (complex float) types
      - add compiler optimizations and definitions for complex float
      
      We do not add c?float common constants (long-float i.e has optimizer
      for 0.0 and -0.0), because we don't know if they are common at all and
      if we think about it each would have four entries counting signed
      zeros).
      
      Also add informative comment about global-entries.
      8cc0ae72
  6. 13 Feb, 2019 1 commit
  7. 11 Aug, 2016 1 commit
  8. 04 Sep, 2015 1 commit
  9. 03 Sep, 2015 1 commit
  10. 21 Jun, 2015 1 commit
  11. 02 Jun, 2013 1 commit
  12. 27 Dec, 2011 1 commit
  13. 19 Dec, 2011 1 commit
  14. 22 May, 2011 1 commit
  15. 21 May, 2011 1 commit
  16. 01 Nov, 2010 1 commit
  17. 05 Jun, 2010 2 commits
  18. 15 May, 2010 1 commit
  19. 11 May, 2010 2 commits
  20. 19 Jun, 2009 3 commits
  21. 14 Jun, 2009 2 commits
  22. 02 Aug, 2008 2 commits
  23. 02 Feb, 2008 1 commit
  24. 23 Oct, 2006 1 commit
  25. 13 Oct, 2006 1 commit
  26. 01 Sep, 2006 1 commit
  27. 16 May, 2006 1 commit
  28. 04 May, 2005 1 commit