This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [PATCH] Fix PR gdb/290
- From: Andrew Cagney <ac131313 at cygnus dot com>
- To: kettenis at chello dot nl, gcc at gcc dot gnu dot org
- Cc: gdb-patches at sources dot redhat dot com
- Date: Sat, 09 Feb 2002 14:19:29 -0500
- Subject: Re: [PATCH] Fix PR gdb/290
- References: <20020209172736.38606.qmail@elgar.kettenis.dyndns.org>
[added gcc]
> Checked in as obvious. Wonder why GCC didn't warn about this. Should
> we add some more -Wxxx flags?
I was looking at it and wondering the same thing - I know I've fixed
botched return type warnings. Trying:
static int f1 (void) { return 1; }
static void f2 (void) { return 1; }
static void f3 (void) { return; }
static int f4 (void) { return; }
I get:
-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs -Wformat -Wparentheses
-Wpointer-arith -Wuninitialized -Werror
doublest.c: In function `f2':
doublest.c:741: warning: `return' with a value, in function returning void
doublest.c: In function `f4':
doublest.c:743: warning: `return' with no value, in function returning
non-void
so ok so far. Hmm, I think this tells the story:
static void f5 (int a) { return f3(); }
Returning the result from a function that returns void (f3()) doesn't
attract a warning.
Bug or feature?
Andrew
> Mark
>
>
> Index: ChangeLog
> from Mark Kettenis <kettenis@gnu.org>
>
> * doublest.c (store_typed_floating): Don't try to return a value.
> Fixes PR gdb/290.
>
> Index: doublest.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/doublest.c,v
> retrieving revision 1.8
> diff -u -p -r1.8 doublest.c
> --- doublest.c 2002/01/22 19:57:40 1.8
> +++ doublest.c 2002/02/09 17:24:44
> @@ -732,9 +732,9 @@ store_typed_floating (void *addr, const
> memset (addr, 0, TYPE_LENGTH (type));
>
> if (TYPE_FLOATFORMAT (type) == NULL)
> - return store_floating (addr, TYPE_LENGTH (type), val);
> -
> - floatformat_from_doublest (TYPE_FLOATFORMAT (type), &val, addr);
> + store_floating (addr, TYPE_LENGTH (type), val);
> + else
> + floatformat_from_doublest (TYPE_FLOATFORMAT (type), &val, addr);
> }
>
> /* Convert a floating-point number of type FROM_TYPE from a
>
>