annotate clang/test/Sema/invalid-decl.c @ 207:2e18cbf3894f

LLVM12
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 08 Jun 2021 06:07:14 +0900
parents 1d019706d866
children c4bab56944e8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 // RUN: %clang_cc1 %s -fsyntax-only -verify
anatofuz
parents:
diff changeset
2
anatofuz
parents:
diff changeset
3 void test() {
anatofuz
parents:
diff changeset
4 char = 4; // expected-error {{expected identifier}}
anatofuz
parents:
diff changeset
5 }
anatofuz
parents:
diff changeset
6
anatofuz
parents:
diff changeset
7
anatofuz
parents:
diff changeset
8 // PR2400
anatofuz
parents:
diff changeset
9 typedef xtype (*x)(void* handle); // expected-error {{function cannot return function type}} expected-warning {{type specifier missing, defaults to 'int'}} expected-warning {{type specifier missing, defaults to 'int'}}
anatofuz
parents:
diff changeset
10
anatofuz
parents:
diff changeset
11 typedef void ytype();
anatofuz
parents:
diff changeset
12
anatofuz
parents:
diff changeset
13
anatofuz
parents:
diff changeset
14 typedef struct _zend_module_entry zend_module_entry;
anatofuz
parents:
diff changeset
15 struct _zend_module_entry {
anatofuz
parents:
diff changeset
16 ytype globals_size; // expected-error {{field 'globals_size' declared as a function}}
anatofuz
parents:
diff changeset
17 };
anatofuz
parents:
diff changeset
18
anatofuz
parents:
diff changeset
19 zend_module_entry openssl_module_entry = {
anatofuz
parents:
diff changeset
20 sizeof(zend_module_entry)
anatofuz
parents:
diff changeset
21 };
anatofuz
parents:
diff changeset
22
anatofuz
parents:
diff changeset
23 // <rdar://problem/11067144>
anatofuz
parents:
diff changeset
24 typedef int (FunctionType)(int *value);
anatofuz
parents:
diff changeset
25 typedef struct {
anatofuz
parents:
diff changeset
26 UndefinedType undef; // expected-error {{unknown type name 'UndefinedType'}}
anatofuz
parents:
diff changeset
27 FunctionType fun; // expected-error {{field 'fun' declared as a function}}
anatofuz
parents:
diff changeset
28 } StructType;
anatofuz
parents:
diff changeset
29 void f(StructType *buf) {
anatofuz
parents:
diff changeset
30 buf->fun = 0;
anatofuz
parents:
diff changeset
31 }
anatofuz
parents:
diff changeset
32
anatofuz
parents:
diff changeset
33 // rdar://11743706
anatofuz
parents:
diff changeset
34 static void bar(hid_t, char); // expected-error {{expected identifier}}
anatofuz
parents:
diff changeset
35
anatofuz
parents:
diff changeset
36 static void bar(hid_t p, char); // expected-error {{unknown type name 'hid_t'}}
anatofuz
parents:
diff changeset
37
anatofuz
parents:
diff changeset
38 void foo() {
anatofuz
parents:
diff changeset
39 (void)bar;
anatofuz
parents:
diff changeset
40 }
anatofuz
parents:
diff changeset
41
anatofuz
parents:
diff changeset
42 void test2();
anatofuz
parents:
diff changeset
43 void test2(undef); // expected-error {{a parameter list without types is only allowed in a function definition}}
anatofuz
parents:
diff changeset
44 void test2() { }
anatofuz
parents:
diff changeset
45
anatofuz
parents:
diff changeset
46 void test3();
anatofuz
parents:
diff changeset
47 void test3; // expected-error {{incomplete type}}
anatofuz
parents:
diff changeset
48 void test3() { }
anatofuz
parents:
diff changeset
49
anatofuz
parents:
diff changeset
50 void ellipsis1(...); // expected-error {{ISO C requires a named parameter before '...'}}