Turning on warning as error on Linux
authorsugoi@google.com <sugoi@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Mon, 11 Mar 2013 18:45:12 +0000 (18:45 +0000)
committersugoi@google.com <sugoi@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Mon, 11 Mar 2013 18:45:12 +0000 (18:45 +0000)
Fixed the few remaining warnings and turned on warning as error on Linux.

Explicitly turned off warning as error in libjpeg, cityhash and json.
Review URL: https://codereview.chromium.org/12521010

git-svn-id: http://skia.googlecode.com/svn/trunk@8067 2bbb7eff-a529-9590-31e7-b0007b416f81

gyp/common_conditions.gypi
gyp/jsoncpp.gyp
gyp/libjpeg.gyp
gyp/utils.gyp
src/animator/SkDrawExtraPathEffect.cpp
src/pdf/SkPDFCatalog.cpp

index e379f27b9ee8af5834eeaaa1edc4b2f5af413811..90662d146db8cb621cc17efe58b7bc3c27272d59 100644 (file)
           },
         },
         'cflags': [
-          # TODO(tony): Enable -Werror once all the strict-aliasing problems
-          # are fixed.
-          #'-Werror',
+          '-Werror',
           '-Wall',
           '-Wextra',
           # suppressions below here were added for clang
index 07507d49544bda1131c57f8e4f53c4d31ea0b0cb..254963999d4bd6010b8e7edc48163c19e88854cc 100644 (file)
             '-Werror',
           ],
         }],
+        ['skia_os in ["linux", "freebsd", "openbsd", "solaris", "nacl"]', {
+          'cflags!': [
+            '-Werror',
+          ],
+        }],
       ],
     },
   ],
index a9d6aefa0bc3af2d7edafca9846fc9efea834535..394f2ee0939f99fbe1dc455441a77de885b7d378 100644 (file)
                '-Werror',
               ],
             }],
+            ['OS in ["linux", "freebsd", "openbsd", "solaris", "nacl"]', {
+              'cflags!': [
+               '-Werror',
+              ],
+            }],
           ],
         },
       ],
index ab725dfcc98a48eea6ad5c183d49175092c01d4a..f98e6fc9ceb684c9360d255e8e5a59021f400d25 100644 (file)
             '-Werror',
           ],
         }],
+        ['skia_os in ["linux", "freebsd", "openbsd", "solaris", "nacl"]', {
+          'cflags!': [
+            '-Werror',
+          ],
+        }],
       ],
     },
   ],
index 8cfde258048ac683e80162e63b91fac77e6f828f..e624d195c06eaf3916e8a9876ad1bda015c5fd80 100644 (file)
@@ -128,6 +128,9 @@ protected:
                 apply->interpolate(*fMaker, SkScalarMulRound(distance, 1000));
                 matrix = (SkDrawMatrix*) apply->getScope();
             }
+            if (matrix) {
+                m = matrix->getMatrix();
+            }
         }
         SkScalar result = 0;
         SkAnimatorScript::EvaluateFloat(*fMaker, NULL, fDraw->spacing.c_str(), &result);
@@ -228,14 +231,21 @@ public:
     }
 
 protected:
-    virtual void begin(const SkIRect& uvBounds, SkPath* )
-    {
+    virtual void begin(const SkIRect& uvBounds, SkPath*) const SK_OVERRIDE {
+        const_cast<SkShape2DPathEffect*>(this)->setUVBounds(uvBounds);
+    }
+
+    virtual void next(const SkPoint& loc, int u, int v, SkPath* dst) const SK_OVERRIDE {
+        const_cast<SkShape2DPathEffect*>(this)->addPath(loc, u, v, dst);
+    }
+
+private:
+    void setUVBounds(const SkIRect& uvBounds) {
         fUVBounds.set(SkIntToScalar(uvBounds.fLeft), SkIntToScalar(uvBounds.fTop),
             SkIntToScalar(uvBounds.fRight), SkIntToScalar(uvBounds.fBottom));
     }
 
-    virtual void next(const SkPoint& loc, int u, int v, SkPath* dst)
-    {
+    void addPath(const SkPoint& loc, int u, int v, SkPath* dst) {
         fLoc = loc;
         fU = u;
         fV = v;
@@ -272,8 +282,6 @@ clearCallBack:
         fMaker->clearExtraPropertyCallBack(fDraw->fType);
     }
 
-private:
-
     static bool Get2D(const char* token, size_t len, void* s2D, SkScriptValue* value) {
         static const char match[] = "locX|locY|left|top|right|bottom|u|v" ;
         SkShape2DPathEffect* shape2D = (SkShape2DPathEffect*) s2D;
index c0f6fb03b9b6ad6b35fc6467d5a67b32973ecc9e..b26c923c161b13a35a6d16f322f8e24d5a556460 100644 (file)
@@ -128,8 +128,11 @@ int32_t SkPDFCatalog::emitXrefTable(SkWStream* stream, bool firstPage) {
         first++;
     }
     for (int i = first; i <= last; i++) {
+        // For 32 bits platforms, the maximum offset has to fit within off_t which is a 32 bits
+        // signed integer on these platforms. On other platforms, we can use the actual maximum.
+        SkDEBUGCODE(static const off_t kMaxOff = (sizeof(off_t) > 4) ? 10000000000 : 2147483647;)
         SkASSERT(fCatalog[i].fFileOffset > 0);
-        SkASSERT(fCatalog[i].fFileOffset <= 9999999999LL);
+        SkASSERT(fCatalog[i].fFileOffset < kMaxOff);
         stream->writeBigDecAsText(fCatalog[i].fFileOffset, 10);
         stream->writeText(" 00000 n \n");
     }