summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorPierre Bourdon <delroth@gmail.com>2014-02-20 04:11:52 +0100
committerPierre Bourdon <delroth@gmail.com>2014-02-22 23:37:29 +0100
commit83b7bb64aa5e1ee6b18eaa5d08c17bb5b6c57048 (patch)
tree9b633ca7531de6e36a49216ac2db91e8e7879bae /Source/Core
parent65bbfdb8123b4ea3e15b967b5b03b4b4335c0040 (diff)
Make Common/ mostly IWYU clean (and fix errors in rest of the project detected by this change).
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Common/ArmCPUDetect.cpp1
-rw-r--r--Source/Core/Common/Atomic.h4
-rw-r--r--Source/Core/Common/Atomic_GCC.h2
-rw-r--r--Source/Core/Common/Atomic_Win32.h2
-rw-r--r--Source/Core/Common/BreakPoints.cpp3
-rw-r--r--Source/Core/Common/CDUtils.cpp6
-rw-r--r--Source/Core/Common/ChunkFile.h2
-rw-r--r--Source/Core/Common/Common.h8
-rw-r--r--Source/Core/Common/CommonPaths.h3
-rw-r--r--Source/Core/Common/CommonTypes.h1
-rw-r--r--Source/Core/Common/DebugInterface.h1
-rw-r--r--Source/Core/Common/FifoQueue.h4
-rw-r--r--Source/Core/Common/FileSearch.cpp3
-rw-r--r--Source/Core/Common/FileUtil.cpp11
-rw-r--r--Source/Core/Common/FileUtil.h5
-rw-r--r--Source/Core/Common/FixedSizeQueue.h2
-rw-r--r--Source/Core/Common/GenericFPURoundMode.cpp3
-rw-r--r--Source/Core/Common/Hash.h2
-rw-r--r--Source/Core/Common/IniFile.cpp8
-rw-r--r--Source/Core/Common/IniFile.h3
-rw-r--r--Source/Core/Common/LinearDiskCache.h1
-rw-r--r--Source/Core/Common/LogManager.cpp10
-rw-r--r--Source/Core/Common/LogManager.h9
-rw-r--r--Source/Core/Common/MathUtil.cpp2
-rw-r--r--Source/Core/Common/MathUtil.h2
-rw-r--r--Source/Core/Common/MemArena.cpp11
-rw-r--r--Source/Core/Common/MemArena.h2
-rw-r--r--Source/Core/Common/MemoryUtil.cpp8
-rw-r--r--Source/Core/Common/MemoryUtil.h5
-rw-r--r--Source/Core/Common/Misc.cpp4
-rw-r--r--Source/Core/Common/MsgHandler.cpp2
-rw-r--r--Source/Core/Common/NandPaths.cpp6
-rw-r--r--Source/Core/Common/NandPaths.h3
-rw-r--r--Source/Core/Common/SDCardUtil.cpp4
-rw-r--r--Source/Core/Common/SettingsHandler.cpp9
-rw-r--r--Source/Core/Common/StdConditionVariable.h8
-rw-r--r--Source/Core/Common/StdMutex.h6
-rw-r--r--Source/Core/Common/StdThread.h6
-rw-r--r--Source/Core/Common/StringUtil.cpp11
-rw-r--r--Source/Core/Common/StringUtil.h1
-rw-r--r--Source/Core/Common/SymbolDB.cpp7
-rw-r--r--Source/Core/Common/SymbolDB.h1
-rw-r--r--Source/Core/Common/SysConf.cpp5
-rw-r--r--Source/Core/Common/SysConf.h2
-rw-r--r--Source/Core/Common/Timer.cpp2
-rw-r--r--Source/Core/Common/x64ABI.cpp1
-rw-r--r--Source/Core/Common/x64ABI.h2
-rw-r--r--Source/Core/Common/x64CPUDetect.cpp4
-rw-r--r--Source/Core/Common/x64Emitter.cpp1
-rw-r--r--Source/Core/Common/x64Emitter.h3
-rw-r--r--Source/Core/Common/x64FPURoundMode.cpp1
-rw-r--r--Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device.h1
-rw-r--r--Source/Core/Core/PowerPC/PowerPC.cpp1
-rw-r--r--Source/Core/DolphinWX/ISOProperties.h1
-rw-r--r--Source/Core/VideoBackends/Software/SWCommandProcessor.cpp1
-rw-r--r--Source/Core/VideoCommon/Fifo.cpp1
56 files changed, 153 insertions, 65 deletions
diff --git a/Source/Core/Common/ArmCPUDetect.cpp b/Source/Core/Common/ArmCPUDetect.cpp
index 65353ba339..12998e1bde 100644
--- a/Source/Core/Common/ArmCPUDetect.cpp
+++ b/Source/Core/Common/ArmCPUDetect.cpp
@@ -5,6 +5,7 @@
#include "Common/Common.h"
#include "Common/CPUDetect.h"
#include "Common/FileUtil.h"
+#include "Common/StringUtil.h"
// Only Linux platforms have /proc/cpuinfo
#if !defined(BLACKBERRY) && !defined(IOS) && !defined(__SYMBIAN32__)
diff --git a/Source/Core/Common/Atomic.h b/Source/Core/Common/Atomic.h
index 88e38ed20e..c76dcb7644 100644
--- a/Source/Core/Common/Atomic.h
+++ b/Source/Core/Common/Atomic.h
@@ -6,11 +6,11 @@
#ifdef _WIN32
-#include "Common/Atomic_Win32.h"
+#include "Common/Atomic_Win32.h" // IWYU pragma: export
#else
// GCC-compatible compiler assumed!
-#include "Common/Atomic_GCC.h"
+#include "Common/Atomic_GCC.h" // IWYU pragma: export
#endif
diff --git a/Source/Core/Common/Atomic_GCC.h b/Source/Core/Common/Atomic_GCC.h
index b6aef1a94c..f06628037f 100644
--- a/Source/Core/Common/Atomic_GCC.h
+++ b/Source/Core/Common/Atomic_GCC.h
@@ -2,6 +2,8 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+// IWYU pragma: private, include "Common/Atomic.h"
+
#pragma once
#include "Common/Common.h"
diff --git a/Source/Core/Common/Atomic_Win32.h b/Source/Core/Common/Atomic_Win32.h
index 2615d94c34..dcc8585ff5 100644
--- a/Source/Core/Common/Atomic_Win32.h
+++ b/Source/Core/Common/Atomic_Win32.h
@@ -2,6 +2,8 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+// IWYU pragma: private, include "Common/Atomic.h"
+
#pragma once
#include <intrin.h>
diff --git a/Source/Core/Common/BreakPoints.cpp b/Source/Core/Common/BreakPoints.cpp
index 326f4df661..efafabc706 100644
--- a/Source/Core/Common/BreakPoints.cpp
+++ b/Source/Core/Common/BreakPoints.cpp
@@ -3,11 +3,14 @@
// Refer to the license.txt file included.
#include <sstream>
+#include <string>
+#include <vector>
#include "Common/BreakPoints.h"
#include "Common/Common.h"
#include "Common/DebugInterface.h"
#include "Core/PowerPC/JitCommon/JitBase.h"
+#include "Core/PowerPC/JitCommon/JitCache.h"
bool BreakPoints::IsAddressBreakPoint(u32 _iAddress)
{
diff --git a/Source/Core/Common/CDUtils.cpp b/Source/Core/Common/CDUtils.cpp
index 156b758749..4adcf7cee9 100644
--- a/Source/Core/Common/CDUtils.cpp
+++ b/Source/Core/Common/CDUtils.cpp
@@ -1,6 +1,9 @@
// Most of the code in this file was shamelessly ripped from libcdio With minor adjustments
-#include <memory> // for std::unique_ptr
+#include <algorithm>
+#include <cstdlib>
+#include <string>
+#include <vector>
#include "Common/CDUtils.h"
#include "Common/Common.h"
@@ -19,6 +22,7 @@
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
+#include <unistd.h>
#endif // WIN32
#ifdef __linux__
diff --git a/Source/Core/Common/ChunkFile.h b/Source/Core/Common/ChunkFile.h
index fe33d6cbaf..bc9da61b4d 100644
--- a/Source/Core/Common/ChunkFile.h
+++ b/Source/Core/Common/ChunkFile.h
@@ -13,12 +13,14 @@
// - Zero backwards/forwards compatibility
// - Serialization code for anything complex has to be manually written.
+#include <cstddef>
#include <deque>
#include <list>
#include <map>
#include <set>
#include <string>
#include <type_traits>
+#include <utility>
#include <vector>
#include "Common/Common.h"
diff --git a/Source/Core/Common/Common.h b/Source/Core/Common/Common.h
index b5d78bafd7..7d9362e408 100644
--- a/Source/Core/Common/Common.h
+++ b/Source/Core/Common/Common.h
@@ -168,7 +168,7 @@ enum EMUSTATE_CHANGE
EMUSTATE_CHANGE_STOP
};
-#include "Common/CommonTypes.h"
-#include "Common/CommonFuncs.h" // NOLINT: needs to be included after CommonTypes
-#include "Common/Log.h"
-#include "Common/MsgHandler.h"
+#include "Common/CommonTypes.h" // IWYU pragma: export
+#include "Common/CommonFuncs.h" // IWYU pragma: export // NOLINT
+#include "Common/Log.h" // IWYU pragma: export
+#include "Common/MsgHandler.h" // IWYU pragma: export
diff --git a/Source/Core/Common/CommonPaths.h b/Source/Core/Common/CommonPaths.h
index dc05b92d56..c9acf5dff4 100644
--- a/Source/Core/Common/CommonPaths.h
+++ b/Source/Core/Common/CommonPaths.h
@@ -4,9 +4,6 @@
#pragma once
-// Make sure we pick up USER_DIR if set in config.h
-#include "Common/Common.h"
-
// Directory seperators, do we need this?
#define DIR_SEP "/"
#define DIR_SEP_CHR '/'
diff --git a/Source/Core/Common/CommonTypes.h b/Source/Core/Common/CommonTypes.h
index 6ec7045c42..530ade2c0a 100644
--- a/Source/Core/Common/CommonTypes.h
+++ b/Source/Core/Common/CommonTypes.h
@@ -9,7 +9,6 @@
#pragma once
-#include <cstddef>
#include <cstdint>
#ifdef _WIN32
diff --git a/Source/Core/Common/DebugInterface.h b/Source/Core/Common/DebugInterface.h
index b1df4144c2..b90dd46ac5 100644
--- a/Source/Core/Common/DebugInterface.h
+++ b/Source/Core/Common/DebugInterface.h
@@ -1,5 +1,6 @@
#pragma once
+#include <cstring>
#include <string>
class DebugInterface
diff --git a/Source/Core/Common/FifoQueue.h b/Source/Core/Common/FifoQueue.h
index b6e237ada8..168b28ee1f 100644
--- a/Source/Core/Common/FifoQueue.h
+++ b/Source/Core/Common/FifoQueue.h
@@ -3,7 +3,11 @@
// a simple lockless thread-safe,
// single reader, single writer queue
+#include <algorithm>
+#include <cstddef>
+
#include "Common/Atomic.h"
+#include "Common/CommonTypes.h"
namespace Common
{
diff --git a/Source/Core/Common/FileSearch.cpp b/Source/Core/Common/FileSearch.cpp
index 4cecb2bf83..2fe3604f9c 100644
--- a/Source/Core/Common/FileSearch.cpp
+++ b/Source/Core/Common/FileSearch.cpp
@@ -3,14 +3,13 @@
// Refer to the license.txt file included.
#include <algorithm>
+#include <cstring>
-#include "Common/Common.h"
#include "Common/CommonPaths.h"
#include "Common/FileSearch.h"
#include "Common/StringUtil.h"
#ifndef _WIN32
-#include <sys/types.h>
#include <dirent.h>
#else
#include <windows.h>
diff --git a/Source/Core/Common/FileUtil.cpp b/Source/Core/Common/FileUtil.cpp
index 561435fb16..9765af6267 100644
--- a/Source/Core/Common/FileUtil.cpp
+++ b/Source/Core/Common/FileUtil.cpp
@@ -3,9 +3,16 @@
// Refer to the license.txt file included.
#include <algorithm>
+#include <cstddef>
+#include <cstdio>
+#include <cstring>
#include <fcntl.h>
+#include <limits.h>
+#include <string>
+#include <vector>
#include <sys/stat.h>
+#include "Common/Common.h"
#include "Common/CommonPaths.h"
#include "Common/FileUtil.h"
@@ -21,14 +28,14 @@
#include <errno.h>
#include <libgen.h>
#include <stdlib.h>
-#include <sys/param.h>
-#include <sys/types.h>
+#include <unistd.h>
#endif
#if defined(__APPLE__)
#include <CoreFoundation/CFBundle.h>
#include <CoreFoundation/CFString.h>
#include <CoreFoundation/CFURL.h>
+#include <sys/param.h>
#endif
#ifndef S_ISDIR
diff --git a/Source/Core/Common/FileUtil.h b/Source/Core/Common/FileUtil.h
index 1b49d4d269..06ee32f326 100644
--- a/Source/Core/Common/FileUtil.h
+++ b/Source/Core/Common/FileUtil.h
@@ -4,14 +4,17 @@
#pragma once
+#include <cstddef>
#include <cstdio>
#include <fstream>
#include <string>
-#include <string.h>
#include <vector>
#include "Common/Common.h"
+
+#ifdef _WIN32
#include "Common/StringUtil.h"
+#endif
// User directory indices for GetUserPath
enum {
diff --git a/Source/Core/Common/FixedSizeQueue.h b/Source/Core/Common/FixedSizeQueue.h
index b6b9b0afe8..36cb9b1d7b 100644
--- a/Source/Core/Common/FixedSizeQueue.h
+++ b/Source/Core/Common/FixedSizeQueue.h
@@ -4,6 +4,8 @@
#pragma once
+#include <cstddef>
+
// STL-look-a-like interface, but name is mixed case to distinguish it clearly from the
// real STL classes.
diff --git a/Source/Core/Common/GenericFPURoundMode.cpp b/Source/Core/Common/GenericFPURoundMode.cpp
index c8e70a4990..548e029fb9 100644
--- a/Source/Core/Common/GenericFPURoundMode.cpp
+++ b/Source/Core/Common/GenericFPURoundMode.cpp
@@ -15,7 +15,8 @@
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
-#include "FPURoundMode.h"
+#include "Common/CommonTypes.h"
+#include "Common/FPURoundMode.h"
// Generic, do nothing
namespace FPURoundMode
diff --git a/Source/Core/Common/Hash.h b/Source/Core/Common/Hash.h
index a27a1c7e92..868ccad194 100644
--- a/Source/Core/Common/Hash.h
+++ b/Source/Core/Common/Hash.h
@@ -4,6 +4,8 @@
#pragma once
+#include <cstddef>
+
#include "Common/Common.h"
u32 HashFletcher(const u8* data_u8, size_t length); // FAST. Length & 1 == 0.
diff --git a/Source/Core/Common/IniFile.cpp b/Source/Core/Common/IniFile.cpp
index 8430f01e5e..0637342a3d 100644
--- a/Source/Core/Common/IniFile.cpp
+++ b/Source/Core/Common/IniFile.cpp
@@ -6,13 +6,15 @@
// see IniFile.h
#include <algorithm>
-#include <cstdio>
-#include <cstdlib>
+#include <cstddef>
+#include <cstring>
#include <fstream>
-#include <iostream>
+#include <map>
#include <string>
+#include <utility>
#include <vector>
+#include "Common/CommonTypes.h"
#include "Common/FileUtil.h"
#include "Common/IniFile.h"
#include "Common/StringUtil.h"
diff --git a/Source/Core/Common/IniFile.h b/Source/Core/Common/IniFile.h
index c057b325b4..7db66e45cb 100644
--- a/Source/Core/Common/IniFile.h
+++ b/Source/Core/Common/IniFile.h
@@ -4,11 +4,12 @@
#pragma once
+#include <cstring>
#include <map>
-#include <set>
#include <string>
#include <vector>
+#include "Common/CommonTypes.h"
#include "Common/StringUtil.h"
struct CaseInsensitiveStringCompare
diff --git a/Source/Core/Common/LinearDiskCache.h b/Source/Core/Common/LinearDiskCache.h
index 20c689de13..ea7ee1bcd1 100644
--- a/Source/Core/Common/LinearDiskCache.h
+++ b/Source/Core/Common/LinearDiskCache.h
@@ -4,6 +4,7 @@
#pragma once
+#include <cstring>
#include <fstream>
#include "Common/Common.h"
diff --git a/Source/Core/Common/LogManager.cpp b/Source/Core/Common/LogManager.cpp
index a880b66268..860ad49ec4 100644
--- a/Source/Core/Common/LogManager.cpp
+++ b/Source/Core/Common/LogManager.cpp
@@ -2,14 +2,20 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
-#include <algorithm>
+#include <cstdarg>
+#include <cstring>
+#include <mutex>
+#include <ostream>
+#include <set>
+#include <string>
#ifdef ANDROID
#include "Core/Host.h"
#endif
#include "Common/FileUtil.h"
+#include "Common/Log.h"
#include "Common/LogManager.h"
-#include "Common/Thread.h"
+#include "Common/StringUtil.h"
#include "Common/Timer.h"
void GenericLog(LogTypes::LOG_LEVELS level, LogTypes::LOG_TYPE type,
diff --git a/Source/Core/Common/LogManager.h b/Source/Core/Common/LogManager.h
index ffd2e7efd5..7ca1da31e1 100644
--- a/Source/Core/Common/LogManager.h
+++ b/Source/Core/Common/LogManager.h
@@ -4,13 +4,12 @@
#pragma once
+#include <cstdarg>
+#include <fstream>
+#include <mutex>
#include <set>
-#include <string.h>
-#include "Common/FileUtil.h"
-#include "Common/Log.h"
-#include "Common/StringUtil.h"
-#include "Common/Thread.h"
+#include "Common/Common.h"
#define MAX_MESSAGES 8000
#define MAX_MSGLEN 1024
diff --git a/Source/Core/Common/MathUtil.cpp b/Source/Core/Common/MathUtil.cpp
index 5b3f870d9f..de56fb680d 100644
--- a/Source/Core/Common/MathUtil.cpp
+++ b/Source/Core/Common/MathUtil.cpp
@@ -3,8 +3,10 @@
// Refer to the license.txt file included.
#include <cmath>
+#include <cstring>
#include <numeric>
+#include "Common/CommonTypes.h"
#include "Common/MathUtil.h"
namespace MathUtil
diff --git a/Source/Core/Common/MathUtil.h b/Source/Core/Common/MathUtil.h
index 2cd1d8f3a6..da12822f5d 100644
--- a/Source/Core/Common/MathUtil.h
+++ b/Source/Core/Common/MathUtil.h
@@ -4,10 +4,10 @@
#pragma once
+#include <cstdlib>
#include <vector>
#include "Common/Common.h"
-#include "Common/FPURoundMode.h"
namespace MathUtil
{
diff --git a/Source/Core/Common/MemArena.cpp b/Source/Core/Common/MemArena.cpp
index 4a7c30538c..e4e68fcc80 100644
--- a/Source/Core/Common/MemArena.cpp
+++ b/Source/Core/Common/MemArena.cpp
@@ -2,20 +2,23 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstddef>
+#include <cstdlib>
#include <set>
+#include <string>
+#include "Common/Common.h"
#include "Common/MemArena.h"
-#include "Common/MemoryUtil.h"
#include "Common/StringUtil.h"
#ifdef _WIN32
#include <windows.h>
#else
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
#include <cerrno>
#include <cstring>
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/mman.h>
#ifdef ANDROID
#include <sys/ioctl.h>
#include <linux/ashmem.h>
diff --git a/Source/Core/Common/MemArena.h b/Source/Core/Common/MemArena.h
index 59e62c0009..a2efafad6e 100644
--- a/Source/Core/Common/MemArena.h
+++ b/Source/Core/Common/MemArena.h
@@ -4,6 +4,8 @@
#pragma once
+#include <cstddef>
+
#ifdef _WIN32
#include <windows.h>
#endif
diff --git a/Source/Core/Common/MemoryUtil.cpp b/Source/Core/Common/MemoryUtil.cpp
index e65f0a1cbb..cc6d569036 100644
--- a/Source/Core/Common/MemoryUtil.cpp
+++ b/Source/Core/Common/MemoryUtil.cpp
@@ -2,17 +2,19 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstddef>
+#include <cstdlib>
+#include <string>
#include "Common/Common.h"
-#include "Common/MemoryUtil.h"
-#include "Common/StringUtil.h"
#ifdef _WIN32
#include <windows.h>
#include <psapi.h>
+#include "Common/StringUtil.h"
#else
-#include <errno.h>
#include <stdio.h>
+#include <sys/mman.h>
#endif
#if !defined(_WIN32) && defined(__x86_64__) && !defined(MAP_32BIT)
diff --git a/Source/Core/Common/MemoryUtil.h b/Source/Core/Common/MemoryUtil.h
index 4655c787c2..6f437fcda7 100644
--- a/Source/Core/Common/MemoryUtil.h
+++ b/Source/Core/Common/MemoryUtil.h
@@ -4,12 +4,9 @@
#pragma once
+#include <cstddef>
#include <string>
-#ifndef _WIN32
-#include <sys/mman.h>
-#endif
-
void* AllocateExecutableMemory(size_t size, bool low = true);
void* AllocateMemoryPages(size_t size);
void FreeMemoryPages(void* ptr, size_t size);
diff --git a/Source/Core/Common/Misc.cpp b/Source/Core/Common/Misc.cpp
index 71a140c69b..fdc11146dd 100644
--- a/Source/Core/Common/Misc.cpp
+++ b/Source/Core/Common/Misc.cpp
@@ -2,7 +2,9 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
-#include "Common/Common.h"
+#include <cstddef>
+#include <cstring>
+#include <errno.h>
// Neither Android nor OS X support TLS
#if defined(__APPLE__) || (ANDROID && __clang__)
diff --git a/Source/Core/Common/MsgHandler.cpp b/Source/Core/Common/MsgHandler.cpp
index bbfa10d233..cfeb6562e7 100644
--- a/Source/Core/Common/MsgHandler.cpp
+++ b/Source/Core/Common/MsgHandler.cpp
@@ -2,7 +2,9 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstdarg>
#include <cstdio>
+#include <string>
#include "Common/Common.h"
#include "Common/StringUtil.h"
diff --git a/Source/Core/Common/NandPaths.cpp b/Source/Core/Common/NandPaths.cpp
index b4e89a5d60..03b5fa0209 100644
--- a/Source/Core/Common/NandPaths.cpp
+++ b/Source/Core/Common/NandPaths.cpp
@@ -2,11 +2,15 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstdio>
#include <fstream>
+#include <string>
+#include <utility>
-#include "Common/CommonPaths.h"
+#include "Common/Common.h"
#include "Common/FileUtil.h"
#include "Common/NandPaths.h"
+#include "Common/StringUtil.h"
namespace Common
{
diff --git a/Source/Core/Common/NandPaths.h b/Source/Core/Common/NandPaths.h
index cdaf1a7676..bf5ebc41c5 100644
--- a/Source/Core/Common/NandPaths.h
+++ b/Source/Core/Common/NandPaths.h
@@ -5,6 +5,9 @@
#pragma once
#include <string>
+#include <utility>
+#include <vector>
+
#include "Common/CommonTypes.h"
#define TITLEID_SYSMENU 0x0000000100000002ull
diff --git a/Source/Core/Common/SDCardUtil.cpp b/Source/Core/Common/SDCardUtil.cpp
index e73aa26204..7f3d21a26b 100644
--- a/Source/Core/Common/SDCardUtil.cpp
+++ b/Source/Core/Common/SDCardUtil.cpp
@@ -29,12 +29,12 @@
// Modified for Dolphin.
#include <cinttypes>
+#include <cstddef>
#include <cstdio>
-#include <cstdlib>
#include <cstring>
#include <ctime>
-#include <errno.h>
+#include "Common/Common.h"
#include "Common/FileUtil.h"
#include "Common/SDCardUtil.h"
diff --git a/Source/Core/Common/SettingsHandler.cpp b/Source/Core/Common/SettingsHandler.cpp
index b7a7aeedbd..21cabaf4b4 100644
--- a/Source/Core/Common/SettingsHandler.cpp
+++ b/Source/Core/Common/SettingsHandler.cpp
@@ -4,17 +4,20 @@
// Thanks to Treeki for writing the original class - 29/01/2012
+#include <cstddef>
+#include <cstdio>
+#include <cstring>
#include <ctime>
+#include <string>
#ifdef _WIN32
#include <mmsystem.h>
#include <sys/timeb.h>
#include <windows.h>
-#else
-#include <sys/time.h>
+#include "Common/CommonFuncs.h" // snprintf
#endif
-#include "Common/CommonPaths.h"
+#include "Common/CommonTypes.h"
#include "Common/SettingsHandler.h"
#include "Common/Timer.h"
diff --git a/Source/Core/Common/StdConditionVariable.h b/Source/Core/Common/StdConditionVariable.h
index 2f537d19fc..810b15ce74 100644
--- a/Source/Core/Common/StdConditionVariable.h
+++ b/Source/Core/Common/StdConditionVariable.h
@@ -14,7 +14,7 @@
#if GCC_VERSION >= GCC_VER(4,4,0) && __GXX_EXPERIMENTAL_CXX0X__
// GCC 4.4 provides <condition_variable>
-#include <condition_variable>
+#include <condition_variable> // IWYU pragma: export
#elif __has_include(<condition_variable>) && !ANDROID
@@ -23,14 +23,12 @@
//
// We work around this issue by undefining and redefining _.
-#undef _
-#include <condition_variable>
-#define _(s) wxGetTranslation((s))
+#include <condition_variable> // IWYU pragma: export
#elif _MSC_VER >= 1700
// The standard implementation is included since VS2012
-#include <condition_variable>
+#include <condition_variable> // IWYU pragma: export
#else
diff --git a/Source/Core/Common/StdMutex.h b/Source/Core/Common/StdMutex.h
index 365aa7f3b4..904743db80 100644
--- a/Source/Core/Common/StdMutex.h
+++ b/Source/Core/Common/StdMutex.h
@@ -13,15 +13,15 @@
#if GCC_VERSION >= GCC_VER(4,4,0) && __GXX_EXPERIMENTAL_CXX0X__
// GCC 4.4 provides <mutex>
-#include <mutex>
+#include <mutex> // IWYU pragma: export
#elif __has_include(<mutex>) && !ANDROID
// Clang + libc++
-#include <mutex>
+#include <mutex> // IWYU pragma: export
#elif _MSC_VER >= 1700
// The standard implementation is included since VS2012
-#include <mutex>
+#include <mutex> // IWYU pragma: export
#else
diff --git a/Source/Core/Common/StdThread.h b/Source/Core/Common/StdThread.h
index 7f02eebd5e..8b8357fd89 100644
--- a/Source/Core/Common/StdThread.h
+++ b/Source/Core/Common/StdThread.h
@@ -16,15 +16,15 @@
#ifndef _GLIBCXX_USE_SCHED_YIELD
#define _GLIBCXX_USE_SCHED_YIELD
#endif
-#include <thread>
+#include <thread> // IWYU pragma: export
#elif __has_include(<thread>) && !ANDROID
// Clang + libc++
-#include <thread>
+#include <thread> // IWYU pragma: export
#elif _MSC_VER >= 1700
// The standard implementation is included since VS2012
-#include <thread>
+#include <thread> // IWYU pragma: export
#else
diff --git a/Source/Core/Common/StringUtil.cpp b/Source/Core/Common/StringUtil.cpp
index 3031669323..7f7ce5d794 100644
--- a/Source/Core/Common/StringUtil.cpp
+++ b/Source/Core/Common/StringUtil.cpp
@@ -3,9 +3,18 @@
// Refer to the license.txt file included.
#include <algorithm>
+#include <cstdarg>
+#include <cstddef>
#include <cstdio>
#include <cstdlib>
-
+#include <cstring>
+#include <iomanip>
+#include <istream>
+#include <limits.h>
+#include <string>
+#include <vector>
+
+#include "Common/Common.h"
#include "Common/CommonPaths.h"
#include "Common/StringUtil.h"
diff --git a/Source/Core/Common/StringUtil.h b/Source/Core/Common/StringUtil.h
index 31e20e360c..397a289a37 100644
--- a/Source/Core/Common/StringUtil.h
+++ b/Source/Core/Common/StringUtil.h
@@ -5,6 +5,7 @@
#pragma once
#include <cstdarg>
+#include <cstddef>
#include <iomanip>
#include <sstream>
#include <string>
diff --git a/Source/Core/Common/SymbolDB.cpp b/Source/Core/Common/SymbolDB.cpp
index b44922ff6e..d708df2185 100644
--- a/Source/Core/Common/SymbolDB.cpp
+++ b/Source/Core/Common/SymbolDB.cpp
@@ -2,8 +2,13 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
-#include "Common/SymbolDB.h"
+#include <cstring>
+#include <map>
+#include <string>
+#include <utility>
+#include "Common/Common.h"
+#include "Common/SymbolDB.h"
void SymbolDB::List()
{
diff --git a/Source/Core/Common/SymbolDB.h b/Source/Core/Common/SymbolDB.h
index 2166531cc0..b30fd3218b 100644
--- a/Source/Core/Common/SymbolDB.h
+++ b/Source/Core/Common/SymbolDB.h
@@ -9,6 +9,7 @@
#include <map>
#include <string>
+#include <utility>
#include <vector>
#include "Common/Common.h"
diff --git a/Source/Core/Common/SysConf.cpp b/Source/Core/Common/SysConf.cpp
index cb634b22b9..a352b438ac 100644
--- a/Source/Core/Common/SysConf.cpp
+++ b/Source/Core/Common/SysConf.cpp
@@ -3,7 +3,12 @@
// Refer to the license.txt file included.
#include <cinttypes>
+#include <cstdio>
+#include <cstring>
+#include <string>
+#include <vector>
+#include "Common/Common.h"
#include "Common/FileUtil.h"
#include "Common/SysConf.h"
diff --git a/Source/Core/Common/SysConf.h b/Source/Core/Common/SysConf.h
index 0594a9dda2..3c2f81b8af 100644
--- a/Source/Core/Common/SysConf.h
+++ b/Source/Core/Common/SysConf.h
@@ -4,6 +4,8 @@
#pragma once
+#include <cstdio>
+#include <cstring>
#include <string>
#include <vector>
diff --git a/Source/Core/Common/Timer.cpp b/Source/Core/Common/Timer.cpp
index 1670e861db..b1e52bb0d3 100644
--- a/Source/Core/Common/Timer.cpp
+++ b/Source/Core/Common/Timer.cpp
@@ -4,6 +4,7 @@
#include <cinttypes>
#include <ctime>
+#include <string>
#ifdef _WIN32
#include <mmsystem.h>
@@ -13,6 +14,7 @@
#include <sys/time.h>
#endif
+#include "Common/CommonTypes.h"
#include "Common/StringUtil.h"
#include "Common/Timer.h"
diff --git a/Source/Core/Common/x64ABI.cpp b/Source/Core/Common/x64ABI.cpp
index ce7ce5d94d..ecbbfa0bb2 100644
--- a/Source/Core/Common/x64ABI.cpp
+++ b/Source/Core/Common/x64ABI.cpp
@@ -2,6 +2,7 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include "Common/Common.h"
#include "Common/x64ABI.h"
#include "Common/x64Emitter.h"
diff --git a/Source/Core/Common/x64ABI.h b/Source/Core/Common/x64ABI.h
index 75ca8fe1d7..ed9841919f 100644
--- a/Source/Core/Common/x64ABI.h
+++ b/Source/Core/Common/x64ABI.h
@@ -4,7 +4,7 @@
#pragma once
-#include "Common/Common.h"
+#include "Common/x64Emitter.h"
// x86/x64 ABI:s, and helpers to help follow them when JIT-ing code.
// All convensions return values in EAX (+ possibly EDX).
diff --git a/Source/Core/Common/x64CPUDetect.cpp b/Source/Core/Common/x64CPUDetect.cpp
index f9a51608e6..5ce1775843 100644
--- a/Source/Core/Common/x64CPUDetect.cpp
+++ b/Source/Core/Common/x64CPUDetect.cpp
@@ -2,11 +2,11 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
-#include <memory>
+#include <cstring>
+#include <string>
#include "Common/Common.h"
#include "Common/CPUDetect.h"
-#include "Common/StringUtil.h"
#ifdef _WIN32
#define _interlockedbittestandset workaround_ms_header_bug_platform_sdk6_set
diff --git a/Source/Core/Common/x64Emitter.cpp b/Source/Core/Common/x64Emitter.cpp
index fa6c42cfb0..a4743e2b73 100644
--- a/Source/Core/Common/x64Emitter.cpp
+++ b/Source/Core/Common/x64Emitter.cpp
@@ -6,7 +6,6 @@
#include "Common/Common.h"
#include "Common/CPUDetect.h"
-#include "Common/x64ABI.h"
#include "Common/x64Emitter.h"
namespace Gen
diff --git a/Source/Core/Common/x64Emitter.h b/Source/Core/Common/x64Emitter.h
index 52db3c20a8..43d28eb9ba 100644
--- a/Source/Core/Common/x64Emitter.h
+++ b/Source/Core/Common/x64Emitter.h
@@ -6,6 +6,9 @@
#pragma once
+#include <cstddef>
+#include <cstring>
+
#include "Common/Common.h"
#include "Common/MemoryUtil.h"
diff --git a/Source/Core/Common/x64FPURoundMode.cpp b/Source/Core/Common/x64FPURoundMode.cpp
index ae061cbebd..f3da4a0233 100644
--- a/Source/Core/Common/x64FPURoundMode.cpp
+++ b/Source/Core/Common/x64FPURoundMode.cpp
@@ -4,7 +4,6 @@
#include "Common/Common.h"
#include "Common/CPUDetect.h"
-#include "Common/FPURoundMode.h"
#ifndef _WIN32
static const unsigned short FPU_ROUND_NEAR = 0 << 10;
diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device.h b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device.h
index d5888e9295..8b4684569e 100644
--- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device.h
+++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device.h
@@ -8,6 +8,7 @@
#include <string>
#include "Common/ChunkFile.h"
+#include "Common/StringUtil.h"
#include "Core/HW/Memmap.h"
diff --git a/Source/Core/Core/PowerPC/PowerPC.cpp b/Source/Core/Core/PowerPC/PowerPC.cpp
index bf03584516..324d6cc83a 100644
--- a/Source/Core/Core/PowerPC/PowerPC.cpp
+++ b/Source/Core/Core/PowerPC/PowerPC.cpp
@@ -5,6 +5,7 @@
#include "Common/Atomic.h"
#include "Common/ChunkFile.h"
#include "Common/Common.h"
+#include "Common/FPURoundMode.h"
#include "Common/MathUtil.h"
#include "Core/Core.h"
diff --git a/Source/Core/DolphinWX/ISOProperties.h b/Source/Core/DolphinWX/ISOProperties.h
index 12c709f3be..da10c2b728 100644
--- a/Source/Core/DolphinWX/ISOProperties.h
+++ b/Source/Core/DolphinWX/ISOProperties.h
@@ -4,6 +4,7 @@
#pragma once
+#include <set>
#include <string>
#include <wx/filepicker.h>
#include <wx/fontmap.h>
diff --git a/Source/Core/VideoBackends/Software/SWCommandProcessor.cpp b/Source/Core/VideoBackends/Software/SWCommandProcessor.cpp
index bf37b47b8e..d8288adc1a 100644
--- a/Source/Core/VideoBackends/Software/SWCommandProcessor.cpp
+++ b/Source/Core/VideoBackends/Software/SWCommandProcessor.cpp
@@ -5,6 +5,7 @@
#include "Common/Atomic.h"
#include "Common/ChunkFile.h"
#include "Common/Common.h"
+#include "Common/FPURoundMode.h"
#include "Common/MathUtil.h"
#include "Common/Thread.h"
diff --git a/Source/Core/VideoCommon/Fifo.cpp b/Source/Core/VideoCommon/Fifo.cpp
index 178a8c6db6..9e3f615291 100644
--- a/Source/Core/VideoCommon/Fifo.cpp
+++ b/Source/Core/VideoCommon/Fifo.cpp
@@ -4,6 +4,7 @@
#include "Common/Atomic.h"
#include "Common/ChunkFile.h"
+#include "Common/FPURoundMode.h"
#include "Common/MemoryUtil.h"
#include "Common/Thread.h"