llvm-project/clang/test/Sema/xray-log-args-class.cpp
Dean Michael Berris 7456a281dd [XRay][clang] Support capturing the implicit this argument to C++ class member functions
Summary:
Before this change, we couldn't capture the `this` pointer that's
implicitly the first argument of class member functions. There are some
interesting things we can do with capturing even just this single
argument for zero-argument member functions.

Reviewers: rnk, pelikan

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D34052

llvm-svn: 305544
2017-06-16 03:22:09 +00:00

8 lines
381 B
C++

// RUN: %clang_cc1 %s -verify -fsyntax-only -std=c++11 -x c++
class Class {
[[clang::xray_always_instrument, clang::xray_log_args(1)]] void Method();
[[clang::xray_log_args(-1)]] void Invalid(); // expected-error {{'xray_log_args' attribute parameter 1 is out of bounds}}
[[clang::xray_log_args("invalid")]] void InvalidStringArg(); // expected-error {{'xray_log_args'}}
};