https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276282
Mark Millard <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #1 from Mark Millard <[email protected]> --- Hmm. https://en.wikipedia.org/wiki/AltiVec reports: QUOTE In C++, the standard way of accessing AltiVec support is mutually exclusive with the use of the Standard Template Library vector<> class template due to the treatment of "vector" as a reserved word when the compiler does not implement the context-sensitive keyword version of vector. However, it may be possible to combine them using compiler-specific workarounds; for instance, in GCC one may do #undef vector to remove the vector keyword, and then use the GCC-specific __vector keyword in its place. END QUOTE The next message after what you report gives a clue: /wrkdirs/usr/ports/misc/randomx/work/RandomX-1.2.1/src/intrin_portable.h:189:25: error: expected ';' after top level declarator typedef __vector uint8_t __m128i; ^ ; In other words: __vector is not getting special handling but is being treated as a fuyll type name of itself, leading to the compiler expecting (not the codes intent): typedef __vector uint8_t; I do not know if clang has a mode supporting the __vector like GCC for powerpc64* variations or not. Seems like GCC would tolerate the non-C/C++-standard code. It might be interesting to check if GCC will build the code. -- You are receiving this mail because: You are the assignee for the bug.
