1 // RUN: %clang_cc1 -ast-print -std=c++14 %s -o %t.1.cpp 2 // RUN: %clang_cc1 -ast-print -std=c++14 %t.1.cpp -o %t.2.cpp 3 // RUN: diff %t.1.cpp %t.2.cpp 4 5 template<typename T> void func_01(); func_01()6template<typename T> void func_01() {} func_01()7template<> void func_01<int>() {} func_01()8template<> void func_01<long>() {} 9 template<typename T> void func_01(); 10 main_01()11void main_01() { 12 func_01<int*>(); 13 func_01<char>(); 14 } 15 16 template<typename T> void func_02(); 17 template<typename T> void func_02(); 18 template<> void func_02<int>(); 19 template<> void func_02<long>(); 20 template<typename T> void func_02(); 21 main_02()22void main_02() { 23 func_02<int*>(); 24 func_02<char>(); 25 } 26