fix warnings



git-svn-id: http://skia.googlecode.com/svn/trunk@68 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/include/core/Sk64.h b/include/core/Sk64.h
index c4ae41e..538ae7e 100644
--- a/include/core/Sk64.h
+++ b/include/core/Sk64.h
@@ -84,7 +84,7 @@
     SkBool  isPos() const { return ~(fHi >> 31) & (fHi | fLo); }
 
     /** Returns -1,0,+1 based on the sign of the number */
-    int     sign() const { return (fHi >> 31) | Sk32ToBool(fHi | fLo); }
+    int     getSign() const { return (fHi >> 31) | Sk32ToBool(fHi | fLo); }
 
     /** Negate the number */
     void    negate();
diff --git a/include/core/SkColorPriv.h b/include/core/SkColorPriv.h
index 4d41374..88028cb 100644
--- a/include/core/SkColorPriv.h
+++ b/include/core/SkColorPriv.h
@@ -142,7 +142,7 @@
 }
 
 #ifdef SK_DEBUG
-    static U16CPU SkRGB16Add(U16CPU a, U16CPU b) {
+    static inline U16CPU SkRGB16Add(U16CPU a, U16CPU b) {
         SkASSERT(SkGetPackedR16(a) + SkGetPackedR16(b) <= SK_R16_MASK);
         SkASSERT(SkGetPackedG16(a) + SkGetPackedG16(b) <= SK_G16_MASK);
         SkASSERT(SkGetPackedB16(a) + SkGetPackedB16(b) <= SK_B16_MASK);
diff --git a/include/core/SkFloatingPoint.h b/include/core/SkFloatingPoint.h
index d3a6fc5..68bf6ef 100644
--- a/include/core/SkFloatingPoint.h
+++ b/include/core/SkFloatingPoint.h
@@ -47,8 +47,8 @@
     #define sk_float_floor(x)       floorf(x)
     #define sk_float_ceil(x)        ceilf(x)
 #ifdef SK_BUILD_FOR_MAC
-    #define sk_float_acos(x)        acos(x)
-    #define sk_float_asin(x)        asin(x)
+    #define sk_float_acos(x)        static_cast<float>(acos(x))
+    #define sk_float_asin(x)        static_cast<float>(asin(x))
 #else
     #define sk_float_acos(x)        acosf(x)
     #define sk_float_asin(x)        asinf(x)
diff --git a/include/core/SkPoint.h b/include/core/SkPoint.h
index f038afb..d23f696 100644
--- a/include/core/SkPoint.h
+++ b/include/core/SkPoint.h
@@ -178,7 +178,7 @@
     /** Scale the point's coordinates by scale, writing the answer back into
         the point.
     */
-    void scale(SkScalar scale) { this->scale(scale, this); }
+    void scale(SkScalar value) { this->scale(value, this); }
 
     /** Rotate the point clockwise by 90 degrees, writing the answer into dst.
         It is legal for dst == this.
diff --git a/include/core/SkScan.h b/include/core/SkScan.h
index 379c016..037dc09 100644
--- a/include/core/SkScan.h
+++ b/include/core/SkScan.h
@@ -83,7 +83,7 @@
     from int to SkFixed. Does not check for overflow if the src coordinates
     exceed 32K
 */
-static void XRect_set(SkXRect* xr, const SkIRect& src) {
+static inline void XRect_set(SkXRect* xr, const SkIRect& src) {
     xr->fLeft = SkIntToFixed(src.fLeft);
     xr->fTop = SkIntToFixed(src.fTop);
     xr->fRight = SkIntToFixed(src.fRight);
@@ -94,7 +94,7 @@
     from SkScalar to SkFixed. Does not check for overflow if the src coordinates
     exceed 32K
 */
-static void XRect_set(SkXRect* xr, const SkRect& src) {
+static inline void XRect_set(SkXRect* xr, const SkRect& src) {
     xr->fLeft = SkScalarToFixed(src.fLeft);
     xr->fTop = SkScalarToFixed(src.fTop);
     xr->fRight = SkScalarToFixed(src.fRight);
@@ -103,7 +103,7 @@
 
 /** Round the SkXRect coordinates, and store the result in the SkIRect.
 */
-static void XRect_round(const SkXRect& xr, SkIRect* dst) {
+static inline void XRect_round(const SkXRect& xr, SkIRect* dst) {
     dst->fLeft = SkFixedRound(xr.fLeft);
     dst->fTop = SkFixedRound(xr.fTop);
     dst->fRight = SkFixedRound(xr.fRight);
@@ -113,7 +113,7 @@
 /** Round the SkXRect coordinates out (i.e. use floor for left/top, and ceiling
     for right/bottom), and store the result in the SkIRect.
 */
-static void XRect_roundOut(const SkXRect& xr, SkIRect* dst) {
+static inline void XRect_roundOut(const SkXRect& xr, SkIRect* dst) {
     dst->fLeft = SkFixedFloor(xr.fLeft);
     dst->fTop = SkFixedFloor(xr.fTop);
     dst->fRight = SkFixedCeil(xr.fRight);
diff --git a/src/core/Sk64.cpp b/src/core/Sk64.cpp
index 6013bd7..2715d23 100644
--- a/src/core/Sk64.cpp
+++ b/src/core/Sk64.cpp
@@ -387,7 +387,7 @@
     SkASSERT(!a.isZero() == !table.zero);
     SkASSERT(!a.isPos() == !table.pos);
     SkASSERT(!a.isNeg() == !table.neg);
-    SkASSERT(a.sign() == table.sign);
+    SkASSERT(a.getSign() == table.sign);
 }
 
 #ifdef SkLONGLONG
diff --git a/src/core/SkFP.h b/src/core/SkFP.h
index 6c0c526..5e25d22 100644
--- a/src/core/SkFP.h
+++ b/src/core/SkFP.h
@@ -41,7 +41,7 @@
     #define SkFPDivInt(a, n)        ((a) / (n))
     #define SkFPInvert(x)           SkScalarInvert(x)
     #define SkFPSqrt(x)             SkScalarSqrt(x)
-    #define SkFPCubeRoot(x)         pow(x, 1.0f/3)
+    #define SkFPCubeRoot(x)         static_cast<float>(pow(x, 0.33333333333))
 
     #define SkFPLT(a, b)            ((a) < (b))
     #define SkFPLE(a, b)            ((a) <= (b))
diff --git a/src/core/SkGeometry.cpp b/src/core/SkGeometry.cpp
index 4f22e92..7e2d424 100644
--- a/src/core/SkGeometry.cpp
+++ b/src/core/SkGeometry.cpp
@@ -255,12 +255,12 @@
 #endif
 }
 
-static void flatten_double_quad_extrema(SkScalar coords[14])
+static inline void flatten_double_quad_extrema(SkScalar coords[14])
 {
     coords[2] = coords[6] = coords[4];
 }
 
-static void force_quad_monotonic_in_y(SkPoint pts[3])
+static inline void force_quad_monotonic_in_y(SkPoint pts[3])
 {
     // zap pts[1].fY to the nearest value
     SkScalar ab = SkScalarAbs(pts[0].fY - pts[1].fY);
diff --git a/src/core/SkGraphics.cpp b/src/core/SkGraphics.cpp
index 64fbab9..2ad44cd 100644
--- a/src/core/SkGraphics.cpp
+++ b/src/core/SkGraphics.cpp
@@ -228,6 +228,7 @@
     return sum;
 }
 
+#if 0
 static float time_intToFloat() {
     const int repeat = 1000000;
     int i, n;
@@ -266,6 +267,7 @@
 
     return sum;
 }
+#endif
 
 void SkGraphics::Init(bool runUnitTests)
 {
diff --git a/src/core/SkMMapStream.cpp b/src/core/SkMMapStream.cpp
index 017bcaf..78cb3f3 100644
--- a/src/core/SkMMapStream.cpp
+++ b/src/core/SkMMapStream.cpp
@@ -16,8 +16,8 @@
         return;
     }
 
-    off_t size = lseek(fildes, 0, SEEK_END);    // find the file size
-    if (size == -1)
+    off_t offset = lseek(fildes, 0, SEEK_END);    // find the file size
+    if (offset == -1)
     {
         SkDEBUGF(("---- failed to lseek(%s) for mmap stream error=%d\n", filename, errno));
         close(fildes);
@@ -25,6 +25,9 @@
     }
     (void)lseek(fildes, 0, SEEK_SET);   // restore file offset to beginning
 
+    // to avoid a 64bit->32bit warning, I explicitly create a size_t size
+    size_t size = static_cast<size_t>(offset);
+
     void* addr = mmap(NULL, size, PROT_READ, MAP_SHARED, fildes, 0);
     if (MAP_FAILED == addr)
     {
diff --git a/src/core/SkMath.cpp b/src/core/SkMath.cpp
index c627d9b..2655586 100644
--- a/src/core/SkMath.cpp
+++ b/src/core/SkMath.cpp
@@ -140,7 +140,7 @@
     tmp.shiftRight(16);
     return tmp.fLo;
 #elif defined(SkLONGLONG)
-    return (SkLONGLONG)a * b >> 16;
+    return static_cast<SkFixed>((SkLONGLONG)a * b >> 16);
 #else
     int sa = SkExtractSign(a);
     int sb = SkExtractSign(b);
@@ -165,7 +165,7 @@
     tmp.setMul(a, b);
     return tmp.getFract();
 #elif defined(SkLONGLONG)
-    return (SkLONGLONG)a * b >> 30;
+    return static_cast<SkFract>((SkLONGLONG)a * b >> 30);
 #else
     int sa = SkExtractSign(a);
     int sb = SkExtractSign(b);
@@ -550,7 +550,7 @@
 
 #include "SkRandom.h"
 
-#ifdef SkLONGLONG
+#if defined(SkLONGLONG) && defined(SK_SUPPORT_UNITTEST)
 static int symmetric_fixmul(int a, int b) {
     int sa = SkExtractSign(a);
     int sb = SkExtractSign(b);
@@ -586,7 +586,7 @@
 }
 #endif
 
-#ifdef SK_CAN_USE_FLOAT
+#if defined(SK_CAN_USE_FLOAT) && defined(SK_SUPPORT_UNITTEST)
 
 static float nextFloat(SkRandom& rand) {
     SkFloatIntUnion data;
@@ -696,6 +696,7 @@
 
 #endif
 
+#ifdef SK_SUPPORT_UNITTEST
 static void test_muldiv255() {
     for (int a = 0; a <= 255; a++) {
         for (int b = 0; b <= 255; b++) {
@@ -716,6 +717,7 @@
         }
     }
 }
+#endif
 
 void SkMath::UnitTest() {    
 #ifdef SK_SUPPORT_UNITTEST
diff --git a/src/core/SkPaint.cpp b/src/core/SkPaint.cpp
index bb6b31e..691da41 100644
--- a/src/core/SkPaint.cpp
+++ b/src/core/SkPaint.cpp
@@ -367,26 +367,6 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 
-static uint32_t sk_glyphID_next(const char** text)
-{
-    const uint16_t* glyph = (const uint16_t*)text;
-    int32_t value = *glyph;
-    glyph += 1;
-    *text = (const char*)glyph;
-    return value;
-}
-
-static uint32_t sk_glyphID_prev(const char** text)
-{
-    const uint16_t* glyph = (const uint16_t*)text;
-    glyph -= 1;
-    int32_t value = *glyph;
-    *text = (const char*)glyph;
-    return value;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-
 static const SkGlyph& sk_getMetrics_utf8_next(SkGlyphCache* cache, const char** text)
 {
     SkASSERT(cache != NULL);
diff --git a/src/core/SkScalerContext.cpp b/src/core/SkScalerContext.cpp
index 854c4de..f63e729 100644
--- a/src/core/SkScalerContext.cpp
+++ b/src/core/SkScalerContext.cpp
@@ -182,17 +182,6 @@
     return ctx;
 }
 
-static int plus_minus_pin(int value, int max) {
-    SkASSERT(max >= 0);
-    
-    if (value > max) {
-        value = max;
-    } else if (value < -max) {
-        value = -max;
-    }
-    return value;
-}    
-
 void SkScalerContext::getAdvance(SkGlyph* glyph) {
     // mark us as just having a valid advance
     glyph->fMaskFormat = MASK_FORMAT_JUST_ADVANCE;
diff --git a/src/core/SkScan_Path.cpp b/src/core/SkScan_Path.cpp
index 8b58991..d8f779a 100644
--- a/src/core/SkScan_Path.cpp
+++ b/src/core/SkScan_Path.cpp
@@ -387,6 +387,7 @@
     return list[0];
 }
 
+#ifdef SK_DEBUG
 /* 'quick' computation of the max sized needed to allocated for
     our edgelist.
 */
@@ -422,6 +423,7 @@
     *storage = size;
     return edgeCount;
 }
+#endif
 
 /* Much faster than worst_case_edge_count, but over estimates even more
 */
diff --git a/src/core/SkUtils.cpp b/src/core/SkUtils.cpp
index 20f7ddc..a4c6c16 100644
--- a/src/core/SkUtils.cpp
+++ b/src/core/SkUtils.cpp
@@ -427,10 +427,12 @@
 
 #include <stdlib.h>
 
+#if 0
 static int round_to_K(size_t bytes)
 {
     return (bytes + 512) >> 10;
 }
+#endif
 
 SkAutoMemoryUsageProbe::SkAutoMemoryUsageProbe(const char label[])
     : fLabel(label)
diff --git a/src/core/SkWriter32.cpp b/src/core/SkWriter32.cpp
index 61d0051..819803f 100644
--- a/src/core/SkWriter32.cpp
+++ b/src/core/SkWriter32.cpp
@@ -37,15 +37,6 @@
     }
 };
 
-static size_t compute_block_size(size_t currSize, size_t minSize)
-{
-    if (currSize < minSize)
-        currSize = minSize;
-    
-    currSize += (currSize >> 1);
-    return SkAlign4(currSize);
-}
-
 ///////////////////////////////////////////////////////////////////////////////
 
 SkWriter32::~SkWriter32()
diff --git a/src/core/SkXfermode.cpp b/src/core/SkXfermode.cpp
index e8a202d..80bafce 100644
--- a/src/core/SkXfermode.cpp
+++ b/src/core/SkXfermode.cpp
@@ -30,6 +30,7 @@
     return SkPackARGB32(a, r, g, b);
 }
 
+#if 0
 // idea for higher precision blends in xfer procs (and slightly faster)
 // see DstATop as a probable caller
 static U8CPU mulmuldiv255round(U8CPU a, U8CPU b, U8CPU c, U8CPU d) {
@@ -42,6 +43,7 @@
     SkASSERT(result <= 255);
     return result;
 }
+#endif
 
 ///////////////////////////////////////////////////////////////////////////////
 
@@ -778,7 +780,7 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 
-#ifdef SK_DEBUG
+#ifdef SK_DEBUGx
 static void unit_test() {
     for (unsigned a = 0; a <= 255; a++) {
         for (unsigned c = 0; c <= a; c++) {
diff --git a/src/effects/SkGradientShader.cpp b/src/effects/SkGradientShader.cpp
index b0d91ee..9b5d922 100644
--- a/src/effects/SkGradientShader.cpp
+++ b/src/effects/SkGradientShader.cpp
@@ -608,7 +608,7 @@
 };
 
 //  Return true if fx, fx+dx, fx+2*dx, ... is always in range
-static bool no_need_for_clamp(int fx, int dx, int count)
+static inline bool no_need_for_clamp(int fx, int dx, int count)
 {
     SkASSERT(count > 0);
     return (unsigned)((fx | (fx + (count - 1) * dx)) >> 8) <= 0xFF;
diff --git a/xcode/core/core.xcodeproj/project.pbxproj b/xcode/core/core.xcodeproj/project.pbxproj
index d86eab8..2e8b069 100644
--- a/xcode/core/core.xcodeproj/project.pbxproj
+++ b/xcode/core/core.xcodeproj/project.pbxproj
@@ -619,7 +619,29 @@
 				GCC_OPTIMIZATION_LEVEL = 0;
 				GCC_PREPROCESSOR_DEFINITIONS = SK_DEBUG;
 				GCC_THREADSAFE_STATICS = NO;
+				GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
+				GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
+				GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO;
+				GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;
+				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
+				GCC_WARN_INHIBIT_ALL_WARNINGS = NO;
+				GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
+				GCC_WARN_MISSING_PARENTHESES = YES;
+				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO;
+				GCC_WARN_PEDANTIC = NO;
+				GCC_WARN_PROTOTYPE_CONVERSION = YES;
+				GCC_WARN_SHADOW = NO;
+				GCC_WARN_SIGN_COMPARE = YES;
+				GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = NO;
+				GCC_WARN_UNKNOWN_PRAGMAS = YES;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_LABEL = YES;
+				GCC_WARN_UNUSED_VALUE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				PREBINDING = NO;
 				USER_HEADER_SEARCH_PATHS = ../../include/core;
@@ -637,7 +659,29 @@
 				GCC_ENABLE_CPP_RTTI = NO;
 				GCC_PREPROCESSOR_DEFINITIONS = SK_RELEASE;
 				GCC_THREADSAFE_STATICS = NO;
+				GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
+				GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
+				GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO;
+				GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;
+				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
+				GCC_WARN_INHIBIT_ALL_WARNINGS = NO;
+				GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
+				GCC_WARN_MISSING_PARENTHESES = YES;
+				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO;
+				GCC_WARN_PEDANTIC = NO;
+				GCC_WARN_PROTOTYPE_CONVERSION = YES;
+				GCC_WARN_SHADOW = NO;
+				GCC_WARN_SIGN_COMPARE = YES;
+				GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = NO;
+				GCC_WARN_UNKNOWN_PRAGMAS = YES;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_LABEL = YES;
+				GCC_WARN_UNUSED_VALUE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				PREBINDING = NO;
 				USER_HEADER_SEARCH_PATHS = ../../include/core;
diff --git a/xcode/effects/effects.xcodeproj/project.pbxproj b/xcode/effects/effects.xcodeproj/project.pbxproj
index eb1b803..7c19d00 100644
--- a/xcode/effects/effects.xcodeproj/project.pbxproj
+++ b/xcode/effects/effects.xcodeproj/project.pbxproj
@@ -200,6 +200,7 @@
 		08FB7793FE84155DC02AAC07 /* Project object */ = {
 			isa = PBXProject;
 			buildConfigurationList = 1DEB91EF08733DB70010E9CD /* Build configuration list for PBXProject "effects" */;
+			compatibilityVersion = "Xcode 2.4";
 			hasScannedForEncodings = 1;
 			mainGroup = 08FB7794FE84155DC02AAC07 /* effects */;
 			projectDirPath = "";
@@ -282,11 +283,41 @@
 				GCC_OPTIMIZATION_LEVEL = 0;
 				GCC_PREPROCESSOR_DEFINITIONS = SK_DEBUG;
 				GCC_THREADSAFE_STATICS = NO;
+				GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
+				GCC_TREAT_NONCONFORMANT_CODE_ERRORS_AS_WARNINGS = NO;
+				GCC_TREAT_WARNINGS_AS_ERRORS = NO;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
+				GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = YES;
+				GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
+				GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
+				GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES;
 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = YES;
+				GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
+				GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO;
+				GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;
+				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
+				GCC_WARN_INHIBIT_ALL_WARNINGS = NO;
+				GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
+				GCC_WARN_MISSING_PARENTHESES = YES;
+				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO;
+				GCC_WARN_PEDANTIC = NO;
+				GCC_WARN_PROTOTYPE_CONVERSION = YES;
+				GCC_WARN_SHADOW = NO;
+				GCC_WARN_SIGN_COMPARE = YES;
+				GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = NO;
+				GCC_WARN_UNKNOWN_PRAGMAS = YES;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_LABEL = YES;
+				GCC_WARN_UNUSED_PARAMETER = NO;
+				GCC_WARN_UNUSED_VALUE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				PREBINDING = NO;
 				SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
 				USER_HEADER_SEARCH_PATHS = "../../include/**";
+				WARNING_CFLAGS = "";
 			};
 			name = Debug;
 		};
@@ -301,11 +332,41 @@
 				GCC_ENABLE_CPP_RTTI = NO;
 				GCC_PREPROCESSOR_DEFINITIONS = SK_RELEASE;
 				GCC_THREADSAFE_STATICS = NO;
+				GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
+				GCC_TREAT_NONCONFORMANT_CODE_ERRORS_AS_WARNINGS = NO;
+				GCC_TREAT_WARNINGS_AS_ERRORS = NO;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
+				GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = YES;
+				GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
+				GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
+				GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES;
 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = YES;
+				GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
+				GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO;
+				GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;
+				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
+				GCC_WARN_INHIBIT_ALL_WARNINGS = NO;
+				GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
+				GCC_WARN_MISSING_PARENTHESES = YES;
+				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO;
+				GCC_WARN_PEDANTIC = NO;
+				GCC_WARN_PROTOTYPE_CONVERSION = YES;
+				GCC_WARN_SHADOW = NO;
+				GCC_WARN_SIGN_COMPARE = YES;
+				GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = NO;
+				GCC_WARN_UNKNOWN_PRAGMAS = YES;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_LABEL = YES;
+				GCC_WARN_UNUSED_PARAMETER = NO;
+				GCC_WARN_UNUSED_VALUE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				PREBINDING = NO;
 				SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
 				USER_HEADER_SEARCH_PATHS = "../../include/**";
+				WARNING_CFLAGS = "";
 			};
 			name = Release;
 		};