15d98ba60SSaar Raz // RUN: %clang_cc1 -std=c++2a -emit-pch %s -o %t 25d98ba60SSaar Raz // RUN: %clang_cc1 -std=c++2a -include-pch %t -verify %s 35d98ba60SSaar Raz 4*a45f713cSLuboš Luňák // RUN: %clang_cc1 -std=c++2a -emit-pch -fpch-instantiate-templates %s -o %t 5*a45f713cSLuboš Luňák // RUN: %clang_cc1 -std=c++2a -include-pch %t -verify %s 6*a45f713cSLuboš Luňák 75d98ba60SSaar Raz // expected-no-diagnostics 85d98ba60SSaar Raz 95d98ba60SSaar Raz #ifndef HEADER 105d98ba60SSaar Raz #define HEADER 115d98ba60SSaar Raz 125d98ba60SSaar Raz template<typename... T> 135d98ba60SSaar Raz concept C = true; 145d98ba60SSaar Raz 155d98ba60SSaar Raz namespace n { 165d98ba60SSaar Raz template<typename... T> 175d98ba60SSaar Raz concept C = true; 185d98ba60SSaar Raz } 195d98ba60SSaar Raz f()205d98ba60SSaar Razvoid f() { 215d98ba60SSaar Raz (void)C<int>; 225d98ba60SSaar Raz (void)C<int, void>; 235d98ba60SSaar Raz (void)n::C<void>; 245d98ba60SSaar Raz } 255d98ba60SSaar Raz 265d98ba60SSaar Raz #else /*included pch*/ 275d98ba60SSaar Raz main()285d98ba60SSaar Razint main() { 295d98ba60SSaar Raz (void)C<int>; 305d98ba60SSaar Raz (void)C<int, void>; 315d98ba60SSaar Raz (void)n::C<void>; 325d98ba60SSaar Raz f(); 335d98ba60SSaar Raz } 345d98ba60SSaar Raz 355d98ba60SSaar Raz #endif // HEADER 36