Skip to contentSkip to conversation

Compiler question....

DISCUSSION Ivan Gyurdiev 2 participants 2 messages May 21, 2002

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw
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/