| // 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)(); |
| } |
| |