Add extra warnings to match what Android uses.

R=mtklein@google.com

Review URL: https://codereview.chromium.org/74193005

git-svn-id: http://skia.googlecode.com/svn/trunk@12310 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gyp/common_conditions.gypi b/gyp/common_conditions.gypi
index 770269f..917298f 100644
--- a/gyp/common_conditions.gypi
+++ b/gyp/common_conditions.gypi
@@ -149,6 +149,22 @@
     # The following section is common to linux + derivatives and android
     [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "nacl", "chromeos", "android"]',
       {
+        'cflags': [
+          '-fno-exceptions',
+          '-fstrict-aliasing',
+        
+          '-Wall',
+          '-Wextra',
+          '-Winit-self',
+          '-Wpointer-arith',
+
+          '-Wno-unused-parameter',
+          '-Wno-c++11-extensions',
+        ],
+        'cflags_cc': [
+          '-fno-rtti',
+          '-Wnon-virtual-dtor',
+        ],
         'conditions': [
           [ 'skia_warnings_as_errors', {
             'cflags': [
@@ -229,13 +245,6 @@
             'defines': [ 'NDEBUG' ],
           },
         },
-        'cflags': [
-          '-Wall',
-          '-Wextra',
-          # suppressions below here were added for clang
-          '-Wno-unused-parameter',
-          '-Wno-c++11-extensions',
-        ],
         'conditions' : [
           [ 'skia_shared_lib', {
             'cflags': [
@@ -474,14 +483,8 @@
           '-llog',
         ],
         'cflags': [
-          '-Wall',
-          '-fno-exceptions',
-          '-fstrict-aliasing',
           '-fuse-ld=gold',
         ],
-        'cflags_cc': [
-          '-fno-rtti',
-        ],
         'conditions': [
           [ 'skia_shared_lib', {
             'cflags': [
diff --git a/gyp/poppler.gyp b/gyp/poppler.gyp
index 5b53389..027aea3 100644
--- a/gyp/poppler.gyp
+++ b/gyp/poppler.gyp
@@ -129,6 +129,9 @@
       'cflags': [
         '-w'
       ],
+      'cflags_cc!': [
+        '-fno-rtti'
+      ],
       'conditions': [
         ['skia_os == "linux"', {
           'include_dirs': [
diff --git a/platform_tools/android/gyp/dependencies.gypi b/platform_tools/android/gyp/dependencies.gypi
index 82763be..bb0db71 100644
--- a/platform_tools/android/gyp/dependencies.gypi
+++ b/platform_tools/android/gyp/dependencies.gypi
@@ -42,9 +42,7 @@
         '../third_party/externals/expat/lib',
       ],
       'cflags': [
-        '-Wall',
-        '-Wmissing-prototypes',
-        '-Wstrict-prototypes',
+        '-w',
         '-fexceptions',
         '-DHAVE_EXPAT_CONFIG_H',
       ],
@@ -66,12 +64,9 @@
         '../third_party/externals/gif',
       ],
       'cflags': [
-        '-Wno-format',
+        '-w',
         '-DHAVE_CONFIG_H',
       ],
-      'cflags!': [
-        '-Wall',
-      ],
       'direct_dependent_settings': {
         'include_dirs': [
           '../third_party/externals/gif',
@@ -104,11 +99,9 @@
         '../third_party/externals/png',
       ],
       'cflags': [
+        '-w',
         '-fvisibility=hidden',
       ],
-      'cflags!': [
-        '-Wall',
-      ],
       'link_settings': {
         'libraries': [
           '-lz',
diff --git a/src/animator/SkScriptCallBack.h b/src/animator/SkScriptCallBack.h
index dcbaf11..fefc482 100644
--- a/src/animator/SkScriptCallBack.h
+++ b/src/animator/SkScriptCallBack.h
@@ -13,6 +13,8 @@
 
 class SkScriptCallBack {
 public:
+    virtual ~SkScriptCallBack() { }
+
     enum Type {
         kBox,
         kFunction,
diff --git a/src/core/SkBuffer.h b/src/core/SkBuffer.h
index 369d9c0..9791cf5 100644
--- a/src/core/SkBuffer.h
+++ b/src/core/SkBuffer.h
@@ -39,6 +39,8 @@
         fStop = (const char*)data + size;
     }
 
+    virtual ~SkRBuffer() { }
+
     /** Return the number of bytes that have been read from the beginning
         of the data pointer.
     */
diff --git a/src/gpu/gl/GrGLProgramEffects.h b/src/gpu/gl/GrGLProgramEffects.h
index 4572a42..3320891 100644
--- a/src/gpu/gl/GrGLProgramEffects.h
+++ b/src/gpu/gl/GrGLProgramEffects.h
@@ -129,6 +129,8 @@
  */
 class GrGLProgramEffectsBuilder {
 public:
+    virtual ~GrGLProgramEffectsBuilder() { }
+
     /**
      * Emits the effect's shader code, and stores the necessary uniforms internally.
      */
@@ -211,6 +213,7 @@
 class GrGLVertexProgramEffectsBuilder : public GrGLProgramEffectsBuilder {
 public:
     GrGLVertexProgramEffectsBuilder(GrGLFullShaderBuilder*, int reserveCount);
+    virtual ~GrGLVertexProgramEffectsBuilder() { }
 
     virtual void emitEffect(const GrEffectStage&,
                             GrGLProgramEffects::EffectKey,
@@ -298,6 +301,7 @@
 class GrGLTexGenProgramEffectsBuilder : public GrGLProgramEffectsBuilder {
 public:
     GrGLTexGenProgramEffectsBuilder(GrGLFragmentOnlyShaderBuilder*, int reserveCount);
+    virtual ~GrGLTexGenProgramEffectsBuilder() { }
 
     virtual void emitEffect(const GrEffectStage&,
                             GrGLProgramEffects::EffectKey,