31 lines
933 B
C++
31 lines
933 B
C++
// RUN: %clang_cc1 -mllvm -emptyline-comment-coverage=false -triple %itanium_abi_triple -fprofile-instrument=clang -fcoverage-mapping -dump-coverage-mapping -emit-llvm-only %s | FileCheck %s
|
|
|
|
// PR39942
|
|
|
|
class a;
|
|
template <class b> a &operator<<(b &, const char *);
|
|
int c;
|
|
#define d(l) l(__FILE__, __LINE__, c)
|
|
#define COMPACT_GOOGLE_LOG_ERROR d(e)
|
|
#define f(g, cond) cond ? (void)0 : h() & g
|
|
#define i(j) COMPACT_GOOGLE_LOG_##j.g()
|
|
#define k(j) f(i(j), 0)
|
|
class e {
|
|
public:
|
|
e(const char *, int, int);
|
|
a &g();
|
|
};
|
|
class h {
|
|
public:
|
|
void operator&(a &);
|
|
};
|
|
void use_str(const char *);
|
|
|
|
#define m(func) \
|
|
use_str(#func); \
|
|
k(ERROR) << #func; \
|
|
return 0; // CHECK: File 1, [[@LINE-1]]:4 -> [[@LINE-1]]:16 = (#0 - #1)
|
|
int main() {
|
|
m(asdf);
|
|
}
|