Sep. 29th, 2004

kickaha: (Default)
As you might have guessed, I've been working with the gcc internals a lot lately, specifically, the sputum that gets spewed when you ask it for a dump tree of the current translation unit. (98kB of crap when compiling a *BLANK FILE* if that gives you any idea...)

Tonight takes the cake.

gcc tags most every node with words (randomly placed in the data structure, I might add, so it's a bitch to parse) that are supposed to be attributes of that node. Methods that are a constructor for a class get 'constructor', all operators get 'operator', etc, static variables get (duh) 'static', static functions and methods get...

Nothing.

Static functions and methods ARE NOT LABELED AS STATIC.

From these tags I can tell you the intimate details of damned near any node in the tree, (that variable is used, that one isn't, that function is extern and undefined in the current scope, etc, etc, etc)... but I can't tell you if a function is simply declared static.

I had to go digging through the various permutations of the arguments list and current scoping to determine if a function or method is static. Farking hell.

Seems like a minor point, but without that information, I'd be seriously, seriously stuck. As in 'forget graduating this semester' stuck. Criminy.
kickaha: (Default)
As you might have guessed, I've been working with the gcc internals a lot lately, specifically, the sputum that gets spewed when you ask it for a dump tree of the current translation unit. (98kB of crap when compiling a *BLANK FILE* if that gives you any idea...)

Tonight takes the cake.

gcc tags most every node with words (randomly placed in the data structure, I might add, so it's a bitch to parse) that are supposed to be attributes of that node. Methods that are a constructor for a class get 'constructor', all operators get 'operator', etc, static variables get (duh) 'static', static functions and methods get...

Nothing.

Static functions and methods ARE NOT LABELED AS STATIC.

From these tags I can tell you the intimate details of damned near any node in the tree, (that variable is used, that one isn't, that function is extern and undefined in the current scope, etc, etc, etc)... but I can't tell you if a function is simply declared static.

I had to go digging through the various permutations of the arguments list and current scoping to determine if a function or method is static. Farking hell.

Seems like a minor point, but without that information, I'd be seriously, seriously stuck. As in 'forget graduating this semester' stuck. Criminy.

Profile

kickaha: (Default)
kickaha

January 2020

S M T W T F S
   1234
5678 91011
12131415161718
19202122232425
262728293031 

Style Credit

Expand Cut Tags

No cut tags