many -Wincompatible-pointer-types on clang with gdb-7.9
Pedro Alves
palves@redhat.com
Fri Feb 27 23:33:00 GMT 2015
On 02/27/2015 06:55 PM, Jack Howarth wrote:
> On gdb-7.9, we are seeing a large number of warnings from
> -Wincompatible-pointer-types with clang...
>
> ./guile/guile.c:474:25: warning: incompatible pointer types
> initializing 'scm_t_subr' (aka 'void (*)()') with an expression of
> type 'SCM (SCM, SCM)'
> [-Wincompatible-pointer-types]
> { "execute", 1, 0, 1, gdbscm_execute_gdb_command,
> ^~~~~~~~~~~~~~~~~~~~~~~~~~
> ./guile/guile.c:487:32: warning: incompatible pointer types
> initializing 'scm_t_subr' (aka 'void (*)()') with an expression of
> type 'SCM (void)'
> [-Wincompatible-pointer-types]
> { "data-directory", 0, 0, 0, gdbscm_data_directory,
> ^~~~~~~~~~~~~~~~~~~~~
> ./guile/guile.c:491:38: warning: incompatible pointer types
> initializing 'scm_t_subr' (aka 'void (*)()') with an expression of
> type 'SCM (void)'
> [-Wincompatible-pointer-types]
> { "guile-data-directory", 0, 0, 0, gdbscm_guile_data_directory,
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> These all are associated with the guile/scm-*.c files.
> Jack
>
Curious. I see that on C++ mode too.
I've attached my current patch to address this. I think you'll
just need to do something like this on top:
#else
/* In C, just do an implicit conversion. */
-#define as_a_scm_t_subr(func) func
+#define as_a_scm_t_subr(func) (scm_t_subr) func
#endif
Did guile change the type of scm_t_subr again?
Here it says 'void (*)()' :
> initializing 'scm_t_subr' (aka 'void (*)()') with an expression of
> type 'SCM (SCM, SCM)'
On my copy (guile 2.0, Fedora 20), in
/usr/include/guile/2.0/libguile/__scm.h, I see:
#ifdef BUILDING_LIBGUILE
typedef SCM (* scm_t_subr) ();
#else
typedef void *scm_t_subr;
#endif
Thanks,
Pedro Alves
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-guile-Add-as_a_scm_t_subr.patch
Type: text/x-patch
Size: 70324 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/gdb/attachments/20150227/141dd8f4/attachment.bin>
More information about the Gdb
mailing list