Create the directory for dump files to be put in
authorIan Lynagh <igloo@earth.li>
Fri, 18 Nov 2011 13:48:33 +0000 (13:48 +0000)
committerIan Lynagh <igloo@earth.li>
Fri, 18 Nov 2011 13:50:09 +0000 (13:50 +0000)
Now that we don't necessarily put them in the same place as the source,
the directory may not exist.

compiler/main/ErrUtils.lhs

index 3f49863..1cce4ec 100644 (file)
@@ -34,7 +34,7 @@ module ErrUtils (
 #include "HsVersions.h"
 
 import Bag              ( Bag, bagToList, isEmptyBag, emptyBag )
-import Util             ( sortLe )
+import Util
 import Outputable
 import SrcLoc
 import DynFlags
@@ -234,6 +234,7 @@ dumpSDoc dflags dflag hdr doc
                             mode = if append then AppendMode else WriteMode
                         when (not append) $
                             writeIORef gdref (Set.insert fileName gd)
+                        createDirectoryHierarchy (takeDirectory fileName)
                         handle <- openFile fileName mode
                         hPrintDump handle doc
                         hClose handle