
#12391: LANGUAGE CPP messes up parsing when backslash like \\ is at end of line (eol) -------------------------------------+------------------------------------- Reporter: andreas.abel | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 (Parser) | Resolution: | Keywords: CPP Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by andreas.abel): This makes for a nice exploit: {{{#!hs -- {-# LANGUAGE CPP #-} {-# LANGUAGE TemplateHaskell #-} -- for quickCheckAll import Test.QuickCheck.All infixl 6 % infixl 6 %\ -- Was this the correct fixity? (%) :: Int -> Int -> Int x % y = x - y (%\) :: Int -> Int -> Int x %\ y = (x + 1) - y prop_by_def x y = (x + 1) % y == x %\ y return [] -- TH hack main = $quickCheckAll }}} Uncomment the CPP pragma and quickCheck again! -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12391#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler