clang++ compatibility