--- chromium-77.0.3865.10/base/task/promise/promise_executor.h.gcc9 2019-08-06 13:56:01.000000000 +0200 +++ chromium-77.0.3865.10/base/task/promise/promise_executor.h 2019-08-17 21:25:24.364638141 +0200 @@ -36,6 +36,7 @@ class BASE_EXPORT PromiseExecutor { // intended to be memcopied into the Executor and it deliberately does not // have a destructor. The type erasure provided by Executor allows us to // move the AbstractPromise construction out of line. +#pragma GCC diagnostic ignored "-Wuninitialized" class Data { public: // Constructs |Derived| in place. @@ -67,6 +68,7 @@ class BASE_EXPORT PromiseExecutor { char array[MaxSize]; } storage_; }; +#pragma GCC diagnostic pop // Caution it's an error to use |data| after this. explicit PromiseExecutor(Data&& data) : data_(std::move(data)) {} --- chromium-77.0.3865.10/third_party/glslang/src/glslang/Include/Types.h.gcc9 2019-08-06 13:58:24.000000000 +0200 +++ chromium-77.0.3865.10/third_party/glslang/src/glslang/Include/Types.h 2019-08-17 22:09:00.354573553 +0200 @@ -1465,6 +1465,7 @@ public: // Not for use across pool pops; it will cause multiple instances of TType to point to the same information. // This only works if that information (like a structure's list of types) does not change and // the instances are sharing the same pool. +#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" void shallowCopy(const TType& copyOf) { basicType = copyOf.basicType; @@ -1485,6 +1486,7 @@ public: typeParameters = copyOf.typeParameters; coopmat = copyOf.coopmat; } +#pragma GCC diagnostic pop // Make complete copy of the whole type graph rooted at 'copyOf'. void deepCopy(const TType& copyOf) --- chromium-77.0.3865.10/cc/paint/paint_op_reader.cc.gcc9 2019-08-06 13:56:02.000000000 +0200 +++ chromium-77.0.3865.10/cc/paint/paint_op_reader.cc 2019-08-17 23:17:28.692926351 +0200 @@ -1003,6 +1003,7 @@ void PaintOpReader::ReadDisplacementMapE base::OptionalOrNullptr(crop_rect))); } +#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" void PaintOpReader::ReadImagePaintFilter( sk_sp<PaintFilter>* filter, const base::Optional<PaintFilter::CropRect>& crop_rect) { @@ -1025,6 +1026,7 @@ void PaintOpReader::ReadImagePaintFilter filter->reset( new ImagePaintFilter(std::move(image), src_rect, dst_rect, quality)); } +#pragma GCC diagnostic pop void PaintOpReader::ReadRecordPaintFilter( sk_sp<PaintFilter>* filter, --- chromium-77.0.3865.10/third_party/crashpad/crashpad/util/net/http_transport_socket.cc.gcc9 2019-08-06 13:57:16.000000000 +0200 +++ chromium-77.0.3865.10/third_party/crashpad/crashpad/util/net/http_transport_socket.cc 2019-08-17 23:23:38.928748868 +0200 @@ -388,6 +388,7 @@ bool WriteRequest(Stream* stream, void* write_start; size_t write_size; +#pragma GCC diagnostic ignored "-Wstringop-truncation" if (chunked) { // Chunked encoding uses the entirety of buf. buf.size is presented in // hexadecimal without any leading "0x". The terminating CR and LF will be @@ -421,6 +422,7 @@ bool WriteRequest(Stream* stream, write_start = buf.data; write_size = data_bytes; } +#pragma GCC diagnostic pop // write_size will be 0 at EOF in non-chunked mode. Skip the write in that // case. In contrast, at EOF in chunked mode, a zero-length chunk must be --- chromium-77.0.3865.35/v8/src/base/platform/platform-posix.cc.gcc9 2019-08-15 00:03:54.000000000 +0200 +++ chromium-77.0.3865.35/v8/src/base/platform/platform-posix.cc 2019-08-18 04:39:02.122335530 +0200 @@ -756,10 +756,12 @@ static void* ThreadEntry(void* arg) { } +#pragma GCC diagnostic ignored "-Wstringop-truncation" void Thread::set_name(const char* name) { strncpy(name_, name, sizeof(name_)); name_[sizeof(name_) - 1] = '\0'; } +#pragma GCC diagnostic pop bool Thread::Start() { int result; --- chromium-77.0.3865.35/third_party/blink/renderer/modules/manifest/manifest_type_converters.cc.gcc9 2019-08-15 00:02:13.000000000 +0200 +++ chromium-77.0.3865.35/third_party/blink/renderer/modules/manifest/manifest_type_converters.cc 2019-08-20 16:20:15.767076969 +0200 @@ -104,6 +104,7 @@ TypeConverter<blink::Manifest::ImageReso return output; } +#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" blink::Manifest::ShareTarget TypeConverter<blink::Manifest::ShareTarget, blink::mojom::blink::ManifestShareTargetPtr>:: @@ -135,6 +136,7 @@ TypeConverter<blink::Manifest::ShareTarg return output; } +#pragma GCC diagnostic pop blink::Manifest::ShareTargetParams TypeConverter<blink::Manifest::ShareTargetParams, --- chromium-77.0.3865.35/third_party/blink/renderer/platform/heap/BUILD.gn.gcc9 2019-08-20 17:50:39.781443015 +0200 +++ chromium-77.0.3865.35/third_party/blink/renderer/platform/heap/BUILD.gn 2019-08-20 17:50:55.267181438 +0200 @@ -19,6 +19,12 @@ buildflag_header("blink_heap_buildflags" flags = [ "BLINK_HEAP_VERIFICATION=$enable_blink_heap_verification" ] } +config("heap_config") { + cflags = [ + "-Wno-error=maybe-uninitialized" + ] +} + blink_platform_sources("heap") { sources = [ "address_cache.cc", @@ -85,6 +91,10 @@ blink_platform_sources("heap") { "//third_party/icu", "//v8", ] + + configs += [ + ":heap_config" + ] } test("blink_heap_unittests") { --- chromium-77.0.3865.35/v8/BUILD.gn.gcc9 2019-08-15 00:03:54.000000000 +0200 +++ chromium-77.0.3865.35/v8/BUILD.gn 2019-08-21 03:16:02.972812269 +0200 @@ -274,6 +274,9 @@ config("internal_config") { if (is_component_build) { defines += [ "BUILDING_V8_SHARED" ] } + cflags = [ + "-Wno-error=maybe-uninitialized" + ] } # This config should be applied to code using the libplatform. --- chromium-70.0.3528.4/v8/src/codegen/interface-descriptors.h.gcc8 2018-08-24 20:21:09.588641771 +0200 +++ chromium-70.0.3528.4/v8/src/codegen/interface-descriptors.h 2018-08-24 20:24:49.422023115 +0200 @@ -328,8 +328,8 @@ CallInterfaceDescriptorData::kNoFlags; \ static constexpr int kReturnCount = return_count; \ enum ParameterIndices { \ - __dummy = -1, /* to be able to pass zero arguments */ \ - ##__VA_ARGS__, \ + __dummy = -1 __VA_OPT__(,) /* to be able to pass zero arguments */ \ + __VA_ARGS__, \ \ kParameterCount, \ kContext = kParameterCount /* implicit parameter */ \ @@ -340,8 +340,8 @@ CallInterfaceDescriptorData::kNoContext; \ static constexpr int kReturnCount = return_count; \ enum ParameterIndices { \ - __dummy = -1, /* to be able to pass zero arguments */ \ - ##__VA_ARGS__, \ + __dummy = -1 __VA_OPT__(,) /* to be able to pass zero arguments */ \ + __VA_ARGS__, \ \ kParameterCount \ }; @@ -374,8 +374,8 @@ enum ParameterIndices { \ kTarget, \ kNewTarget, \ - kActualArgumentsCount, \ - ##__VA_ARGS__, \ + kActualArgumentsCount __VA_OPT__(,) \ + __VA_ARGS__, \ \ kParameterCount, \ kContext = kParameterCount /* implicit parameter */ \