Logo
Explore Help
Sign In
feedc0de/qt-creator
1
0
Fork 0
You've already forked qt-creator
forked from qt-creator/qt-creator
Code Pull Requests Activity
Files
103aa8be7cc57801ca083b5a53e34b51df36d3e3
qt-creator/tests/auto/cplusplus/c99/data/designatedInitializer.1.c

19 lines
489 B
C
Raw Normal View History

C: Parser: Support parsing of c99 designated initializers In case: int a[6] = { [4] = 29, [2] = 15 }; struct point { int x, y; }; struct point p = { .y = 3, .x = 2 }; Grammar change when c99 language feature is enabled: old grammar: braced-init-list :: '{' initializer-list '}' new grammar: braced-init-list :: '{' designated-initializer-list '}' designated-initializer-list :: designated-initializer (',' designated-initializer )* designated-initializer :: designator* initializer-clause designator :: '.' identifier | '[' constant-expression ']' Task-number: QTCREATORBUG-1902 Change-Id: Ib99d6f553f8d0f50ba3eff86f3a2e86d73372426 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-05-05 22:56:15 +08:00
int aa[4] = { [2] = 3, [1] = 6 };
static short grid[3] [4] = { [0][0]=8, [0][1]=6,
[0][2]=4, [0][3]=1,
[2][0]=9, [2][1]=3,
[2][2]=1, [2][3]=1 };
int a[10] = {2, 4, [8]=9, 10};
int a[MAX] = {
1, 3, 5, 7, 9, [MAX-5] = 8, 6, 4, 2, 0
};
C++: fix parsing nested C99 designated initializers. Change-Id: Iaa0e7550abf6be77601b1852652bb3d0731d0323 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2015-02-26 16:06:10 +01:00
struct {
int table [3];
struct {
int a;
int b;
} parts;
} a[MAX] = {
[2] = { .table = { 8, [1] = 7, 6 }, .parts = { .a = 0, 1 } }
};
Copy Permalink
Powered by Gitea Version: 1.24.6 Page: 125ms Template: 1ms
English
Bahasa Indonesia Deutsch English Español Français Gaeilge Italiano Latviešu Magyar nyelv Nederlands Polski Português de Portugal Português do Brasil Suomi Svenska Türkçe Čeština Ελληνικά Български Русский Українська فارسی മലയാളം 日本語 简体中文 繁體中文(台灣) 繁體中文(香港) 한국어
Licenses API