Skip to content

XDR compile warnings cause test failures on mac #4387

@GiudGiud

Description

@GiudGiud

With the upgrade of the compiler stack, the custom casting between functions done for xdr is flagged as 'incompatible'

I imagine this is a false positive otherwise we would have been bitten already by this

../src/utils/xdr_cxx.C:565:12: error: cast from 'int (*)(XDR *, int *)' (aka 'int (*)(__rpc_xdr *, int *)') to 'xdrproc_t' (aka 'int (*)(__rpc_xdr *, void *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
  565 |     return (xdrproc_t)(xdr_int);
      |            ^~~~~~~~~~~~~~~~~~~~
../src/utils/xdr_cxx.C:567:12: error: cast from 'int (*)(XDR *, quad_t *)' (aka 'int (*)(__rpc_xdr *, long long *)') to 'xdrproc_t' (aka 'int (*)(__rpc_xdr *, void *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
  567 |     return (xdrproc_t)(xdr_longlong_t);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/utils/xdr_cxx.C:569:12: error: cast from 'int (*)(XDR *, int *)' (aka 'int (*)(__rpc_xdr *, int *)') to 'xdrproc_t' (aka 'int (*)(__rpc_xdr *, void *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
  569 |     return (xdrproc_t)(xdr_long);
      |            ^~~~~~~~~~~~~~~~~~~~~
../src/utils/xdr_cxx.C:580:12: error: cast from 'int (*)(XDR *, unsigned int *)' (aka 'int (*)(__rpc_xdr *, unsigned int *)') to 'xdrproc_t' (aka 'int (*)(__rpc_xdr *, void *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
  580 |     return (xdrproc_t)(xdr_u_int);
      |            ^~~~~~~~~~~~~~~~~~~~~~
../src/utils/xdr_cxx.C:582:12: error: cast from 'int (*)(XDR *, unsigned int *)' (aka 'int (*)(__rpc_xdr *, unsigned int *)') to 'xdrproc_t' (aka 'int (*)(__rpc_xdr *, void *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
  582 |     return (xdrproc_t)(xdr_u_long);
      |            ^~~~~~~~~~~~~~~~~~~~~~~
../src/utils/xdr_cxx.C:584:12: error: cast from 'int (*)(XDR *, u_quad_t *)' (aka 'int (*)(__rpc_xdr *, unsigned long long *)') to 'xdrproc_t' (aka 'int (*)(__rpc_xdr *, void *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
  584 |     return (xdrproc_t)(xdr_u_longlong_t);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/utils/xdr_cxx.C:595:12: error: cast from 'int (*)(XDR *, int *)' (aka 'int (*)(__rpc_xdr *, int *)') to 'xdrproc_t' (aka 'int (*)(__rpc_xdr *, void *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
  595 |     return (xdrproc_t)(xdr_long);
      |            ^~~~~~~~~~~~~~~~~~~~~
../src/utils/xdr_cxx.C:597:12: error: cast from 'int (*)(XDR *, quad_t *)' (aka 'int (*)(__rpc_xdr *, long long *)') to 'xdrproc_t' (aka 'int (*)(__rpc_xdr *, void *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
  597 |     return (xdrproc_t)(xdr_longlong_t);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/utils/xdr_cxx.C:608:12: error: cast from 'int (*)(XDR *, unsigned int *)' (aka 'int (*)(__rpc_xdr *, unsigned int *)') to 'xdrproc_t' (aka 'int (*)(__rpc_xdr *, void *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
  608 |     return (xdrproc_t)(xdr_u_long);
      |            ^~~~~~~~~~~~~~~~~~~~~~~
../src/utils/xdr_cxx.C:610:12: error: cast from 'int (*)(XDR *, u_quad_t *)' (aka 'int (*)(__rpc_xdr *, unsigned long long *)') to 'xdrproc_t' (aka 'int (*)(__rpc_xdr *, void *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
  610 |     return (xdrproc_t)(xdr_u_longlong_t);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/utils/xdr_cxx.C:624:48: error: cast from 'int (*)(XDR *, quad_t *)' (aka 'int (*)(__rpc_xdr *, long long *)') to 'xdrproc_t' (aka 'int (*)(__rpc_xdr *, void *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
  624 | xdrproc_t xdr_translator<long long>() { return (xdrproc_t)(xdr_longlong_t); }
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/utils/xdr_cxx.C:627:57: error: cast from 'int (*)(XDR *, u_quad_t *)' (aka 'int (*)(__rpc_xdr *, unsigned long long *)') to 'xdrproc_t' (aka 'int (*)(__rpc_xdr *, void *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
  627 | xdrproc_t xdr_translator<unsigned long long>() { return (xdrproc_t)(xdr_u_longlong_t); }
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/utils/xdr_cxx.C:630:48: error: cast from 'int (*)(XDR *, short *)' (aka 'int (*)(__rpc_xdr *, short *)') to 'xdrproc_t' (aka 'int (*)(__rpc_xdr *, void *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
  630 | xdrproc_t xdr_translator<short int>() { return (xdrproc_t)(xdr_short); }
      |                                                ^~~~~~~~~~~~~~~~~~~~~~
../src/utils/xdr_cxx.C:633:57: error: cast from 'int (*)(XDR *, unsigned short *)' (aka 'int (*)(__rpc_xdr *, unsigned short *)') to 'xdrproc_t' (aka 'int (*)(__rpc_xdr *, void *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
  633 | xdrproc_t xdr_translator<unsigned short int>() { return (xdrproc_t)(xdr_u_short); }
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~
../src/utils/xdr_cxx.C:636:43: error: cast from 'int (*)(XDR *, char *)' (aka 'int (*)(__rpc_xdr *, char *)') to 'xdrproc_t' (aka 'int (*)(__rpc_xdr *, void *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
  636 | xdrproc_t xdr_translator<char>() { return (xdrproc_t)(xdr_char); }
      |                                           ^~~~~~~~~~~~~~~~~~~~~
../src/utils/xdr_cxx.C:639:50: error: cast from 'int (*)(XDR *, char *)' (aka 'int (*)(__rpc_xdr *, char *)') to 'xdrproc_t' (aka 'int (*)(__rpc_xdr *, void *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
  639 | xdrproc_t xdr_translator<signed char>() { return (xdrproc_t)(xdr_char); }
      |                                                  ^~~~~~~~~~~~~~~~~~~~~
../src/utils/xdr_cxx.C:642:52: error: cast from 'int (*)(XDR *, unsigned char *)' (aka 'int (*)(__rpc_xdr *, unsigned char *)') to 'xdrproc_t' (aka 'int (*)(__rpc_xdr *, void *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
  642 | xdrproc_t xdr_translator<unsigned char>() { return (xdrproc_t)(xdr_u_char); }
      |                                                    ^~~~~~~~~~~~~~~~~~~~~~~
../src/utils/xdr_cxx.C:645:44: error: cast from 'int (*)(XDR *, float *)' (aka 'int (*)(__rpc_xdr *, float *)') to 'xdrproc_t' (aka 'int (*)(__rpc_xdr *, void *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
  645 | xdrproc_t xdr_translator<float>() { return (xdrproc_t)(xdr_float); }
      |                                            ^~~~~~~~~~~~~~~~~~~~~~
../src/utils/g:648:45: error: cast from 'int (*)(XDR *, double *)' (aka 'int (*)(__rpc_xdr *, double *)') to 'xdrproc_t' (aka 'int (*)(__rpc_xdr *, void *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
  648 | xdrproc_t xdr_translator<double>() { return (xdrproc_t)(xdr_double); }
      |                                             ^~~~~~~~~~~~~~~~~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[1]: *** [Makefile:31057: src/utils/libmesh_opt_la-xdr_cxx.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
mv -f src/utils/.deps/libmesh_opt_la-utility.Tpo src/utils/.deps/libmesh_opt_la-utility.Plo
mv -f src/utils/.deps/libmesh_opt_la-topology_map.Tpo src/utils/.deps/libmesh_opt_la-topology_map.Plo
mv -f src/utils/.deps/libmesh_opt_la-tree.Tpo src/utils/.deps/libmesh_opt_la-tree.Plo
mv -f src/utils/.deps/libmesh_opt_la-tree_node.Tpo src/utils/.deps/libmesh_opt_la-tree_node.Plo
mv -f src/utils/.deps/libmesh_opt_la-string_to_enum.Tpo src/utils/.deps/libmesh_opt_la-string_to_enum.Plo
mv -f src/systems/.deps/libmesh_opt_la-system_projection.Tpo src/systems/.deps/libmesh_opt_la-system_projection.Plo
make[1]: Leaving directory '/opt/civet0/build_0/libmesh/build'
make: *** [Makefile:35333: all-recursive] Error 1
[15:41:52] ERROR: Exiting with code 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions