Re: typedefs for indent - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: typedefs for indent
Date
Msg-id 49C67B3C.8020907@dunslane.net
Whole thread Raw
In response to Re: typedefs for indent  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: typedefs for indent  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers

Tom Lane wrote:
> Andrew Dunstan <andrew@dunslane.net> writes:
>   
>> [ typedef lists ]
>>     
>
> Hmm ... the windows members are claiming that "int", "char", "float",
> "double" etc are typedefs, which doesn't exactly match up with my
> mental model of C.  On the other hand, dungbeetle is failing to report
> a whole bunch of typedefs that it should report, for example
> AfterTriggerEventDataOneCtid which comes from entirely non platform
> specific code in commands/trigger.c.
>
> In short, I don't think I trust this data at all...
>
>             
>   

Well, the procedure for generating it is quite public.

The relevant piece of perl is this - feel free to suggest improvements:

       if (@err == 1) # Linux       {           @dumpout = `objdump -W $bin 2>/dev/null | egrep -A3 
'(DW_TAG_typedef|DW_TAG_structure_type|DW_TAG_union_type)' 2>/dev/null`;           foreach (@dumpout)           {
       @flds = split;               next if ($flds[0]  ne 'DW_AT_name' || $flds[-1] =~ 
 
/^DW_FORM_str/);               $syms{$flds[-1]} =1;           }       }       else       {           @dumpout =
`objdump--stabs $bin 2>/dev/null`;           foreach (@dumpout)           {               @flds = split;
nextif (@flds < 7);               next if ($flds[1]  ne 'LSYM' || $flds[6] !~ /([^:]+):[tT]/);               $syms{$1}
=1;          }                 }      
 


cheers

andrew



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: typedefs for indent
Next
From: Tom Lane
Date:
Subject: Re: poor wording on SSPI error message