blob: 9c74435942838d0ff8a15129b1d3032d8a13efb7 [file] [log] [blame]
// RUN: cp %s %t
// RUN: %clang_cc1 -pedantic -fixit -x c %t || true
// RUN: grep -v CHECK %t > %t2
// RUN: %clang_cc1 -pedantic -Werror -x c %t
// RUN: FileCheck -input-file=%t2 %t
/* 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. */
// FIXME: FIX-IT should add #include <string.h>?
int strcmp(const char *s1, const char *s2);
void f0(void) { };
struct s {
int x, y;;
};
// CHECK: _Complex double cd;
_Complex cd;
// CHECK: struct s s0 = { .y = 5 };
struct s s0 = { y: 5 };
// CHECK: int array0[5] = { [3] = 3 };
int array0[5] = { [3] 3 };
void f1(x, y)
{
}
int i0 = { 17 };
int test_cond(int y, int fooBar) {
// CHECK: int x = y ? 1 : 4+fooBar;
int x = y ? 1 4+foobar;
return x;
}
// CHECK: typedef int int_t;
typedef typedef int int_t;
// <rdar://problem/7159693>
enum Color {
Red // expected-error{{missing ',' between enumerators}}
Green = 17 // expected-error{{missing ',' between enumerators}}
Blue,
};