This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH v2 2/2] sim/common: Fix warnings: "warning: implicit declaration of function..."
- From: Andrew Burgess <andrew dot burgess at embecosm dot com>
- To: Stafford Horne <shorne at gmail dot com>
- Cc: GDB patches <gdb-patches at sourceware dot org>, Simon Marchi <simon dot marchi at polymtl dot ca>
- Date: Thu, 21 Mar 2019 22:14:24 +0000
- Subject: Re: [PATCH v2 2/2] sim/common: Fix warnings: "warning: implicit declaration of function..."
- References: <20190316214018.9398-1-shorne@gmail.com> <20190316214018.9398-3-shorne@gmail.com>
* Stafford Horne <shorne@gmail.com> [2019-03-17 06:40:18 +0900]:
> During building of several cgen simulator's I notices the below
> warnings. Adding includes fixes these.
>
> Including config.h allows stdio.h to properly configure itself to expose
> asprintf().
>
> The other warnings for abort, free, memset, strlen are trivial.
>
> Warnings:
>
> ../../../binutils-gdb/sim/or1k/../common/sim-watch.c: In function ‘sim_watchpoint_install’:
> ../../../binutils-gdb/sim/or1k/../common/sim-watch.c:415:10: warning: implicit declaration of function ‘asprintf’; did you mean ‘vasprintf’? [-Wimplicit-function-declaration]
> if (asprintf (&name, "watch-%s-%s",
> ^~~~~~~~
> vasprintf
>
> ../../../binutils-gdb/sim/lm32/../common/hw-device.c: In function ‘hw_strdup’:
> ../../../binutils-gdb/sim/lm32/../common/hw-device.c:59:34: warning: implicit declaration of function ‘strlen’ [-Wimplicit-function-declaration]
> char *dup = hw_zalloc (me, strlen (str) + 1);
> ^~~~~~
>
> ../../../binutils-gdb/sim/lm32/../common/hw-events.c: In function ‘hw_event_queue_schedule’:
> ../../../binutils-gdb/sim/lm32/../common/hw-events.c:92:3: warning: implicit declaration of function ‘memset’ [-Wimplicit-function-declaration]
> memset (&dummy, 0, sizeof dummy);
> ^~~~~~
>
> ../../../binutils-gdb/sim/lm32/../common/hw-handles.c: In function ‘hw_handle_remove_ihandle’:
> ../../../binutils-gdb/sim/lm32/../common/hw-handles.c:211:4: warning: implicit declaration of function ‘free’ [-Wimplicit-function-declaration]
> free (delete);
> ^~~~
>
> ../../../binutils-gdb/sim/lm32/../common/sim-fpu.c: In function ‘pack_fpu’:
> ../../../binutils-gdb/sim/lm32/../common/sim-fpu.c:292:7: warning: implicit declaration of function ‘abort’ [-Wimplicit-function-declaration]
> abort ();
> ^~~~~
>
> sim/common/ChangeLog:
>
> * sim-options.c: Include "config.h".
> Include <stdio.h>.
> * sim-watch.c: Include "config.h".
> Include <stdio.h>.
> * hw-device.c: Include <string.h>.
> * hw-events.c: Include <string.h>.
> * hw-handles.c: Include <stdlib.h>.
> * sim-fpu.c: Include <stdlib.h>.
This all looks good.
Thanks,
Andrew
> ---
> sim/common/hw-device.c | 4 ++++
> sim/common/hw-events.c | 3 +++
> sim/common/hw-handles.c | 3 +++
> sim/common/sim-fpu.c | 3 +++
> sim/common/sim-options.c | 2 ++
> sim/common/sim-watch.c | 2 ++
> 6 files changed, 17 insertions(+)
>
> diff --git a/sim/common/hw-device.c b/sim/common/hw-device.c
> index ee1bfad893..458ee22caa 100644
> --- a/sim/common/hw-device.c
> +++ b/sim/common/hw-device.c
> @@ -27,6 +27,10 @@
> #include <stdlib.h>
> #endif
>
> +#if HAVE_STRING_H
> +#include <string.h>
> +#endif
> +
> /* Address methods */
>
> const hw_unit *
> diff --git a/sim/common/hw-events.c b/sim/common/hw-events.c
> index e6523365bd..f78be2aa46 100644
> --- a/sim/common/hw-events.c
> +++ b/sim/common/hw-events.c
> @@ -23,6 +23,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
>
> #include "sim-events.h"
>
> +#if HAVE_STRING_H
> +#include <string.h>
> +#endif
>
> /* The hw-events object is implemented using sim-events */
>
> diff --git a/sim/common/hw-handles.c b/sim/common/hw-handles.c
> index 2848b9bcb5..d05656235d 100644
> --- a/sim/common/hw-handles.c
> +++ b/sim/common/hw-handles.c
> @@ -23,6 +23,9 @@
> #include "hw-main.h"
> #include "hw-base.h"
>
> +#if HAVE_STDLIB_H
> +#include <stdlib.h>
> +#endif
>
> struct hw_handle_mapping
> {
> diff --git a/sim/common/sim-fpu.c b/sim/common/sim-fpu.c
> index 81cdbf5061..74f5fd488c 100644
> --- a/sim/common/sim-fpu.c
> +++ b/sim/common/sim-fpu.c
> @@ -41,6 +41,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
> #include "sim-io.h"
> #include "sim-assert.h"
>
> +#ifdef HAVE_STDLIB_H
> +#include <stdlib.h>
> +#endif
>
> /* Debugging support.
> If digits is -1, then print all digits. */
> diff --git a/sim/common/sim-options.c b/sim/common/sim-options.c
> index 69aebfe3d0..dc4a71203a 100644
> --- a/sim/common/sim-options.c
> +++ b/sim/common/sim-options.c
> @@ -17,6 +17,7 @@ GNU General Public License for more details.
> You should have received a copy of the GNU General Public License
> along with this program. If not, see <http://www.gnu.org/licenses/>. */
>
> +#include "config.h"
> #include "sim-main.h"
> #ifdef HAVE_STRING_H
> #include <string.h>
> @@ -29,6 +30,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
> #include <stdlib.h>
> #endif
> #include <ctype.h>
> +#include <stdio.h>
> #include "libiberty.h"
> #include "sim-options.h"
> #include "sim-io.h"
> diff --git a/sim/common/sim-watch.c b/sim/common/sim-watch.c
> index 6c357f8267..174336b377 100644
> --- a/sim/common/sim-watch.c
> +++ b/sim/common/sim-watch.c
> @@ -17,12 +17,14 @@ GNU General Public License for more details.
> You should have received a copy of the GNU General Public License
> along with this program. If not, see <http://www.gnu.org/licenses/>. */
>
> +#include "config.h"
> #include "sim-main.h"
> #include "sim-options.h"
>
> #include "sim-assert.h"
>
> #include <ctype.h>
> +#include <stdio.h>
>
> #ifdef HAVE_STRING_H
> #include <string.h>
> --
> 2.19.1
>