<html xmlns="http://www.w3.org/1999/xhtml" ><head ><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js" ></script ></head ><body ><pre ><span class="hs-pragma" >{-# LANGUAGE CPP #-}</span ><span > </span ><span id="" ></span ><span class="hs-keyword" >module</span ><span > </span ><span class="hs-identifier" >ClangCppBug</span ><span > </span ><span class="hs-keyword" >where</span ><span > </span ><span id="" ></span ><span > </span ><span id="" ></span ><span class="annot" ><a href="ClangCppBug.html#foo" ><span class="hs-identifier hs-type" >foo</span ></a ></span ><span > </span ><span class="hs-glyph" >::</span ><span > </span ><span class="annot" ><span class="hs-identifier hs-type" >Int</span ></span ><span > </span ><span id="" ></span ><span id="foo" ><span class="annot" ><span class="annottext" >foo :: Int </span ><a href="ClangCppBug.html#foo" ><span class="hs-identifier hs-var hs-var" >foo</span ></a ></span ></span ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><span class="annot" ><span class="hs-number" >1</span ></span ><span > </span ><span id="" ></span ><span > </span ><span id="" ></span ><span class="hs-comment" >-- Clang doesn't mind these:</span ><span class="hs-cpp" > #define BAX 2 </span ><span class="hs-pragma" >{-# INLINE</span ><span > </span ><span class="annot" ><a href="ClangCppBug.html#bar" ><span class="hs-pragma hs-type" >bar</span ></a ></span ><span > </span ><span class="hs-pragma" >#-}</span ><span > </span ><span id="" ></span ><span > </span ><span id="" ></span ><span class="annot" ><a href="ClangCppBug.html#bar" ><span class="hs-identifier hs-type" >bar</span ></a ></span ><span > </span ><span class="hs-glyph" >::</span ><span > </span ><span class="annot" ><span class="hs-identifier hs-type" >Int</span ></span ><span > </span ><span id="" ></span ><span id="bar" ><span class="annot" ><span class="annottext" >bar :: Int </span ><a href="ClangCppBug.html#bar" ><span class="hs-identifier hs-var hs-var" >bar</span ></a ></span ></span ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><span class="annot" ><span class="hs-number" >3</span ></span ><span > </span ><span id="" ></span ><span > </span ><span id="" ></span ><span class="hs-comment" >-- But it doesn't like this:</span ><span > </span ><span id="" ></span ><span class="hs-pragma" >{-# RULES</span ><span > </span ><span id="" ></span ><span class="annot" ><span class="hs-pragma" >"bar/qux"</span ></span ><span > </span ><span class="annot" ><a href="ClangCppBug.html#bar" ><span class="hs-pragma hs-type" >bar</span ></a ></span ><span > </span ><span class="hs-pragma" >=</span ><span > </span ><span class="annot" ><a href="ClangCppBug.html#qux" ><span class="hs-pragma hs-type" >qux</span ></a ></span ><span > </span ><span id="" ></span ><span class="annot" ><span class="hs-pragma" >"qux/foo"</span ></span ><span > </span ><span class="annot" ><a href="ClangCppBug.html#qux" ><span class="hs-pragma hs-type" >qux</span ></a ></span ><span > </span ><span class="hs-pragma" >=</span ><span > </span ><span class="annot" ><a href="ClangCppBug.html#foo" ><span class="hs-pragma hs-type" >foo</span ></a ></span ><span > </span ><span id="" ></span ><span > </span ><span class="hs-pragma" >#-}</span ><span > </span ><span id="" ></span ><span > </span ><span id="" ></span ><span class="annot" ><a href="ClangCppBug.html#qux" ><span class="hs-identifier hs-type" >qux</span ></a ></span ><span > </span ><span class="hs-glyph" >::</span ><span > </span ><span class="annot" ><span class="hs-identifier hs-type" >Int</span ></span ><span > </span ><span id="" ></span ><span id="qux" ><span class="annot" ><span class="annottext" >qux :: Int </span ><a href="ClangCppBug.html#qux" ><span class="hs-identifier hs-var hs-var" >qux</span ></a ></span ></span ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><span class="annot" ><span class="hs-number" >88</span ></span ><span > </span ><span id="" ></span ></pre ></body ></html >