{-# LANGUAGE CPP #-}
module ClangCppBug where

foo :: Int
foo :: Int
foo = 1

-- Clang doesn't mind these:
#define BAX 2
{-# INLINE bar #-}

bar :: Int
bar :: Int
bar = 3

-- But it doesn't like this:
{-# RULES
"bar/qux" bar = qux
"qux/foo" qux = foo
  #-}

qux :: Int
qux :: Int
qux = 88