From 751fbfdcc33420cb39aee30158706984efb4da40 Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Wed, 16 Sep 2015 08:38:12 -0400
Subject: [PATCH] general: Silence some warnings when using clang

---
 src/common/file_util.cpp                           | 4 ++--
 src/core/arm/skyeye_common/armstate.h              | 1 -
 src/core/core_timing.cpp                           | 3 ++-
 src/core/hle/kernel/timer.cpp                      | 6 ++++--
 src/core/hle/service/cfg/cfg.cpp                   | 4 ++--
 src/core/hle/service/cfg/cfg.h                     | 4 ++--
 src/core/hle/service/dsp_dsp.cpp                   | 4 ++--
 src/core/hle/service/hid/hid.cpp                   | 4 ++--
 src/core/settings.h                                | 8 ++++----
 src/video_core/debug_utils/debug_utils.cpp         | 6 +++---
 src/video_core/rasterizer.cpp                      | 4 ++--
 src/video_core/renderer_opengl/renderer_opengl.cpp | 4 ++--
 12 files changed, 27 insertions(+), 25 deletions(-)

diff --git a/src/common/file_util.cpp b/src/common/file_util.cpp
index 836b58d527..dcb9baa083 100644
--- a/src/common/file_util.cpp
+++ b/src/common/file_util.cpp
@@ -861,8 +861,8 @@ void SplitFilename83(const std::string& filename, std::array<char, 9>& short_nam
     const std::string forbidden_characters = ".\"/\\[]:;=, ";
 
     // On a FAT32 partition, 8.3 names are stored as a 11 bytes array, filled with spaces.
-    short_name = {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '\0'};
-    extension = {' ', ' ', ' ', '\0'};
+    short_name = {{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '\0'}};
+    extension = {{' ', ' ', ' ', '\0'}};
 
     std::string::size_type point = filename.rfind('.');
     if (point == filename.size() - 1)
diff --git a/src/core/arm/skyeye_common/armstate.h b/src/core/arm/skyeye_common/armstate.h
index b364e26210..ceb159d144 100644
--- a/src/core/arm/skyeye_common/armstate.h
+++ b/src/core/arm/skyeye_common/armstate.h
@@ -247,6 +247,5 @@ private:
     static const u32 RESERVATION_GRANULE_MASK = 0xFFFFFFF8;
 
     u32 exclusive_tag; // The address for which the local monitor is in exclusive access mode
-    u32 exclusive_result;
     bool exclusive_state;
 };
diff --git a/src/core/core_timing.cpp b/src/core/core_timing.cpp
index 56615502c1..aba22cdd1f 100644
--- a/src/core/core_timing.cpp
+++ b/src/core/core_timing.cpp
@@ -3,6 +3,7 @@
 // Refer to the license.txt file included.
 
 #include <atomic>
+#include <cinttypes>
 #include <mutex>
 #include <vector>
 
@@ -530,7 +531,7 @@ void Idle(int max_idle) {
         }
     }
 
-    LOG_TRACE(Core_Timing, "Idle for %i cycles! (%f ms)", cycles_down, cycles_down / (float)(g_clock_rate_arm11 * 0.001f));
+    LOG_TRACE(Core_Timing, "Idle for %" PRId64 " cycles! (%f ms)", cycles_down, cycles_down / (float)(g_clock_rate_arm11 * 0.001f));
 
     idled_cycles += cycles_down;
     Core::g_app_core->down_count -= cycles_down;
diff --git a/src/core/hle/kernel/timer.cpp b/src/core/hle/kernel/timer.cpp
index 8aa4110a6a..08b3ea8c0b 100644
--- a/src/core/hle/kernel/timer.cpp
+++ b/src/core/hle/kernel/timer.cpp
@@ -2,6 +2,8 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <cinttypes>
+
 #include "common/assert.h"
 #include "common/logging/log.h"
 
