// RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:24:5 %s -o - 2>&1 | FileCheck %s template auto make_func() { struct impl { impl* func() { int x; if (x = 10) {} // Check that body of this function is actually skipped. // CHECK-NOT: crash-skipped-bodies-template-inst.cpp:7:{{[0-9]+}}: warning: using the result of an assignment as a condition without parentheses return this; } }; int x; if (x = 10) {} // Check that this function is not skipped. // CHECK: crash-skipped-bodies-template-inst.cpp:15:9: warning: using the result of an assignment as a condition without parentheses return impl(); } void foo() { []() { make_func(); m // CHECK: COMPLETION: make_func : [#auto#]make_func<<#class T#>>() }; }