Enable more Clang warnings for talk/

BUG=4242
R=andresp@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46999004

Cr-Commit-Position: refs/heads/master@{#9053}
diff --git a/talk/app/webrtc/java/jni/peerconnection_jni.cc b/talk/app/webrtc/java/jni/peerconnection_jni.cc
index 12ac8c6..721c654 100644
--- a/talk/app/webrtc/java/jni/peerconnection_jni.cc
+++ b/talk/app/webrtc/java/jni/peerconnection_jni.cc
@@ -712,7 +712,7 @@
 
  private:
   explicit VideoRendererWrapper(cricket::VideoRenderer* renderer)
-    : renderer_(renderer), width_(0), height_(0) {}
+    : width_(0), height_(0), renderer_(renderer) {}
   int width_, height_;
   scoped_ptr<cricket::VideoRenderer> renderer_;
 };
diff --git a/talk/app/webrtc/statscollector_unittest.cc b/talk/app/webrtc/statscollector_unittest.cc
index 279e95f..dfefd68 100644
--- a/talk/app/webrtc/statscollector_unittest.cc
+++ b/talk/app/webrtc/statscollector_unittest.cc
@@ -475,8 +475,8 @@
           new cricket::ChannelManager(media_engine_,
                                       new cricket::FakeDeviceManager(),
                                       rtc::Thread::Current())),
-      signaling_(channel_manager_.get()),
-      session_(channel_manager_.get()) {
+      session_(channel_manager_.get()),
+      signaling_(channel_manager_.get()) {
     // By default, we ignore session GetStats calls.
     EXPECT_CALL(session_, GetTransportStats(_)).WillRepeatedly(Return(false));
     EXPECT_CALL(session_, mediastream_signaling()).WillRepeatedly(
diff --git a/talk/build/common.gypi b/talk/build/common.gypi
index bd42465..d7c6881 100644
--- a/talk/build/common.gypi
+++ b/talk/build/common.gypi
@@ -81,6 +81,9 @@
             'cflags': [
               '-Wall',
               '-Wextra',
+              '-Wimplicit-fallthrough',
+              '-Wmissing-braces',
+              '-Wreorder',
               '-Wunused-variable',
               # TODO(ronghuawu): Fix the warning caused by
               # LateBindingSymbolTable::TableInfo from
diff --git a/talk/media/sctp/sctpdataengine.cc b/talk/media/sctp/sctpdataengine.cc
index 5312d86..136edab 100644
--- a/talk/media/sctp/sctpdataengine.cc
+++ b/talk/media/sctp/sctpdataengine.cc
@@ -379,7 +379,7 @@
   }
 
   // Disable MTU discovery
-  struct sctp_paddrparams params = {0};
+  struct sctp_paddrparams params = {{0}};
   params.spp_assoc_id = 0;
   params.spp_flags = SPP_PMTUD_DISABLE;
   params.spp_pathmtu = kSctpMtu;
diff --git a/talk/media/webrtc/webrtcvideoengine.cc b/talk/media/webrtc/webrtcvideoengine.cc
index 98cde33..da40738 100644
--- a/talk/media/webrtc/webrtcvideoengine.cc
+++ b/talk/media/webrtc/webrtcvideoengine.cc
@@ -196,10 +196,13 @@
   switch (severity) {
     case rtc::LS_VERBOSE:
       filter |= webrtc::kTraceAll;
+      FALLTHROUGH();
     case rtc::LS_INFO:
       filter |= (webrtc::kTraceStateInfo | webrtc::kTraceInfo);
+      FALLTHROUGH();
     case rtc::LS_WARNING:
       filter |= (webrtc::kTraceTerseInfo | webrtc::kTraceWarning);
+      FALLTHROUGH();
     case rtc::LS_ERROR:
       filter |= (webrtc::kTraceError | webrtc::kTraceCritical);
   }
diff --git a/talk/media/webrtc/webrtcvideoengine2.cc b/talk/media/webrtc/webrtcvideoengine2.cc
index 14ab8a8..17d1c3c 100644
--- a/talk/media/webrtc/webrtcvideoengine2.cc
+++ b/talk/media/webrtc/webrtcvideoengine2.cc
@@ -1448,8 +1448,8 @@
     const Settable<VideoCodecSettings>& codec_settings,
     const StreamParams& sp,
     const std::vector<webrtc::RtpExtension>& rtp_extensions)
-    : call_(call),
-      ssrcs_(sp.ssrcs),
+    : ssrcs_(sp.ssrcs),
+      call_(call),
       external_encoder_factory_(external_encoder_factory),
       stream_(NULL),
       parameters_(webrtc::VideoSendStream::Config(),
diff --git a/talk/media/webrtc/webrtcvoiceengine.cc b/talk/media/webrtc/webrtcvoiceengine.cc
index 32a80bb..411872a 100644
--- a/talk/media/webrtc/webrtcvoiceengine.cc
+++ b/talk/media/webrtc/webrtcvoiceengine.cc
@@ -182,10 +182,13 @@
   switch (severity) {
     case rtc::LS_VERBOSE:
       filter |= webrtc::kTraceAll;
+      FALLTHROUGH();
     case rtc::LS_INFO:
       filter |= (webrtc::kTraceStateInfo | webrtc::kTraceInfo);
+      FALLTHROUGH();
     case rtc::LS_WARNING:
       filter |= (webrtc::kTraceTerseInfo | webrtc::kTraceWarning);
+      FALLTHROUGH();
     case rtc::LS_ERROR:
       filter |= (webrtc::kTraceError | webrtc::kTraceCritical);
   }
diff --git a/talk/session/media/channel.cc b/talk/session/media/channel.cc
index ab6cb2e..fb0f8e2 100644
--- a/talk/session/media/channel.cc
+++ b/talk/session/media/channel.cc
@@ -1063,6 +1063,7 @@
     case CA_UPDATE:
       // No RTCP mux info.
       ret = true;
+      break;
     default:
       break;
   }