www/qt6-webengine: fix build with clang and libc++ 19
Clang 19 now implements CWG 96 [1], which requires a template
argument list after a 'template' keyword, resulting in errors similar
to:
../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/third_party/perfetto/include/perfetto/tracing/internal/track_event_data_source.h:331:20: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] 331 | Base::template Trace([](typename Base::TraceContext ctx) { ctx.Flush(); }); | ^ ../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/third_party/perfetto/include/perfetto/tracing/internal/track_event_data_source.h:337:20: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] 337 | Base::template CallIfEnabled( | ^ ../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/third_party/perfetto/include/perfetto/tracing/internal/track_event_data_source.h:352:20: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] 352 | Base::template Trace([&](typename Base::TraceContext ctx) { | ^ ../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/third_party/perfetto/include/perfetto/tracing/internal/track_event_data_source.h:499:20: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] 499 | Base::template Trace([&](typename Base::TraceContext ctx) { | ^ ../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/third_party/perfetto/include/perfetto/tracing/internal/track_event_data_source.h:1050:22: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] 1050 | Base::template TraceWithInstances(instances, std::move(lambda)); | ^ ../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/third_party/perfetto/include/perfetto/tracing/internal/track_event_data_source.h:1064:20: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] 1064 | Base::template Trace([&](typename Base::TraceContext ctx) { | ^
For perfetto, this was fixed by upstream commit e2f661907a [1].
Another typo is in the third-party quiche library, resulting in:
../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_interval_deque.h:201:48: error: no member named 'size' in 'QuicIntervalDeque<T, C>'; did you mean 'Size'? 201 | QUICHE_DCHECK(copy.index_ < copy.deque_->size()); | ^~~~ | Size ../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/net/third_party/quiche/src/quiche/common/platform/api/quiche_logging.h:48:53: note: expanded from macro 'QUICHE_DCHECK' 48 | #define QUICHE_DCHECK(condition) QUICHE_DCHECK_IMPL(condition) | ^ ../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/net/third_party/quiche/overrides/quiche_platform_impl/quiche_logging_impl.h:89:46: note: expanded from macro 'QUICHE_DCHECK_IMPL' 89 | #define QUICHE_DCHECK_IMPL(condition) DCHECK(condition) | ^ ../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/base/check.h:237:53: note: expanded from macro 'DCHECK' 237 | #define DCHECK(condition) EAT_CHECK_STREAM_PARAMS(!(condition)) | ^ ../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/base/check.h:58:35: note: expanded from macro 'EAT_CHECK_STREAM_PARAMS' 58 | : ::logging::VoidifyStream(expr) & (*::logging::g_swallow_stream) | ^ ../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_interval_deque.h:241:15: note: 'Size' declared here 241 | std::size_t Size() const; | ^
And finally there is a typo in chromium:
../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/base/containers/id_map.h:181:19: error: no member named 'map' in 'Iterator<ReturnType>'; did you mean 'map_'? 181 | map_ = iter.map; | ^~~ | map_ ../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/base/containers/id_map.h:239:26: note: 'map_' declared here 239 | raw_ptr<IDMap<V, K>> map_; | ^ ../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/base/containers/id_map.h:182:20: error: no member named 'iter' in 'Iterator<ReturnType>'; did you mean 'iter_'? 182 | iter_ = iter.iter; | ^~~~ | iter_ ../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/base/containers/id_map.h:240:40: note: 'iter_' declared here 240 | typename HashTable::const_iterator iter_; | ^
[1] https://android.googlesource.com/platform/external/perfetto/+/e2f661907a
PR: 281474
Approved by: jhale (maintainer)