Fix pointer tagging mistake
authorDavid Feuer <david.feuer@gmail.com>
Sun, 17 Sep 2017 04:21:03 +0000 (00:21 -0400)
committerDavid Feuer <David.Feuer@gmail.com>
Sun, 17 Sep 2017 04:21:03 +0000 (00:21 -0400)
commit60a3f11ff4b7e239a273498812fd9d31f6775726
treeb1d837036d53f3ce6e6e6bede49f904800b57ed3
parent4ec4ca999ac558e1678b0a609417de5bf08c3ad5
Fix pointer tagging mistake

f9c6d53fe997f1c560cda6f346f4b201711df37c led to #14036. The
problem turned out to be rather simple: the `obj` pointer was
being tagged using `obj + arity`. Because this is C, that's done
with *pointer arithmetic*, which is not at all what we want. Add
appropriate casts.

Reviewers: austin, bgamari, erikd, simonmar

Reviewed By: bgamari

Subscribers: rwbarton, thomie

GHC Trac Issues: #14036

Differential Revision: https://phabricator.haskell.org/D3983
rts/Interpreter.c