Bug 258865 - www/node: fix build with clang 13
Summary: www/node: fix build with clang 13
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Bradley T. Hughes
URL:
Keywords:
Depends on:
Blocks: 258209
  Show dependency treegraph
 
Reported: 2021-10-02 11:43 UTC by Dimitry Andric
Modified: 2021-10-15 19:07 UTC (History)
0 users

See Also:
bugzilla: maintainer-feedback? (bhughes)


Attachments
cppgc: Fix missing <utility> include (1.37 KB, patch)
2021-10-02 11:44 UTC, Dimitry Andric
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dimitry Andric freebsd_committer freebsd_triage 2021-10-02 11:43:51 UTC
During an exp-run for llvm 13 (see bug 258209), it turned out that www/node fails to build with clang 13:

In file included from ../deps/v8/src/heap/cppgc/allocation.cc:5:
../deps/v8/include/cppgc/allocation.h:168:39: error: no member named 'forward' in namespace 'std'
    T* object = ::new (memory) T(std::forward<Args>(args)...);
                                 ~~~~~^
../deps/v8/include/cppgc/allocation.h:168:47: error: 'Args' does not refer to a value
    T* object = ::new (memory) T(std::forward<Args>(args)...);
                                              ^
../deps/v8/include/cppgc/allocation.h:164:25: note: declared here
  template <typename... Args>
                        ^
../deps/v8/include/cppgc/allocation.h:178:39: error: no member named 'forward' in namespace 'std'
    T* object = ::new (memory) T(std::forward<Args>(args)...);
                                 ~~~~~^
../deps/v8/include/cppgc/allocation.h:178:47: error: 'Args' does not refer to a value
    T* object = ::new (memory) T(std::forward<Args>(args)...);
                                              ^
../deps/v8/include/cppgc/allocation.h:173:25: note: declared here
  template <typename... Args>
                        ^
../deps/v8/include/cppgc/allocation.h:206:55: error: no member named 'forward' in namespace 'std'
      MakeGarbageCollectedTrait<T>::Call(handle, std::forward<Args>(args)...);
                                                 ~~~~~^
../deps/v8/include/cppgc/allocation.h:206:63: error: 'Args' does not refer to a value
      MakeGarbageCollectedTrait<T>::Call(handle, std::forward<Args>(args)...);
                                                              ^
../deps/v8/include/cppgc/allocation.h:203:35: note: declared here
template <typename T, typename... Args>
                                  ^
../deps/v8/include/cppgc/allocation.h:225:55: error: no member named 'forward' in namespace 'std'
                                                 std::forward<Args>(args)...);
                                                 ~~~~~^
../deps/v8/include/cppgc/allocation.h:225:63: error: 'Args' does not refer to a value
                                                 std::forward<Args>(args)...);
                                                              ^
../deps/v8/include/cppgc/allocation.h:221:35: note: declared here
template <typename T, typename... Args>
                                  ^
8 errors generated.

This was fixed upstream in v8 with: https://chromium.googlesource.com/v8/v8.git/+/69426180fac5d37643a28887b5e148f844e14ce6 ("cppgc: Fix missing <utility> include").
Comment 1 Dimitry Andric freebsd_committer freebsd_triage 2021-10-02 11:44:38 UTC
Created attachment 228354 [details]
cppgc: Fix missing <utility> include
Comment 2 Dimitry Andric freebsd_committer freebsd_triage 2021-10-15 19:07:09 UTC
No longer needed after 25cf6ee9a998c92ffc86f8fa8e6bbd96d9d32e76 (www/node: Update 16.10.0 -> 16.11.0) and 998579a8346355e76bd0ddede359c5eacbc0ea24 (www/node: Update 16.11.0 -> 16.11.1).