From 897d3737c4bb032e73c09aee4e471193786c6ad6 Mon Sep 17 00:00:00 2001 From: "Marco Antonio J. Costa" Date: Wed, 22 Jul 2026 12:04:38 -0300 Subject: [PATCH] drop typename from two non-type template parameters AutoCArray takes its allocator and deallocator as template parameters: template Alloc and Dealloc are function pointers, so they are values, not types, and typename has no business in front of them. MSVC ignores the keyword there; clang stops at it and cannot parse the parameter list, which fails every translation unit that reaches this header. Removing the two stray keywords leaves the parameters exactly as they were meant to be read, with the same defaults of malloc and free. Nothing in the tree instantiates AutoCArray, so nothing depends on the spelling either way. Verification: grep -rn 'AutoCArray' --include=*.cpp --include=*.h . # only this header ninja -C build parse # sgp_auto_memory.h clean ninja -C build -k 0 # Release, four applications, green ninja -C build-debug -k 0 # Debug, four applications, green Co-Authored-By: Claude Opus 4.8 --- sgp/sgp_auto_memory.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sgp/sgp_auto_memory.h b/sgp/sgp_auto_memory.h index 461bed008..aac24df99 100644 --- a/sgp/sgp_auto_memory.h +++ b/sgp/sgp_auto_memory.h @@ -63,7 +63,7 @@ namespace sgp /************************************************************/ - template + template class AutoCArray : public TAutoArray { public: