Improved compiler detection