Smatch development is progressing slowly but surely. I have been playing with Apache source as part of a larger project. Here is a break down of some of the pointer uses in Apache.
There are 43108 pointer dereferences in the Apache source code. That is counting dereferences in macros once for each time the macro is used. It only counts code used in my compile, not all Apache source.
Count Type of pointer Explanation
15225 parm_decl *parameter (arrays are passed as pointers)
12020 var_decl *foo
10466 plus_expr *foo = bar; foo[2];
1923 postincrement_expr *foo++
1604 component_ref *foo.bar
692 call_expr get_foo()->bar
461 addr_expr pointers to a string constant mostly.
398 indirect_ref **foo
120 cond_expr *(foo?foo:bar)
80 minus_expr foo[a - b - c]
71 preincrement_expr *++foo
25 predecrement_expr *--foo
9 array_ref *foo[a]
6 postdecrement_expr *foo--
4 va_arg_expr *(va_arg(foo, int *))
4 modify_expr *(foo = get_bar())
FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!