Add alignment to hsc2hs template
authorRyanGlScott <ryan.gl.scott@gmail.com>
Sat, 19 Dec 2015 00:31:24 +0000 (01:31 +0100)
committerThomas Miedema <thomasmiedema@gmail.com>
Sat, 19 Dec 2015 00:39:17 +0000 (01:39 +0100)
commitd9c13cb8f5be89a030783d758fcf7c077351c6a9
tree4fec3c34340dc9553bfe95aaa63903eddaf6e085
parentbb205d806c1368e483edde288cbf8ed2cfca2ba6
Add alignment to hsc2hs template

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
CrossCodegen.hs
DirectCodegen.hs
template-hsc.h