1// RUN: %clangxx_asan -std=c++11 -O1 -fsanitize-address-use-after-scope %s -o %t && \ 2// RUN: not %run %t 2>&1 | FileCheck %s 3 4#include <functional> 5 6int main() { 7 std::function<int()> f; 8 { 9 int x = 0; 10 f = [&x]() { 11 return x; // BOOM 12 // CHECK: ERROR: AddressSanitizer: stack-use-after-scope 13 // CHECK: #0 0x{{.*}} in {{.*}}use-after-scope-capture.cc:[[@LINE-2]] 14 }; 15 } 16 return f(); // BOOM 17} 18