diff --git a/hlint.cabal b/hlint.cabal
--- a/hlint.cabal
+++ b/hlint.cabal
@@ -1,7 +1,7 @@
 cabal-version:      >= 1.6
 build-type:         Simple
 name:               hlint
-version:            1.8.14
+version:            1.8.15
 -- license is GPL v2 only
 license:            GPL
 license-file:       LICENSE
diff --git a/src/CmdLine.hs b/src/CmdLine.hs
--- a/src/CmdLine.hs
+++ b/src/CmdLine.hs
@@ -61,6 +61,7 @@
           | Language String
           | Quiet
           | Cross
+          | Ansi
             deriving Eq
 
 
@@ -83,6 +84,7 @@
        ,Option ""  ["cpp-define"] (ReqArg Define "name[=value]") "CPP #define"
        ,Option ""  ["cpp-include"] (ReqArg Include "dir") "CPP include path"
        ,Option ""  ["cpp-simple"] (NoArg SimpleCpp) "Use a simple CPP (strip # lines)"
+       ,Option ""  ["cpp-ansi"] (NoArg Ansi) "Use CPP in -ansi mode"
        ]
 
 
@@ -115,7 +117,7 @@
     let languages = getExtensions [x | Language x <- opt]
 
     let cpphs = defaultCpphsOptions
-            {boolopts=defaultBoolOptions{hashline=False}
+            {boolopts=defaultBoolOptions{hashline=False, ansi=Ansi `elem` opt}
             ,includes = [x | Include x <- opt]
             ,defines = [(a,drop 1 b) | Define x <- opt, let (a,b) = break (== '=') x]
             }
