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
a8d6bb06df5b54fe2b71872e51a488548bd684c2
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: 180ms Template: 2ms
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