Fix the includes in lib/Fuzzer on Windows that have ordering
dependencies and add comments to tell future maintainers about those
requirements.

llvm-svn: 304843
diff --git a/llvm/lib/Fuzzer/FuzzerExtFunctionsDlsymWin.cpp b/llvm/lib/Fuzzer/FuzzerExtFunctionsDlsymWin.cpp
index f6c7e07..321b3ec 100644
--- a/llvm/lib/Fuzzer/FuzzerExtFunctionsDlsymWin.cpp
+++ b/llvm/lib/Fuzzer/FuzzerExtFunctionsDlsymWin.cpp
@@ -13,9 +13,11 @@
 
 #include "FuzzerExtFunctions.h"
 #include "FuzzerIO.h"
-#include "Psapi.h"
 #include "Windows.h"
 
+// This must be included after Windows.h.
+#include "Psapi.h"
+
 namespace fuzzer {
 
 ExternalFunctions::ExternalFunctions() {
diff --git a/llvm/lib/Fuzzer/FuzzerUtilWindows.cpp b/llvm/lib/Fuzzer/FuzzerUtilWindows.cpp
index 8d0678d..25ac976 100644
--- a/llvm/lib/Fuzzer/FuzzerUtilWindows.cpp
+++ b/llvm/lib/Fuzzer/FuzzerUtilWindows.cpp
@@ -12,7 +12,6 @@
 #if LIBFUZZER_WINDOWS
 #include "FuzzerIO.h"
 #include "FuzzerInternal.h"
-#include <Psapi.h>
 #include <cassert>
 #include <chrono>
 #include <cstring>
@@ -24,6 +23,9 @@
 #include <sys/types.h>
 #include <windows.h>
 
+// This must be included after windows.h.
+#include <Psapi.h>
+
 namespace fuzzer {
 
 static const FuzzingOptions* HandlerOpt = nullptr;