在 2019/3/1 上午12:22, Ruslan Garipov 写道: > That commit does what you've suggested to me to fix build with g++: it > moves two structure definition out of an anonymous union. That's what > I've done already and that's what has "broken" my C compilers on > Microsoft Windows. But the commit 'a66e407e' is "lucky" to have those > two structures (`_LBA` and `_MSF`) having no members of the same name. > And in my case I have, for example, `_Time2Val`, `_DateTimeVal` and > `_DateTimeOffsetVal` all having the `bScale` members, which the > compilers erroneously "inserts" as members into `SSVARIANT` and, > therefore, fail with error. >
... did you mean the members of `struct _LBA {` in the aforementioned commit would be members of the enclosing `struct _PLAY_CD {`? This seems the case in C. It looks like we have ended up in a bug there. > Thus, what about using `#ifdef __cplusplus` guard? > But I think we should try promoting named nested structs and unions (so they appear in the file scope). At least this works for both C and C++, providing these names don't conflict with each other. -- Best regards, LH_Mouse
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public