[CM] incompatible pointer type warnings

Kjetil Matheussen k.s.matheussen at gmail.com
Tue May 19 23:29:42 PDT 2020


On Wed, May 20, 2020 at 4:24 AM Iain Duncan <iainduncanlists at gmail.com> wrote:
>
> Hi Bill and others, I'm trying to clean up the torrent of warnings my project is producing in Xcode now that it's pretty big, and this one has me stumped. here's a snippet of working code:
>
> t_max_err s7_obj_to_max_atom(s7_scheme *s7, s7_pointer *s7_obj, t_atom *atom){
>
>     if( s7_is_boolean(s7_obj) ){
>
>         atom_setlong(atom, (int)s7_boolean(s7, s7_obj));
>
>     }
>
>
> I get the following warning for every use of s7_obj like the above:
>
> "Incompatible pointer types passing 's7_pointer *' (aka 'struct s7_cell **') to parameter of type 's7_pointer' (aka 'struct s7_cell *'); dereference with *"
>
>
> If I try letting XCode "fix" it, the compiler things I should be using *s7_obj, which of course crashes (had to try it in case I was totally misunderstanding...)
>
>
> Is there something I can do to not get this warning, or do I need to figure out how to tell xcode to just shut up with that one?
>

This is the signature of s7_integer:

 s7_int s7_integer(s7_pointer p);

so both the xcode warning and auto-fix seems correct. The problem must
be elsewhere.
Perhaps the signature of s7_obj_to_max_atom should really be

 t_max_err s7_obj_to_max_atom(s7_scheme *s7, s7_pointer s7_obj, t_atom *atom);

?


More information about the Cmdist mailing list