Commit 65ca335
committed
Support multiple declarators in struct member decl
This commit allows struct members to be declared with multiple variables
on the same line, matching standard C syntax. For example:
struct node {
struct node *next, *prev; // Now supported
int value;
};
The fix handles comma-separated declarators by parsing additional
variables after the first one, inheriting the base type while parsing
pointer levels and array dimensions independently for each declarator.1 parent e04a60d commit 65ca335
4 files changed
+74
-18
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
576 | 576 | | |
577 | 577 | | |
578 | 578 | | |
579 | | - | |
580 | | - | |
| 579 | + | |
581 | 580 | | |
582 | 581 | | |
583 | 582 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
266 | 266 | | |
267 | 267 | | |
268 | 268 | | |
269 | | - | |
270 | | - | |
| 269 | + | |
271 | 270 | | |
272 | 271 | | |
273 | 272 | | |
| |||
276 | 275 | | |
277 | 276 | | |
278 | 277 | | |
279 | | - | |
280 | | - | |
| 278 | + | |
281 | 279 | | |
282 | 280 | | |
283 | 281 | | |
| |||
306 | 304 | | |
307 | 305 | | |
308 | 306 | | |
309 | | - | |
310 | | - | |
| 307 | + | |
311 | 308 | | |
312 | 309 | | |
313 | 310 | | |
| |||
408 | 405 | | |
409 | 406 | | |
410 | 407 | | |
411 | | - | |
412 | | - | |
| 408 | + | |
413 | 409 | | |
414 | 410 | | |
415 | 411 | | |
| |||
423 | 419 | | |
424 | 420 | | |
425 | 421 | | |
426 | | - | |
427 | | - | |
| 422 | + | |
428 | 423 | | |
429 | 424 | | |
430 | 425 | | |
431 | | - | |
432 | | - | |
| 426 | + | |
433 | 427 | | |
434 | 428 | | |
435 | 429 | | |
| |||
448 | 442 | | |
449 | 443 | | |
450 | 444 | | |
451 | | - | |
452 | | - | |
| 445 | + | |
453 | 446 | | |
454 | 447 | | |
455 | 448 | | |
| |||
519 | 512 | | |
520 | 513 | | |
521 | 514 | | |
522 | | - | |
523 | | - | |
| 515 | + | |
524 | 516 | | |
525 | 517 | | |
526 | 518 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2870 | 2870 | | |
2871 | 2871 | | |
2872 | 2872 | | |
| 2873 | + | |
| 2874 | + | |
| 2875 | + | |
| 2876 | + | |
| 2877 | + | |
| 2878 | + | |
| 2879 | + | |
| 2880 | + | |
| 2881 | + | |
| 2882 | + | |
| 2883 | + | |
| 2884 | + | |
| 2885 | + | |
| 2886 | + | |
| 2887 | + | |
| 2888 | + | |
| 2889 | + | |
| 2890 | + | |
| 2891 | + | |
| 2892 | + | |
| 2893 | + | |
| 2894 | + | |
| 2895 | + | |
| 2896 | + | |
| 2897 | + | |
2873 | 2898 | | |
2874 | 2899 | | |
2875 | 2900 | | |
| |||
2922 | 2947 | | |
2923 | 2948 | | |
2924 | 2949 | | |
| 2950 | + | |
| 2951 | + | |
| 2952 | + | |
| 2953 | + | |
| 2954 | + | |
| 2955 | + | |
| 2956 | + | |
| 2957 | + | |
| 2958 | + | |
| 2959 | + | |
| 2960 | + | |
| 2961 | + | |
| 2962 | + | |
| 2963 | + | |
| 2964 | + | |
| 2965 | + | |
| 2966 | + | |
| 2967 | + | |
| 2968 | + | |
| 2969 | + | |
| 2970 | + | |
| 2971 | + | |
| 2972 | + | |
| 2973 | + | |
| 2974 | + | |
| 2975 | + | |
2925 | 2976 | | |
2926 | 2977 | | |
2927 | 2978 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
423 | 423 | | |
424 | 424 | | |
425 | 425 | | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
426 | 440 | | |
427 | 441 | | |
428 | 442 | | |
| |||
0 commit comments