| // RUN: %clang_cc1 -x c++-header -emit-pch %s -o %t |
| // RUN: %clang_cc1 -include-pch %t -fsyntax-only -verify %s |
| |
| // expected-no-diagnostics |
| |
| #ifndef HEADER_INCLUDED |
| #define HEADER_INCLUDED |
| |
| static inline void foo(int &x, int y) { |
| // Capturing x and y |
| #pragma clang __debug captured |
| { |
| x += y; |
| } |
| } |
| |
| struct C { |
| int val; |
| |
| explicit C(int v) : val(v) { } |
| |
| void bar(int &x) { |
| // Capturing x and this |
| #pragma clang __debug captured |
| { |
| x += val; |
| } |
| } |
| }; |
| |
| #else |
| |
| void test_foo(int &x) { |
| foo(x, 10); |
| } |
| |
| void test_bar(int &x) { |
| C Obj(10); |
| Obj.bar(x); |
| } |
| |
| #endif |