> Why is it trying to create "."?
You can specify -o<dir> with a directory that doesn't exist; perhaps GHC
always tries to create the output directory?
In any case, I can confirm the observed behavior with GHC 7.6.1 on
Windows 8, running with elevated privilege. It seems to only be a
problem in the root directory tho---while I can observe the problem in
both C:\ and D:\, I can't in any subdirectories thereof.
That makes a certain amount of sense; the root directory of a drive is treated somewhat specially for backward compatibility reasons. (In particular, "." is emulated --- on FAT, at least, neither "." nor ".." exists in a drive root, and this behavior may well be emulated to keep from confusing older programs.)