Hi fellow devs,
I’m having a real pain building my plugin on macOS Ventura 13.5.2. I’m building it the standard way using ‘make’, except it has major issues building VecLPG.hpp.
The compiler, Apple Clang 15.0.0, spits out this during compilation:
src/Terrorform/../dsp/filters/VecLPG.hpp:18:22: error: expected member name or ';' after declaration specifiers
__m128 __attack, __decay;
~~~~~~ ^
src/Terrorform/../dsp/filters/VecLPG.hpp:88:9: error: a type specifier is required for all declarations
__decay = _mm_mul_ps(x, x);
^
src/Terrorform/../dsp/filters/VecLPG.hpp:89:9: error: a type specifier is required for all declarations
__decay = _mm_mul_ps(__decay, x);
^
src/Terrorform/../dsp/filters/VecLPG.hpp:89:30: warning: keyword '__decay' will be made available as an identifier here [-Wkeyword-compat]
__decay = _mm_mul_ps(__decay, x);
^
src/Terrorform/../dsp/filters/VecLPG.hpp:90:9: error: a type specifier is required for all declarations
__decay = _mm_mul_ps(__decay, x);
^
src/Terrorform/../dsp/filters/VecLPG.hpp:90:30: warning: keyword '__decay' will be made available as an identifier here [-Wkeyword-compat]
__decay = _mm_mul_ps(__decay, x);
^
src/Terrorform/../dsp/filters/VecLPG.hpp:91:9: error: a type specifier is required for all declarations
__decay = _mm_mul_ps(__decay, x);
^
src/Terrorform/../dsp/filters/VecLPG.hpp:91:30: warning: keyword '__decay' will be made available as an identifier here [-Wkeyword-compat]
__decay = _mm_mul_ps(__decay, x);
^
src/Terrorform/../dsp/filters/VecLPG.hpp:92:9: error: a type specifier is required for all declarations
__decay = _mm_mul_ps(__decay, x);
^
src/Terrorform/../dsp/filters/VecLPG.hpp:92:30: warning: keyword '__decay' will be made available as an identifier here [-Wkeyword-compat]
__decay = _mm_mul_ps(__decay, x);
^
src/Terrorform/../dsp/filters/VecLPG.hpp:93:9: error: a type specifier is required for all declarations
__decay = _mm_sub_ps(_mm_set1_ps(0.999995f), __decay);
^
src/Terrorform/../dsp/filters/VecLPG.hpp:93:54: warning: keyword '__decay' will be made available as an identifier here [-Wkeyword-compat]
__decay = _mm_sub_ps(_mm_set1_ps(0.999995f), __decay);
^
src/Terrorform/../dsp/filters/VecLPG.hpp:94:31: warning: keyword '__decay' will be made available as an identifier here [-Wkeyword-compat]
__envelope.fallRate = __decay;
^
Now why do you suppose this is happening? It’s very odd considering I just pushed an update to the library and has been approved this very moment. Is this a bug in the compiler?
UPDATE:
It must be a bug in Apple Clang 15. After installing LLVM 17 from brew then symlinking the c++ command to the newer version of Clang, it builds just fine.