1176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines// RUN: %clang_cc1 -fprofile-instr-generate -fcoverage-mapping -dump-coverage-mapping -emit-llvm-only -main-file-name templates.cpp %s | FileCheck %s
2176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines
3176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinestemplate<typename T>
4176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesvoid unused(T x) {
5176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines  return;
6176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines}
7176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines
8176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinestemplate<typename T>
9176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesint func(T x) {  // CHECK: func
10176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines  if(x)          // CHECK: func
11176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines    return 0;
12176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines  else
13176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines    return 1;
14176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines  int j = 1;
15176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines}
16176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines
17176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesint main() {
18176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines  func<int>(0);
19176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines  func<bool>(true);
20176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines  return 0;
21176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines}
22