summarylogtreecommitdiffstats
path: root/0016-Parse-empty-fields-in-struct-declarations.patch
blob: bd930a88fd5e4ff62ac8a40ba0eaa2387d56eab8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
From 83d15c9bebf3c95cd817015f74f2e9fc96b6d0ec Mon Sep 17 00:00:00 2001
From: litvin <litvindev@gmail.com>
Date: Sun, 18 Jun 2017 18:47:25 +0300
Subject: [PATCH 16/33] Parse empty fields in struct declarations

---
 src/cgram.y    | 6 ++++--
 src/yaccgram.y | 6 ++++--
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/cgram.y b/src/cgram.y
index d8e5ba9..601df1e 100644
--- a/src/cgram.y
+++ b/src/cgram.y
@@ -1141,8 +1141,10 @@ type_specifier_list
 	;
 */
 
-type_specifier_list
-	: type_mod_specifier_list						/* { $$.d = $1.d; } */
+type_specifier_list:				{ /* gcc extension allow empty field */
+		$$.d = crEmptyField();
+	}
+	| type_mod_specifier_list						/* { $$.d = $1.d; } */
 	| type_specifier_list0							/* { $$.d = $1.d; } */
 	;
 
diff --git a/src/yaccgram.y b/src/yaccgram.y
index 87b406c..a6ca5d6 100644
--- a/src/yaccgram.y
+++ b/src/yaccgram.y
@@ -1235,8 +1235,10 @@ type_specifier_list
 	;
 */
 
-type_specifier_list
-	: type_mod_specifier_list						/* { $$.d = $1.d; } */
+type_specifier_list:				{ /* gcc extension allow empty field */
+		$$.d = crEmptyField();
+	}
+	| type_mod_specifier_list						/* { $$.d = $1.d; } */
 	| type_specifier_list0							/* { $$.d = $1.d; } */
 	;
 
-- 
2.18.0