Compiler question....
Kernel 2.5.17
Should the compiler be blamed or the code?
gcc 2.96 compiles it. 3.1 won't.
Before people yell at me to use the recommended compiler, I would like to say that it really wouldn't solve the problem. Compilers move forward, the code has to comply. Therefore I'm excersing my right to ignore all warnings about my compiler and use it. If this is a bug in the compiler, I'd agree and switch back to 2.96. Otherwise I'd suggest the code be changed. Comments or advice?
In file included from attrib.h:31,
from debug.h:31,
from ntfs.h:40,
from aops.c:29:layout.h:299: unnamed fields of type other than struct or union are not allowed
layout.h:1450: unnamed fields of type other than struct or union are not allowed
layout.h:1466: unnamed fields of type other than struct or union are not allowed
layout.h:1715: unnamed fields of type other than struct or union are not allowed
layout.h:1892: unnamed fields of type other than struct or union are not allowed
layout.h:2052: unnamed fields of type other than struct or union are not allowed
layout.h:2064: unnamed fields of type other than struct or union are not allowed
Quoted 10 lines · Ivan Gyurdiev
Kernel 2.5.17
Should the compiler be blamed or the code?
gcc 2.96 compiles it. 3.1 won't.
Before people yell at me to use the recommended compiler, I would like to say that it really wouldn't solve the problem. Compilers move forward, the code has to comply. Therefore I'm excersing my right to ignore all warnings about my compiler and use it. If this is a bug in the compiler, I'd agree and switch back to 2.96. Otherwise I'd suggest the code be changed. Comments or advice?
I consider it a bug in the compiler. The gcc folk have not replied to my filed bug report yet so I have no idea if they agree or not...
The error messages the compiler is generating are completely bogus because the unnamed fields ARE of type struct or union. It's just that they are typedeffed so that the words "struct" and "union" do not appear. IMO that is a screwup by gcc...
Best regards,
Anton
Quoted 18 lines
In file included from attrib.h:31,
from debug.h:31, from ntfs.h:40, from aops.c:29:layout.h:299: unnamed fields of type other than struct or union are not allowed
layout.h:1450: unnamed fields of type other than struct or union are not allowed
layout.h:1466: unnamed fields of type other than struct or union are not allowed
layout.h:1715: unnamed fields of type other than struct or union are not allowed
layout.h:1892: unnamed fields of type other than struct or union are not allowed
layout.h:2052: unnamed fields of type other than struct or union are not allowed
layout.h:2064: unnamed fields of type other than struct or union are not allowed
Signature · 5 lines
"I've not lost my mind. It's backed up on tape somewhere." - Unknown -- Anton Altaparmakov <aia21 at cantab.net> (replace at with @) Linux NTFS Maintainer / IRC: #ntfs on irc.openprojects.net WWW: http://linux-ntfs.sf.net/ & http://www-stu.christs.cam.ac.uk/~aia21/