Windows/Path.inc: Move <shlobj.h> after "Windows.h" for some API available.
authorNAKAMURA Takumi <geek4civic@gmail.com>
Wed, 12 Feb 2014 11:50:22 +0000 (11:50 +0000)
committerNAKAMURA Takumi <geek4civic@gmail.com>
Wed, 12 Feb 2014 11:50:22 +0000 (11:50 +0000)
  I found that swapping the order of some header files helped fix a
  build issue that we're seeing on mingw32. Without the swap, windows.h
  was being included before _WIN32_WINNT was being defined and the
  CreateHardLinkW function was #ifdef'd out.

  It looks like the header is mainly used to get the SHGetFolderPathW
  function, so I don't think that there'll be much fallout from the
  switch.

Suggested by Alex Crichton. Thanks!

llvm-svn: 201230

llvm/lib/Support/Windows/Path.inc

index a431fa0..8329d27 100644 (file)
 #include "llvm/ADT/STLExtras.h"
 #include <fcntl.h>
 #include <io.h>
-#include <shlobj.h>
 #include <sys/stat.h>
 #include <sys/types.h>
 
-// The Windows.h header must be the last one included.
+// These two headers must be included last, and make sure shlobj is required
+// after Windows.h to make sure it picks up our definition of _WIN32_WINNT
 #include "Windows.h"
+#include <shlobj.h>
 
 #undef max