use __typeof__ insted of typeof to hopefull fix g++ 4.8