Re: [PATCH-v2 2/4] Replace SYM_ and MOD_ #defines with enums in symbol.h.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jun 2, 2009 at 8:43 PM, Samuel Bronson <naesten@xxxxxxxxx> wrote:

> Hmm, which tree is yours? I pulled from
> git://git.kernel.org/pub/scm/devel/sparse/sparse.git


I have a development tree for sparse at:

http://git.kernel.org/?p=devel/sparse/chrisl/sparse.git;a=summary

> As for the bit operations, those are perfectly legal for enum values,
> and there are two similar enum types defined in this very header:

But they are simple assign, they don't have the following

+       MOD_NONLOCAL    = (MOD_EXTERN | MOD_TOPLEVEL),
+       MOD_STORAGE     = (MOD_AUTO | MOD_REGISTER | MOD_STATIC |
MOD_EXTERN | MOD_INLINE | MOD_TOPLEVEL | MOD_FORCE),
+       MOD_SIGNEDNESS  = (MOD_SIGNED | MOD_UNSIGNED | MOD_EXPLICITLY_SIGNED),
+       MOD_SPECIFIER   = (MOD_CHAR | MOD_SHORT | MOD_LONG |
MOD_LONGLONG | MOD_SIGNEDNESS),
+       MOD_SIZE        = (MOD_CHAR | MOD_SHORT | MOD_LONG | MOD_LONGLONG),
+       MOD_IGNORE      = (MOD_TOPLEVEL | MOD_STORAGE | MOD_ADDRESSABLE |
+                          MOD_ASSIGNED | MOD_USERTYPE | MOD_ACCESSED
| MOD_EXPLICITLY_SIGNED),
+       MOD_PTRINHERIT  = (MOD_VOLATILE | MOD_CONST | MOD_NODEREF | MOD_STORAGE)

Same can apply to pretty much all constant defines. It doesn't mean
that we should replace all constant defines into enum. There is no actual
benefit for people who runs sparse.

>> Changing bitfield from "char" to "int" has risk of making the symbol
>> struct bigger. We don't want that because symbol is a very common
>> structure for sparse.
>
> When could this actually happen? Here (on i386), pahole says this:

You answer yourself, it is implementation defined. Most of the people
just run sparse. They don't benefit from your change. Personally I think
how gdb print them is not a big deal. No worth to risk it.

Chris
--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Newbies FAQ]     [LKML]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Trinity Fuzzer Tool]

  Powered by Linux