@@ -71,11 +73,11 @@ static void TimerCallback(u64 timer_handle, int cycles_late) {
     SharedPtr<Timer> timer = timer_callback_handle_table.Get<Timer>(static_cast<Handle>(timer_handle));
 
     if (timer == nullptr) {
-        LOG_CRITICAL(Kernel, "Callback fired for invalid timer %08lX", timer_handle);
+        LOG_CRITICAL(Kernel, "Callback fired for invalid timer %08" PRIx64, timer_handle);
         return;
     }
 
-    LOG_TRACE(Kernel, "Timer %u fired", timer_handle);
+    LOG_TRACE(Kernel, "Timer %08" PRIx64 " fired", timer_handle);
 
     timer->signaled = true;
 
diff --git a/src/core/hle/service/cfg/cfg.cpp b/src/core/hle/service/cfg/cfg.cpp
index 6f2cf0190c..715a9b8c3f 100644
--- a/src/core/hle/service/cfg/cfg.cpp
+++ b/src/core/hle/service/cfg/cfg.cpp
@@ -77,10 +77,10 @@ static const ConsoleCountryInfo COUNTRY_INFO = { { 0, 0, 0 }, UNITED_STATES_COUN
  * for example Nintendo Zone
  * Thanks Normmatt for providing this information
  */
-static const std::array<float, 8> STEREO_CAMERA_SETTINGS = {
+static const std::array<float, 8> STEREO_CAMERA_SETTINGS = {{
     62.0f, 289.0f, 76.80000305175781f, 46.08000183105469f,
     10.0f, 5.0f, 55.58000183105469f, 21.56999969482422f
-};
+}};
 static_assert(sizeof(STEREO_CAMERA_SETTINGS) == 0x20, "STEREO_CAMERA_SETTINGS must be exactly 0x20 bytes");
 
 static const u32 CONFIG_SAVEFILE_SIZE = 0x8000;
diff --git a/src/core/hle/service/cfg/cfg.h b/src/core/hle/service/cfg/cfg.h
index 7b7a76b082..231528fd63 100644
--- a/src/core/hle/service/cfg/cfg.h
+++ b/src/core/hle/service/cfg/cfg.h
@@ -44,7 +44,7 @@ struct SaveConfigBlockEntry {
 // TODO(Link Mauve): use a constexpr once MSVC starts supporting it.
 #define C(code) (u16)((code)[0] | ((code)[1] << 8))
 
-static const std::array<u16, 187> country_codes = {
+static const std::array<u16, 187> country_codes = {{
     0,       C("JP"), 0,       0,       0,       0,       0,       0,       // 0-7
     C("AI"), C("AG"), C("AR"), C("AW"), C("BS"), C("BB"), C("BZ"), C("BO"), // 8-15
     C("BR"), C("VG"), C("CA"), C("KY"), C("CL"), C("CO"), C("CR"), C("DM"), // 16-23
@@ -69,7 +69,7 @@ static const std::array<u16, 187> country_codes = {
     C("AE"), C("IN"), C("EG"), C("OM"), C("QA"), C("KW"), C("SA"), C("SY"), // 168-175
     C("BH"), C("JO"), 0,       0,       0,       0,       0,       0,       // 176-183
     C("SM"), C("VA"), C("BM")                                               // 184-186
-};
+}};
 
 #undef C
 
diff --git a/src/core/hle/service/dsp_dsp.cpp b/src/core/hle/service/dsp_dsp.cpp
index a8cb15d603..ce5619069f 100644
--- a/src/core/hle/service/dsp_dsp.cpp
+++ b/src/core/hle/service/dsp_dsp.cpp
@@ -212,10 +212,10 @@ static void ReadPipeIfPossible(Service::Interface* self) {
 
     // Canned DSP responses that games expect. These were taken from HW by 3dmoo team.
     // TODO: Remove this hack :)
-    static const std::array<u16, 16> canned_read_pipe = {
+    static const std::array<u16, 16> canned_read_pipe = {{
         0x000F, 0xBFFF, 0x9E8E, 0x8680, 0xA78E, 0x9430, 0x8400, 0x8540,
         0x948E, 0x8710, 0x8410, 0xA90E, 0xAA0E, 0xAACE, 0xAC4E, 0xAC58
-    };
+    }};
 
     u32 initial_size = read_pipe_count;
 
diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp
index c35b13b25f..2e1e5c3e92 100644
--- a/src/core/hle/service/hid/hid.cpp
+++ b/src/core/hle/service/hid/hid.cpp
@@ -35,14 +35,14 @@ static Kernel::SharedPtr<Kernel::Event> event_debug_pad;
 static u32 next_pad_index;
 static u32 next_touch_index;
 
-const std::array<Service::HID::PadState, Settings::NativeInput::NUM_INPUTS> pad_mapping = {
+const std::array<Service::HID::PadState, Settings::NativeInput::NUM_INPUTS> pad_mapping = {{
     Service::HID::PAD_A, Service::HID::PAD_B, Service::HID::PAD_X, Service::HID::PAD_Y,
     Service::HID::PAD_L, Service::HID::PAD_R, Service::HID::PAD_ZL, Service::HID::PAD_ZR,
     Service::HID::PAD_START, Service::HID::PAD_SELECT, Service::HID::PAD_NONE,
     Service::HID::PAD_UP, Service::HID::PAD_DOWN, Service::HID::PAD_LEFT, Service::HID::PAD_RIGHT,
     Service::HID::PAD_CIRCLE_UP, Service::HID::PAD_CIRCLE_DOWN, Service::HID::PAD_CIRCLE_LEFT, Service::HID::PAD_CIRCLE_RIGHT,
     Service::HID::PAD_C_UP, Service::HID::PAD_C_DOWN, Service::HID::PAD_C_LEFT, Service::HID::PAD_C_RIGHT
-};
+}};
 
 
 // TODO(peachum):
diff --git a/src/core/settings.h b/src/core/settings.h
index 6ca0e1afce..0b05e5bee5 100644
--- a/src/core/settings.h
+++ b/src/core/settings.h
@@ -19,22 +19,22 @@ enum Values {
     CUP, CDOWN, CLEFT, CRIGHT,
     NUM_INPUTS
 };
-static const std::array<const char*, NUM_INPUTS> Mapping = {
+static const std::array<const char*, NUM_INPUTS> Mapping = {{
     "pad_a", "pad_b", "pad_x", "pad_y",
     "pad_l", "pad_r", "pad_zl", "pad_zr",
     "pad_start", "pad_select", "pad_home",
     "pad_dup", "pad_ddown", "pad_dleft", "pad_dright",
     "pad_sup", "pad_sdown", "pad_sleft", "pad_sright",
     "pad_cup", "pad_cdown", "pad_cleft", "pad_cright"
-};
-static const std::array<Values, NUM_INPUTS> All = {
+}};
+static const std::array<Values, NUM_INPUTS> All = {{
     A, B, X, Y,
     L, R, ZL, ZR,
     START, SELECT, HOME,
     DUP, DDOWN, DLEFT, DRIGHT,
     SUP, SDOWN, SLEFT, SRIGHT,
     CUP, CDOWN, CLEFT, CRIGHT
-};
+}};
 }
 
 
diff --git a/src/video_core/debug_utils/debug_utils.cpp b/src/video_core/debug_utils/debug_utils.cpp
index 77a4fe2722..aa1f1484c7 100644
--- a/src/video_core/debug_utils/debug_utils.cpp
+++ b/src/video_core/debug_utils/debug_utils.cpp
@@ -92,7 +92,7 @@ void GeometryDumper::AddTriangle(Vertex& v0, Vertex& v1, Vertex& v2) {
     vertices.push_back(v2);
 
     int num_vertices = (int)vertices.size();
-    faces.push_back({ num_vertices-3, num_vertices-2, num_vertices-1 });
+    faces.push_back({{ num_vertices-3, num_vertices-2, num_vertices-1 }});
 }
 
 void GeometryDumper::Dump() {
@@ -576,8 +576,8 @@ const Math::Vec4<u8> LookupTexture(const u8* source, int x, int y, const Texture
                 unsigned table_index = static_cast<int>((x < 2) ? table_index_1.Value() : table_index_2.Value());
 
                 static const std::array<std::array<u8, 2>, 8> etc1_modifier_table = {{
-                    {  2,  8 }, {  5, 17 }, {  9,  29 }, { 13,  42 },
-                    { 18, 60 }, { 24, 80 }, { 33, 106 }, { 47, 183 }
+                    {{  2,  8 }}, {{  5, 17 }}, {{  9,  29 }}, {{ 13,  42 }},
+                    {{ 18, 60 }}, {{ 24, 80 }}, {{ 33, 106 }}, {{ 47, 183 }}
                 }};
 
                 int modifier = etc1_modifier_table.at(table_index).at(GetTableSubIndex(texel));
diff --git a/src/video_core/rasterizer.cpp b/src/video_core/rasterizer.cpp
index a90ff5fef4..6e2266b1c0 100644
--- a/src/video_core/rasterizer.cpp
+++ b/src/video_core/rasterizer.cpp
@@ -735,11 +735,11 @@ static void ProcessTriangleInternal(const Shader::OutputVertex& v0,
                 auto color_output = ColorCombine(tev_stage.color_op, color_result);
 
                 // alpha combiner
-                std::array<u8,3> alpha_result = {
+                std::array<u8,3> alpha_result = {{
                     GetAlphaModifier(tev_stage.alpha_modifier1, GetSource(tev_stage.alpha_source1)),
                     GetAlphaModifier(tev_stage.alpha_modifier2, GetSource(tev_stage.alpha_source2)),
                     GetAlphaModifier(tev_stage.alpha_modifier3, GetSource(tev_stage.alpha_source3))
-                };
+                }};
                 auto alpha_output = AlphaCombine(tev_stage.alpha_op, alpha_result);
 
                 combiner_output[0] = std::min((unsigned)255, color_output.r() * tev_stage.GetColorMultiplier());
diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp
index 22f261c686..f1313b54f5 100644
--- a/src/video_core/renderer_opengl/renderer_opengl.cpp
+++ b/src/video_core/renderer_opengl/renderer_opengl.cpp
@@ -314,12 +314,12 @@ void RendererOpenGL::ConfigureFramebufferTexture(TextureInfo& texture,
  * Draws a single texture to the emulator window, rotating the texture to correct for the 3DS's LCD rotation.
  */
 void RendererOpenGL::DrawSingleScreenRotated(const TextureInfo& texture, float x, float y, float w, float h) {
-    std::array<ScreenRectVertex, 4> vertices = {
+    std::array<ScreenRectVertex, 4> vertices = {{
         ScreenRectVertex(x,   y,   1.f, 0.f),
         ScreenRectVertex(x+w, y,   1.f, 1.f),
         ScreenRectVertex(x,   y+h, 0.f, 0.f),
         ScreenRectVertex(x+w, y+h, 0.f, 1.f),
-    };
+    }};
 
     state.texture_units[0].texture_2d = texture.handle;
     state.Apply();