Skip to content

[Linux][ppc64le] -Wstringop-overflow warnings with gcc 14 #1043

@runlevel5

Description

@runlevel5

When compiling release build, I ran into following warnings:

    inlined from ‘static void idSwap::BigArray(type*, int) [with type = float]’ at /home/tle/Work/RBDOOM-3-BFG/neo/idlib/../idlib/Swap.h:121:7,
    inlined from ‘size_t idFile::ReadBigArray(type*, int) [with type = float]’ at /home/tle/Work/RBDOOM-3-BFG/neo/idlib/../framework/File.h:126:19,
    inlined from ‘bool idCameraAnim::LoadBinaryCamAnim(idFile*, int64)’ at /home/tle/Work/RBDOOM-3-BFG/neo/d3xp/Camera.cpp:957:22:
/home/tle/Work/RBDOOM-3-BFG/neo/idlib/../idlib/Swap.h:71:61: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
   71 | #define SwapBytes( x, y )               { byte t = (x); (x) = (y); (y) = t; }
      |                                                         ~~~~^~~~~
/home/tle/Work/RBDOOM-3-BFG/neo/idlib/../idlib/Swap.h:96:25: note: in expansion of macro ‘SwapBytes’
   96 |                         SwapBytes( b[0], b[3] );
      |                         ^~~~~~~~~

In function ‘void PrintFloat(float)’,
    inlined from ‘void Cmd_ListDebugLines_f(const idCmdArgs&)’ at /home/tle/Work/RBDOOM-3-BFG/neo/d3xp/gamesys/SysCmds.cpp:1469:14,
    inlined from ‘void Cmd_ListDebugLines_f(const idCmdArgs&)’ at /home/tle/Work/RBDOOM-3-BFG/neo/d3xp/gamesys/SysCmds.cpp:1453:13:
/home/tle/Work/RBDOOM-3-BFG/neo/d3xp/gamesys/SysCmds.cpp:1442:24: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
 1442 |                 buf[i] = ' ';
      |                 ~~~~~~~^~~~~

Full log could be found at https://gist.github.com/runlevel5/be501f92205257bdd7da165a7d84cdce

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions