[gnu.gdb.bug] false types reported by gdb-3.2

murf@CS.UTEXAS.EDU (Steve Murphy) (07/20/89)

(gdb) br set_mtime_defaults
Reading in symbols for expand_params.d...done.
Breakpoint 1 at 0x8f72: file expand_params.d, line 579.
(gdb) c
Continuing.

Bpt 1, set_mtime_defaults (set_func=(int (*)()) 0x9da12, symid=0) (expand_params.d line 582)
582		char *spp = symbol[symid].mtime_defaults;
(gdb) l
577	/* ************************************************************************** */
578	set_mtime_defaults(set_func,symid)
579	int (*set_func)();
580	int symid;
581	{
582		char *spp = symbol[symid].mtime_defaults;
583		
584		if (!spp)
585		{
586			(*set_func)(symid);
(gdb) whatis MTIME_DEFAULTS
type = int ()
(gdb) l 1,1
1	
(gdb) sea MTIME_DEFAULTS
35	extern char **MTIME_DEFAULTS;
(gdb) p MTIME_DEFAULTS
$1 = {int ()} 0x1ae752

Need I say more? Well, let me see:

Compiled by gcc1.35, with -traditional -O -g

on Sun 3, OS 3.5

Notice that the var, MTIME_DEFAULTS, is globally  defined near the top
of the file. I looked at other globals too, with  the same probs. This
is better than  3.1.2, which reported  global  vars like this as  just
(char).

murf