https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85128
--- Comment #3 from Steffen Nurpmeso <steffen at sdaoden dot eu> --- One more, and just to point that out. This code will in a not too distant future see its 20th birthday (though not updated for long). It has been developed on Linux and FreeBSD with the wonderful (me thinks) gcc: * GCC (GNU-Compiler-Collection, www.gnu.org). - Not supported at all before 2.95.0. - 2.95.1 never tested. - 2.95.2 and 2.95.3 compile the library without errors. The problem with them is that they are not able to handle the free-from template pointer-to-member (PTM), as well as the EventListener PTM specialization of SF::Sys::Misc::Sender correctly. This is a no-go for further.. ... (Some of the tests in test/ will not compile, though.) (Note: 2.95.2 has not been tested for a long time. 2.95.3 is part of the test-suite at the time of this writing aka TAG 0.6.0.) - 2.95.4 and above. Should work perfectly (since we take care of its bugs). Tested: + 2.95.4. + 3.0.4. + 3.3.3. + 3.4.2 (== buggy thing which doesn't like [unnamed] unions and required me to perform a major rewrite! Grrr.). Thank you very much, ladies! I would program Java without it! (Guess that!!!) And despite absolutely idiotic C++ "improvements" like obsoleting the "auto" keyword and introducing override (yes) as a declaration suffix (no) that i had to fix (we had override, as a macro that expanded to virtual) it compiles and runs just perfectly, even using sysctl(2) and getdents(64)?(2) syscalls on modern Linux. Yet only with clang, what a shame. For me this is a gcc bug. Ciao.