Proper detection for G++ and Clang.