swap[4|8]b: Satisfy strict aliasing rules
swap[4|8]b: Satisfy strict aliasing rules

gcc11 made assumptions about optimization based on strict aliasing rules
that led to this code malfunction, which was caught by the test suite.

gcc printed out a warning whose meaning was not immediately obvious:
ncx.c: In function 'ncx_putn_float_schar':
ncx.c:272:20: warning: 'xx' may be used uninitialized [-Wmaybe-uninitialized]
  272 |     uint32_t tmp = *(uint32_t*)src;
      |                    ^~~~~~~~~~~~~~~
ncx.c:3512:14: note: 'xx' was declared here
 3512 |     ix_float xx = NC_FILL_FLOAT;
      |              ^~
Due to optimization and inlining, the initialization of this variable was
lost.

Signed-off-by: Egbert Eich <d0f3508a0b242623257f3971a925c8211f91345e@suse.com>

Unidata/netcdf-c,Unidata/netcdf-c,Unidata/netcdf-c,Unidata/netcdf-c