
#8131: T7571 with WAY=llvm fails, but not WAY=optllvm ----------------------------------------------+---------------------------- Reporter: thoughtpolice | Owner: rwbarton Type: bug | Status: new Priority: high | Milestone: Component: Compiler | Version: 7.7 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Test Case: llvm/should_compile/T8131 | Difficulty: Unknown Blocking: | Blocked By: | Related Tickets: ----------------------------------------------+---------------------------- Comment (by rwbarton): This patch is basically done. I preserved the four-argument syntax for `prim %memcpy` etc. in `.cmm` files. This was trickier than I expected due to the tying-the-knot technique used to resolve Cmm names during parsing: we can't pattern-match on the alignment `CmmExpr` argument (to check whether it is a `CmmLit`) while producing the `MO_MemCpy` call. My workaround was to fail in a "pure" way, with `pprPgmError`, producing a rather ugly error message. A better solution here is welcome. But, this only affects compilation of `.cmm` files so it's not so bad if the edges are a bit rough IMO. Here is the patch for review, particularly of that parsing bit but also generally. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8131#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler