1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-18 19:49:40 +00:00

devel/opentelemetry-cpp: fix build with clang 19

Clang 19 now implements CWG 96 [1], which requires a template argument
list after a 'template' keyword, resulting in errors similar to:

    /wrkdirs/usr/ports/devel/opentelemetry-cpp/work/opentelemetry-cpp-1.16.1/api/include/opentelemetry/logs/logger_type_traits.h:169:69: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
      169 |     return LogRecordSetterTrait<common::KeyValueIterable>::template Set(
          |                                                                     ^
    /wrkdirs/usr/ports/devel/opentelemetry-cpp/work/opentelemetry-cpp-1.16.1/api/include/opentelemetry/logs/logger.h:76:89: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
       76 |         detail::LogRecordSetterTrait<typename std::decay<ArgumentType>::type>::template Set(
          |                                                                                         ^
    /wrkdirs/usr/ports/devel/opentelemetry-cpp/work/opentelemetry-cpp-1.16.1/api/include/opentelemetry/logs/event_logger.h:69:89: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
       69 |         detail::LogRecordSetterTrait<typename std::decay<ArgumentType>::type>::template Set(
          |                                                                                         ^

In these cases, appending "<>" is enough to satisfy the constraint.

PR:		281359
Approved by:	osa (maintainer)
MFH:		2024Q3
This commit is contained in:
Dimitry Andric 2024-09-08 11:20:21 +02:00
parent 50aa17f3b6
commit 676864fd47
3 changed files with 33 additions and 0 deletions

View File

@ -0,0 +1,11 @@
--- api/include/opentelemetry/logs/event_logger.h.orig 2024-07-17 20:04:10 UTC
+++ api/include/opentelemetry/logs/event_logger.h
@@ -66,7 +66,7 @@ class EventLogger (public)
nostd::unique_ptr<LogRecord> log_record = delegate_logger->CreateLogRecord();
IgnoreTraitResult(
- detail::LogRecordSetterTrait<typename std::decay<ArgumentType>::type>::template Set(
+ detail::LogRecordSetterTrait<typename std::decay<ArgumentType>::type>::template Set<>(
log_record.get(), std::forward<ArgumentType>(args))...);
EmitEvent(event_name, std::move(log_record));

View File

@ -0,0 +1,11 @@
--- api/include/opentelemetry/logs/logger.h.orig 2024-07-17 20:04:10 UTC
+++ api/include/opentelemetry/logs/logger.h
@@ -73,7 +73,7 @@ class Logger (public)
}
IgnoreTraitResult(
- detail::LogRecordSetterTrait<typename std::decay<ArgumentType>::type>::template Set(
+ detail::LogRecordSetterTrait<typename std::decay<ArgumentType>::type>::template Set<>(
log_record.get(), std::forward<ArgumentType>(args))...);
EmitLogRecord(std::move(log_record));

View File

@ -0,0 +1,11 @@
--- api/include/opentelemetry/logs/logger_type_traits.h.orig 2024-07-17 20:04:10 UTC
+++ api/include/opentelemetry/logs/logger_type_traits.h
@@ -166,7 +166,7 @@ struct LogRecordSetterTrait
* = nullptr>
inline static LogRecord *Set(LogRecord *log_record, ArgumentType &&arg) noexcept
{
- return LogRecordSetterTrait<common::KeyValueIterable>::template Set(
+ return LogRecordSetterTrait<common::KeyValueIterable>::template Set<>(
log_record, std::forward<ArgumentType>(arg));
}