From 0f07c3f855a02379176d74341d241f8bc881ddad Mon Sep 17 00:00:00 2001 From: mtklein Date: Wed, 29 Jul 2015 07:49:40 -0700 Subject: [PATCH] update C++11 docs BUG=skia: NOTRY=true DOCS_PREVIEW= https://skia.org/dev/contrib/c++11?cl=1263793002 Review URL: https://codereview.chromium.org/1263793002 --- site/dev/contrib/c++11.md | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/site/dev/contrib/c++11.md b/site/dev/contrib/c++11.md index 0df1506..a8fc11d 100644 --- a/site/dev/contrib/c++11.md +++ b/site/dev/contrib/c++11.md @@ -1,8 +1,8 @@ C++11 in Skia ============= -Skia is exploring the use of C++11. As a library, we are technically limited -by what our clients support and what our build bots support. +Skia uses C++11. But as a library, we are technically limited by what our +clients support and what our build bots support. Skia may also be limited by restrictions we choose put on ourselves. This document is not concerned with C++11 policy in Skia, only its technical @@ -10,7 +10,7 @@ feasibility. This is about what we can use, a superset of what we may use. The gist: -- C++11 the language as supported by GCC 4.4 or later is probably usable. +- C++11 the language as supported by GCC 4.7 or later is probably usable. - If you break a bot, that feature is not usable. - The C++11 standard library can't generally be used. - Local statics are not thread safe. @@ -39,12 +39,12 @@ not a weak link for C++11 language features. Android's C++ standard library has always been a pain, but since we can't use it anyway (see Chrome), don't worry about it. -Mozilla's current weak link is a minimum requirement of GCC 4.6. Most features +Mozilla's current weak link is a minimum requirement of GCC 4.7. Most features marked in red on Mozilla's C++11 [feature matrix](https://developer.mozilla.org/en-US/docs/Using_CXX_in_Mozilla_code) are -marked that way because they arrived in GCC 4.7 or GCC 4.8. Their -minimum-supported Clang and MSVC toolchains are great. They also appear to ban -the C++ standard library. +marked that way because they arrived in GCC 4.8. Their minimum-supported Clang +and MSVC toolchains are great. They also appear to ban the C++ standard +library. Internal Google projects tend to support C++11 completely, including the full C++11 standard library. @@ -59,10 +59,4 @@ bots use a recent toolchain from Android (see above), and our Chrome bots use Chrome's toolchains (see above). I'm not exactly sure what our Chrome OS bots are using, but they've never been a problem. -A few miscellaneous compile-only bots are actually our current overall weak link: - -- Our iOS builds are driven from a Mac 10.7 machine using some unknown old Clang. - Who knows how old that is or what it supports? It's probably due for an update. - -If we were to eliminate the problems of iOS bots, our ability to -use C++11 would match Mozilla's list nearly identically. +I believe our bots' ability to use C++11 matches Mozilla's list nearly identically. -- 2.7.4