llvm-project/clang/test/FixIt/fixit-pmem.cpp

27 lines
545 B
C++

// RUN: cp %s %t
// RUN: %clang_cc1 -pedantic -fixit -x c++ %t
// RUN: %clang_cc1 -fsyntax-only -pedantic -Werror -x c++ %t
// XFAIL: *
/* This is a test of the various code modification hints that are
provided as part of warning or extension diagnostics. All of the
warnings will be fixed by -fixit, and the resulting file should
compile cleanly with -Werror -pedantic. */
struct S {
int i;
};
int foo(int S::* ps, S s, S* p)
{
p.*ps = 1;
return s->*ps;
}
void foo1(int (S::*ps)(), S s, S* p)
{
(p.*ps)();
(s->*ps)();
}