Build in C++11 mode on Unix-like bots.
authormtklein <mtklein@chromium.org>
Thu, 5 Feb 2015 17:23:56 +0000 (09:23 -0800)
committerCommit bot <commit-bot@chromium.org>
Thu, 5 Feb 2015 17:23:57 +0000 (09:23 -0800)
Mac and Windows bots are already building in C++11 mode.
This turns on the rest, mostly to see what work remains.

This will probably break a few bots.  It'd be nice if we could let those
all come in as red before reverting this so I can see the full list to fix.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/779e49602a9c8f4d2799504822e01bcafbcaa534

CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu13.10-GCC4.8-NaCl-Release-Trybot,Build-Mac10.7-Clang-Arm7-Debug-iOS-Trybot

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

gyp/common_conditions.gypi

index 27dbf2a..15db2a6 100644 (file)
           '-Wpointer-arith',
           '-Wsign-compare',
 
-          '-Wno-c++11-extensions',
           '-Wno-unused-parameter',
         ],
         'cflags_cc': [
+          '-std=c++11',
           '-fno-rtti',
           '-Wnon-virtual-dtor',
           '-Wno-invalid-offsetof',  # GCC <4.6 is old-school strict about what is POD.
       },
     ],
 
+    [ 'skia_os == "nacl"', {
+      # NaCl compiler is GCC 4.4, which is too old to understand 'c++11', so call it '0x'.
+      # NaCl's newlib needs gnu++ mode to see snprintf, vsnprintf, etc in C++11 mode.
+      'cflags_cc!': [ '-std=c++11' ],
+      'cflags_cc' : [ '-std=gnu++0x' ],
+    }],
+
     ['skia_android_framework', {
       'includes' : [
         'skia_for_android_framework_defines.gypi',
           }],
           [ 'skia_clang_build', {
             'cflags_cc': [
-                # Build in C++11 mode to make sure we'll have an easy time switching.
-                '-std=c++11',
                 '-Wno-unknown-warning-option',  # Allows unknown warnings.
                 '-Wno-deprecated',              # From Qt, via debugger (older Clang).
                 '-Wno-deprecated-register',     # From Qt, via debugger (newer Clang).
           'TARGETED_DEVICE_FAMILY': '1,2',
           'GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO': 'NO',   # -Wno-invalid-offsetof
           'OTHER_CPLUSPLUSFLAGS': [
+            '-std=c++0x',
             '-fvisibility=hidden',
             '-fvisibility-inlines-hidden',
           ],