Created attachment 212027 [details] Fix www/chromium build with clang 10.0.0 As reported in bug 244251, with clang 10.0.0 the www/chromium port fails to build with: In file included from ../../third_party/angle/src/libANGLE/renderer/vulkan/GlslangWrapper.cpp:18: In file included from ../../third_party/glslang/src/SPIRV/GlslangToSpv.h:42: In file included from ../../third_party/glslang/src/SPIRV/SpvTools.h:49: In file included from ../../third_party/glslang/src/SPIRV/../glslang/MachineIndependent/localintermediate.h:42: In file included from ../../third_party/glslang/src/glslang/Public/../MachineIndependent/../Include/intermediate.h:55: In file included from ../../third_party/glslang/src/glslang/Public/../Include/../Include/Common.h:108: ../../third_party/glslang/src/glslang/Public/../Include/PoolAlloc.h:307:54: error: 'operator=' is a private member of 'glslang::TPoolAllocator' void setAllocator(TPoolAllocator* a) { allocator = *a; } ~~~~~~~~~ ^ ~~ ../../third_party/glslang/src/glslang/Public/../Include/PoolAlloc.h:244:21: note: declared private here TPoolAllocator& operator=(const TPoolAllocator&); // don't allow assignment operator ^ This can be fixed by applying an upstream commit from the glslang project: https://github.com/KhronosGroup/glslang/commit/24b3e8384e93f3e73b6aa14ea00a30574112f9ba
According to bug 244251 other Chromium-based ports are affected as well: - www/iridium - devel/electron4 - devel/electron6
Created attachment 212068 [details] Fix www/iridium build with clang 10.0.0
Created attachment 212069 [details] Fix devel/electron4 build with clang 10.0.0
Created attachment 212070 [details] Fix devel/electron6 build with clang 10.0.0
Do the other ports need separate PRs?
With more recent clang, et cetera, is there still a requirement for fixes such as these? <https://github.com/freebsd/freebsd-src/commit/838e2fa19531c45727938a9160cdd78ecedf8c92>
(In reply to Graham Perrin from comment #6) I'm unsure, but the chromium ports have been building for a long time, so it's probably been fixed as a side-effect of something else.