fixit-errors.c revision 3f0b5fd3a55baf1e3e768fe981bcc3ad5e209ec1
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// RUN: clang-cc -fsyntax-only -pedantic -fixit %s -o - | clang-cc -pedantic -Werror -x c -
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* This is a test of the various code modification hints that are
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   provided as part of warning or extension diagnostics. All of the
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   warnings will be fixed by -fixit, and the resulting file should
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   compile cleanly with -Werror -pedantic. */
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct s; // expected-note{{previous use is here}}
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)union s *s1; // expected-error{{use of 's' with tag type that does not match previous declaration}}
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct Point {
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  float x, y, z;
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct Point *get_origin();
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void test_point() {
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  (void)get_origin->x;
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)