Chromium packagers should have the choice to not use clang in their builds. Currently, the is_clang gn arg can be set to false, but the build gives some compile errors on GCC 4.8 (the latest version of GCC to ship with Trusty).
X-reffing Chromium cl that already landed https://codereview.chromium.org/2714053003/
X-reffing ffmpeg cl https://chromium-review.googlesource.com/c/446938/
X-reffing angle cl https://chromium-review.googlesource.com/c/446866/
The following revision refers to this bug: https://swiftshader.googlesource.com/SwiftShader.git/+/28d5a26efe626da1c0b2041bebcf911ef235155f commit 28d5a26efe626da1c0b2041bebcf911ef235155f Author: Nicolas Capens <capn@google.com> Date: Fri Mar 10 14:50:38 2017 Work around unsuppressable GCC error. GCC warns against bitfields not fitting the entire range of an enum with a fixed underlying type of unsigned int, which gets promoted to an error with -Werror and cannot be suppressed. However, GCC already defaults to using unsigned int as the underlying type of an unscoped enum without a fixed underlying type. So we can just omit it. Bug chromium:697528 Change-Id: I8db8fef09e3397d4ec5ebe9f7c3c5e4ae9c0edff Reviewed-on: https://swiftshader-review.googlesource.com/8928 Reviewed-by: Alexis Hétu <sugoi@google.com> Reviewed-by: Nicolas Capens <capn@google.com> Tested-by: Nicolas Capens <capn@google.com> [modify] https://crrev.com/28d5a26efe626da1c0b2041bebcf911ef235155f/src/Common/Types.hpp [modify] https://crrev.com/28d5a26efe626da1c0b2041bebcf911ef235155f/src/Renderer/Context.hpp [modify] https://crrev.com/28d5a26efe626da1c0b2041bebcf911ef235155f/src/Renderer/Sampler.hpp [modify] https://crrev.com/28d5a26efe626da1c0b2041bebcf911ef235155f/src/Renderer/Stream.hpp
The following revision refers to this bug: https://swiftshader.googlesource.com/SwiftShader.git/+/69bc6e8ac26d38aec85946dbf1bc60c32fb6e5d3 commit 69bc6e8ac26d38aec85946dbf1bc60c32fb6e5d3 Author: Tom Anderson <thomasanderson@google.com> Date: Mon Mar 20 21:10:04 2017 Fix GCC build This CL fixes building the 'all' target in a Chromium checkout with the following args.gn: is_debug = false is_clang = false use_sysroot = false proprietary_codecs = true ffmpeg_branding = "Chrome" is_component_build = true enable_nacl = false use_goma = true Bug chromium:697528 Change-Id: Ie725988e8a1cb9ee672eb1e8e20d718ac91004fa Change-Id: Ie725988e8a1cb9ee672eb1e8e20d718ac91004fa Reviewed-on: https://swiftshader-review.googlesource.com/8888 Reviewed-by: Nicolas Capens <capn@google.com> Tested-by: Tom Anderson <thomasanderson@google.com> [modify] https://crrev.com/69bc6e8ac26d38aec85946dbf1bc60c32fb6e5d3/src/OpenGL/compiler/preprocessor/MacroExpander.h [modify] https://crrev.com/69bc6e8ac26d38aec85946dbf1bc60c32fb6e5d3/src/Reactor/LLVMReactor.cpp [modify] https://crrev.com/69bc6e8ac26d38aec85946dbf1bc60c32fb6e5d3/src/Renderer/Context.hpp [modify] https://crrev.com/69bc6e8ac26d38aec85946dbf1bc60c32fb6e5d3/src/Renderer/Surface.cpp [modify] https://crrev.com/69bc6e8ac26d38aec85946dbf1bc60c32fb6e5d3/src/Shader/SamplerCore.cpp [modify] https://crrev.com/69bc6e8ac26d38aec85946dbf1bc60c32fb6e5d3/src/Shader/ShaderCore.cpp [modify] https://crrev.com/69bc6e8ac26d38aec85946dbf1bc60c32fb6e5d3/third_party/LLVM/BUILD.gn
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3e655172a781a71727269de3416ffba84d285ddd commit 3e655172a781a71727269de3416ffba84d285ddd Author: thomasanderson <thomasanderson@google.com> Date: Fri Mar 24 03:17:08 2017 Fix gn_all build on gcc 4.8 BUG= 697528 R=sky@chromium.org Review-Url: https://codereview.chromium.org/2768923003 Cr-Commit-Position: refs/heads/master@{#459351} [modify] https://crrev.com/3e655172a781a71727269de3416ffba84d285ddd/chrome/browser/media/webrtc/media_stream_devices_controller.cc [modify] https://crrev.com/3e655172a781a71727269de3416ffba84d285ddd/chrome/browser/media/webrtc/media_stream_devices_controller.h [modify] https://crrev.com/3e655172a781a71727269de3416ffba84d285ddd/chrome/browser/media/webrtc/media_stream_devices_controller_browsertest.cc [modify] https://crrev.com/3e655172a781a71727269de3416ffba84d285ddd/chrome/browser/permissions/permission_request_manager_browsertest.cc [modify] https://crrev.com/3e655172a781a71727269de3416ffba84d285ddd/chrome/browser/policy/policy_browsertest.cc [modify] https://crrev.com/3e655172a781a71727269de3416ffba84d285ddd/chrome/browser/ui/views/accessibility/invert_bubble_view.cc [modify] https://crrev.com/3e655172a781a71727269de3416ffba84d285ddd/chrome/browser/ui/views/autofill/password_generation_popup_view_views.cc [modify] https://crrev.com/3e655172a781a71727269de3416ffba84d285ddd/chrome/browser/ui/views/first_run_bubble.cc [modify] https://crrev.com/3e655172a781a71727269de3416ffba84d285ddd/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc [modify] https://crrev.com/3e655172a781a71727269de3416ffba84d285ddd/ui/views/controls/styled_label_unittest.cc
The following revision refers to this bug: https://swiftshader.googlesource.com/SwiftShader.git/+/6f432a6b17b8736d9937b392792cc91d7f642147 commit 6f432a6b17b8736d9937b392792cc91d7f642147 Author: Tom Anderson <thomasanderson@google.com> Date: Wed Mar 29 01:54:21 2017 Gcc: Suppress some warnings in src/OpenGL This CL removes some warning spam on a gcc build. Bug chromium:697528 R=capn@google.com Change-Id: I6909d30e3fcafc8ab7e3a98efe8d180a686781d8 Reviewed-on: https://swiftshader-review.googlesource.com/9031 Reviewed-by: Nicolas Capens <capn@google.com> Tested-by: Tom Anderson <thomasanderson@google.com> [modify] https://crrev.com/6f432a6b17b8736d9937b392792cc91d7f642147/src/OpenGL/libEGL/BUILD.gn [modify] https://crrev.com/6f432a6b17b8736d9937b392792cc91d7f642147/src/OpenGL/libGLESv2/BUILD.gn
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/aaadc0e2555e316a95b0aaa3fcacb8dcdc2d8044 commit aaadc0e2555e316a95b0aaa3fcacb8dcdc2d8044 Author: thomasanderson <thomasanderson@google.com> Date: Wed Mar 29 12:48:15 2017 Gcc: Suppress warnings in third_party There's a bit of warning spam when building chrome using gcc. This CL suppresses the warnings like we do when using clang. BUG= 697528 R=dominicc@chromium.org,dalecurtis@chromium.org Review-Url: https://codereview.chromium.org/2783763002 Cr-Commit-Position: refs/heads/master@{#460361} [modify] https://crrev.com/aaadc0e2555e316a95b0aaa3fcacb8dcdc2d8044/third_party/libxml/BUILD.gn [modify] https://crrev.com/aaadc0e2555e316a95b0aaa3fcacb8dcdc2d8044/third_party/yasm/BUILD.gn
Comment 1 by thomasanderson@chromium.org
, Mar 1 2017