This project is mirrored from https://github.com/haskell/hsc2hs. Pull mirroring updated .
  1. 21 Feb, 2018 1 commit
    • Moritz Angermann's avatar
      Adds a crude at&t assembly parser to resolve constants · 31c34809
      Moritz Angermann authored
      Our current approach is taken from autoconf, and requires a binary search to
      find constants.  This is not only very time consuming but also breaks when the
      compiler fails to recognize an expression as constant.  As such we ask the
      compiler to produce assembly, crudely parse that assembly and try to extract the
      constant directly from the generated assembly.
      31c34809
  2. 30 Nov, 2017 1 commit
  3. 20 Nov, 2017 1 commit
  4. 19 Nov, 2017 1 commit
    • Moritz Angermann's avatar
      Add support for relative lookup of template-hsc.h (#2) · 9c13b192
      Moritz Angermann authored
      If the `IN_GHC_TREE` CPP macro is defined (controlled by the `in-ghc-tree` cabal flag),
      as a last resort, we also try to locate the template relative to the location of the currently
      executed `hsc2hs`. Note that this is a hack to work around
      only partial relocatable support in cabal, and is here to allow the `hsc2hs`
      built and shipped with ghc to be relocatable with the ghc
      binary distribution it ships with.
      
      Note that on Windows, `getExecutablePath` doesn't yet operate correctly
      in the presence of symlinks; but this should note have any detrimental
      effects. This will be fixed/improved in future `base` version.
      9c13b192
  5. 28 Oct, 2017 2 commits
  6. 21 Oct, 2017 1 commit
  7. 29 Sep, 2017 1 commit
    • Moritz Angermann's avatar
      Build utilities with the bootstrap compiler when cross compiling · ecdac062
      Moritz Angermann authored
      This should fix Trac #14297.  When building a cross compiler, we have rather little use
      of utilities that do not run on the host, where the compiler runs. As such we should
      build the utilities with the bootstrap (stage 0) compiler rather than witht he
      in-tree (stage 1) compiler when CrossCompiling.
      
      This used to results in the utilities we ship in the binary distribution to be built for
      the wrong host.  This diff tries to rectify the situation and allow the binary distribution
      to contain the utilities for the host when CrossCompiling.
      
      See also https://phabricator.haskell.org/D4048
      ecdac062
  8. 26 Apr, 2017 2 commits
  9. 21 Apr, 2017 1 commit
  10. 15 Mar, 2017 2 commits
    • Bartosz Nitka's avatar
      Make hsc_alignment work in clang · d7e49a6d
      Bartosz Nitka authored
      Summary:
      With the old definition clang gives this error:
      ```
      error: '(anonymous struct at example.cpp:15:3)'
        cannot be defined in a type specifier
      ```
      This makes it work under clang.
      
      Test Plan:
      Test with https://godbolt.org/g/kIBwyP and look at the
      assembly.
      
      Reviewers: O25 HSC2HS, hvr, austin, bgamari, mpickering
      
      Reviewed By: bgamari
      
      Subscribers: simonmar
      
      Differential Revision: https://phabricator.haskell.org/D3346
      d7e49a6d
    • Rufflewind's avatar
      Track column numbers · df6b31d7
      Rufflewind authored
      Summary:
      Keep track of column numbers and inform GHC whenever the column number
      could be potentially desynchronized from the original source code.  This
      should fix GHC #13388 on Trac.
      
      Test Plan: validate
      
      Reviewers: O25 HSC2HS, hvr, bgamari
      
      Reviewed By: bgamari
      
      Differential Revision: https://phabricator.haskell.org/D3314
      df6b31d7
  11. 26 Jan, 2017 1 commit
  12. 06 Dec, 2016 2 commits
  13. 11 Nov, 2016 1 commit
  14. 04 Nov, 2016 1 commit
    • Erik de Castro Lopo's avatar
      Fix type signature of main test function · fe2de68c
      Erik de Castro Lopo authored
      During C compiler feature testing, the `main` function was defined
      with a parameter list of `(int argc, char *argv [])` but these
      parameters were not used. This results in compiler warnings when
      the generated file is compiled with the `-Wextra` warning flag
      added to the `cc-options` of the cabal file.
      
      Reviewers: hvr, RyanGlScott, bgamari, rwbarton
      
      Reviewed By: rwbarton
      
      Differential Revision: https://phabricator.haskell.org/D2677
      fe2de68c
  15. 30 Aug, 2016 1 commit
  16. 19 Apr, 2016 1 commit
  17. 19 Dec, 2015 1 commit
    • Ryan Scott's avatar
      Add alignment to hsc2hs template · d9c13cb8
      Ryan Scott authored
      Previously, calculating alignment values was commonly done by defining a
      custom macro via `#let`:
      
      ```
      (y__); }, y__)
      ```
      
      Not only is this tedious, but it also doesn't work in cross-compilation
      mode (see #10272). It makes sense to define this in `hsc2hs` for symmetry
      with `#size`, `#poke`, `#peek`, etc., as well as to make it easier to
      cross-compile `.hsc` files.
      
      Fixes #4340.
      
      Reviewed By: thomie, erikd
      
      Differential Revision: https://phabricator.haskell.org/D1436
      
      GHC Trac Issues: #4340, #10272
      d9c13cb8
  18. 02 Nov, 2015 1 commit
  19. 01 Nov, 2015 2 commits
  20. 17 Oct, 2015 1 commit
  21. 15 Aug, 2015 1 commit
  22. 05 Apr, 2015 1 commit
  23. 11 Mar, 2015 1 commit
  24. 04 Mar, 2015 1 commit
  25. 27 Dec, 2014 2 commits
  26. 30 Oct, 2014 1 commit
  27. 01 Oct, 2014 3 commits
  28. 01 Aug, 2014 1 commit
  29. 02 Oct, 2013 1 commit
  30. 18 Sep, 2013 1 commit
  31. 08 Sep, 2013 1 commit
  32. 21 Apr, 2013 1 commit