Bug 244504

Summary: devel/glslang: Fix build with clang 10.0.0
Product: Ports & Packages Reporter: Dimitry Andric <dim>
Component: Individual Port(s)Assignee: freebsd-ports-bugs (Nobody) <ports-bugs>
Status: Closed FIXED    
Severity: Affects Some People CC: jbeich, val
Priority: --- Flags: bugzilla: maintainer-feedback? (val)
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 244251    
Attachments:
Description Flags
Fix devel/glslang build with clang 10.0.0 none

Description Dimitry Andric freebsd_committer freebsd_triage 2020-02-28 17:32:16 UTC
Created attachment 212028 [details]
Fix devel/glslang build with clang 10.0.0

As reported in bug 244251, with clang 10.0.0 the devel/glslang port fails to build with:

In file included from MachineIndependent/glslang.y:60:
In file included from /wrkdirs/usr/ports/devel/glslang/work/glslang-7.11.3214/glslang/MachineIndependent/SymbolTable.h:68:
In file included from /wrkdirs/usr/ports/devel/glslang/work/glslang-7.11.3214/glslang/MachineIndependent/../Include/Common.h:108:
/wrkdirs/usr/ports/devel/glslang/work/glslang-7.11.3214/glslang/MachineIndependent/../Include/PoolAlloc.h:307:54: error: 'operator=' is a private member of 'glslang::TPoolAllocator'
    void setAllocator(TPoolAllocator* a) { allocator = *a; }
                                           ~~~~~~~~~ ^ ~~
/wrkdirs/usr/ports/devel/glslang/work/glslang-7.11.3214/glslang/MachineIndependent/../Include/PoolAlloc.h:244:21: note: declared private here
    TPoolAllocator& operator=(const TPoolAllocator&);  // don't allow assignment operator
                    ^
1 error generated.

This can be fixed by applying an upstream commit from the glslang project:
https://github.com/KhronosGroup/glslang/commit/24b3e8384e93f3e73b6aa14ea00a30574112f9ba
Comment 1 Jan Beich freebsd_committer freebsd_triage 2020-02-28 19:54:30 UTC
Did you see ports r527179?
Comment 2 Dimitry Andric freebsd_committer freebsd_triage 2020-02-28 20:19:18 UTC
Ah, I hadn't updated my tree for a few days, so thanks!