From f812d021d79f6a4034640eece6b7ae1b32df21a0 Mon Sep 17 00:00:00 2001 From: "Jason E. Hale" Date: Wed, 30 Oct 2024 02:43:09 -0400 Subject: [PATCH] science/step: Fix build with LLVM >= 19.1.0-rc1 Clang >= 19.1.0-rc1 requires a template argument list after an identifier prefixed by the template keyword. [1] /wrkdirs/usr/ports/science/step/work/step-23.08.5/stepcore/object.h:252:45: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] 252 | if(!src || !src->metaObject()->template inherits(_Dst())) return NULL; [1] https://github.com/llvm/llvm-project/commit/f46d1463b835560d90ad3ac02b63c771e4ebe566 Reported by: pkg-fallout MFH: 2024Q2 --- science/step/files/patch-stepcore_object.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 science/step/files/patch-stepcore_object.h diff --git a/science/step/files/patch-stepcore_object.h b/science/step/files/patch-stepcore_object.h new file mode 100644 index 000000000000..5b2f47415a27 --- /dev/null +++ b/science/step/files/patch-stepcore_object.h @@ -0,0 +1,21 @@ +Clang >= 19.1.0-rc1 requires a template argument list after an identifier +prefixed by the template keyword. [1] + +/wrkdirs/usr/ports/science/step/work/step-23.08.5/stepcore/object.h:252:45: +error: a template argument list is expected after a name prefixed by the +template keyword [-Wmissing-template-arg-list-after-template-kw] + 252 | if(!src || !src->metaObject()->template inherits(_Dst())) return NULL; + +[1] https://github.com/llvm/llvm-project/commit/f46d1463b835560d90ad3ac02b63c771e4ebe566 + +--- stepcore/object.h.orig 2024-02-10 03:35:30 UTC ++++ stepcore/object.h +@@ -249,7 +249,7 @@ _Dst stepcore_cast(_Src src) { + /** Casts between pointers to Object */ + template // XXX: implement it better + _Dst stepcore_cast(_Src src) { +- if(!src || !src->metaObject()->template inherits(_Dst())) return NULL; ++ if(!src || !src->metaObject()->template inherits<_Dst>(_Dst())) return NULL; + return static_cast<_Dst>(src); + } +