On Mon, 2018-09-03 at 15:38 -0600, Jonathan Corbet wrote: > On Mon, 3 Sep 2018 22:29:00 +0200 > Heinrich Schuchardt <xypron.glpk@xxxxxx> wrote: > > > > > # pointer-to-function > > > > $arg =~ tr/#/,/; > > > > - $arg =~ m/[^\(]+\(\*?\s*([\w\.]*)\s*\)/; > > > > m/[^\(]+\(\*?\s*([\w\.]*)\s*\)/; > > ^ > > Here we allow for 0..1 asterixes. > > > > If there is no asterix it is not a function pointer. Why should we care > > for this case? > > GCC seems to allow that asterisk (asterix is an indomitable Gaul :) to be > missing; not sure if that's officially allowed by the language or not. I > also don't know if any code in the kernel elides it, Many typedefs for function pointers do not use the * Dunno if there are many others, I didn't look hard. $ git grep -P '\w+\s*\*?\s*\(\s*\w+\w*\)\s*\(\w+' | \ grep -w typedef