This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Unable to resolve identifier a2 C code: struct A0 { struct A1 { struct A2 { int a3; } a2[3]; } a1[3]; }; typedef struct A0 A; int main() { A aa = {.a1[0].a2[0].a3 = 111}; return 0; }
Integrated into 'main-silver', will be available in build *201510300002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-silver/rev/9c89bf9cb211 User: Petr Kudryavtsev <petrk@netbeans.org> Log: Fixed #246680 - C99: nested c99 initializer (2) (transplanted from 95f212d8db5ef2ad4a31ae09d507c40f1327d217)
Still unable to resolve identifier ".Data" in first line of main() example below; struct UrxUnitStruct { //UART Rx unit uint8_t Data; //The character received uint8_t Errs; //Errors detected at certain character reception }; struct UrxStatusStruct { struct UrxUnitStruct *WrPtr; //UART Rx software buffer write pointer struct UrxUnitStruct *RePtr; //UART Rx software buffer read pointer }; volatile struct UrxUnitStruct U1RxBuff[128]; //Rx SW buffer volatile struct UrxStatusStruct U1RxStatus; //Rx SW buffer status int main(void) { //For this form the compiler does not warn and code compiles and works //correctly. Parser indicates that .Data field is NOT resolvable (*((U1RxStatus.WrPtr)++)).Data = 0x20; //Parser resolves .Data field for these two forms; //(*((U1RxStatus.WrPtr))++).Data = 0x20; //(*U1RxStatus.WrPtr++).Data = 0x20; return 0 }
This has nothing to do with initializers, so I've opened another one bug 256296 for that case.
Additional fix to solve some performance issues: 303833:6a84cca6e3c6
Integrated into 'main-silver', will be available in build *201511100002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-silver/rev/79868419f5a5 User: Petr Kudryavtsev <petrk@netbeans.org> Log: Additional fix for #246680 - C99: nested c99 initializer (2) -- added caching of the last path in initializer to increase performance on really large initializers (transplanted from 6a84cca6e3c6d1d6668039d992abfbf2f339ba40)
v.
Verified in NetBeans 8.1patch1