make templates gcc compatible