Re: Finding all typedefs

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

 



Josh Triplett wrote:
> On Wed, 2007-08-01 at 11:45 -0400, Pavel Roskin wrote:
>> On Fri, 2007-07-27 at 16:01 -0700, Randy Dunlap wrote:
>>> I asked Linus about 3 years ago for something that would dump
>>> global data sizes.  It's attached (updated to recent sparse;
>>> it also has '-keywords' to warn about using C++ keywords, but you
>>> can ignore/delete that part).  It may be fixable to do what you want,
>>> although I have no info on sparse symbol struct contents.
>>> Or maybe Josh et al can do what you want rather easily... :)
>> Sorry for delay.  Thank you!  I'm not sure I can reuse anything from
>> that code to dump typedefs.
>>
>> My point is, I want to write a script that would use existing software
>> to produce checkpatch.pl conforming code.  If I need to hack anything,
>> I'd rather contribute to indent or astyle.  In fact, it would be a much
>> better approach to recognize argument lists and format them differently,
>> rather than deal with a list of typedefs.
>>
>> I hoped that c2xml would give me typedefs, but it doesn't.
> 
> It certainly should; I didn't realize that it didn't.  I'll look into it
> and see if I can change that.
> 
> CCing Rob (the author of c2xml) to see if he has any thoughts on this.

Well, the way a typedef appears in the c2xml output is a symbol with
type="node" and user-type="1", but this also applies to nodes that are
instances of typedefs. I still haven't figured out why I never get any
symbols with MOD_TYPEDEF set. I suspect parse.c:1225:8, though I don't
really understand this bit of code.

Another annoying thing is that the types are always resolved for
typedefs. i.e. for

typedef int foo;
foo bar;

the symbol for bar has a base type of int.

Any suggestions for how to solve this would be greatly appreciated :)

Thanks,
Rob Taylor
-
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