Hide STG register declarations for LLVM C compilers
authorDavid M Peixotto <dmp@rice.edu>
Wed, 7 Dec 2011 14:20:47 +0000 (08:20 -0600)
committerSimon Marlow <marlowsd@gmail.com>
Mon, 19 Dec 2011 15:35:58 +0000 (15:35 +0000)
commitf542da48a7c7bdc8c7f116cfbf3db91d7d719196
treeb986a5bfd5cf3a500c959cd94dff1bf40e0833b1
parentb4018aaaebe4250e78cdcb245466fdcce8918abf
Hide STG register declarations for LLVM C compilers

This commit swaps the import order of Rts.h and Stg.h in
StgCRun.c for non-SPARC architectures. Swapping the import
order prevents the declaration of the global registers thus
allowing the GHC runtime to be compiled by LLVM-based C
compilers.

LLVM-base C compilers cannot use the global register
declarations (for R1, R2, etc.) because they use
GCC-specific extensions. The declarations are not needed in
StgCRun.c except for the SPARC architecture. The other
architectures use hand-written assembly that accesses the
appropriate register directly.
rts/StgCRun.c