https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104012

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |msebor at gcc dot gnu.org

--- Comment #3 from Martin Sebor <msebor at gcc dot gnu.org> ---
I'm not able to reproduce a warning for the test case in attachment 52182 with
the top of GCC trunk configured for x86_64 at -O2 or -O3 and with -m32.  There
are three calls to snprintf() in CreateMakeVariable() and for each call GCC
determines the output of the %04d directive is exactly four bytes (see the dump
produced by -ftree-dump-strlen):

/home/buildbot/repos/CMake/Source/cmLocalUnixMakefileGenerator3.cxx:1307:
snprintf: objsize = 5, fmtstr = "%04d"
  Directive 1 at offset 0: "%04d"
    Result: 4, 4, 4, 4 (4, 4, 4, 4)
  Directive 2 at offset 4: "", length = 1
  Substituting 4 for return value.

/home/buildbot/repos/CMake/Source/cmLocalUnixMakefileGenerator3.cxx:1311:
snprintf: objsize = 5, fmtstr = "%04d"
  Directive 1 at offset 0: "%04d"
    Result: 4, 4, 4, 4 (4, 4, 4, 4)
  Directive 2 at offset 4: "", length = 1
  Substituting 4 for return value.

/home/buildbot/repos/CMake/Source/cmLocalUnixMakefileGenerator3.cxx:1282:
snprintf: objsize = 5, fmtstr = "%04d"
  Directive 1 at offset 0: "%04d"
    Result: 4, 4, 4, 4 (4, 4, 4, 4)
  Directive 2 at offset 4: "", length = 1
  Substituting 4 for return value.

If you see the warning with the latest GCC 12 please provide the full command
line (see https://gcc.gnu.org/bugs/#need for a detailed list of what we ask
users to provide in order to reproduce issues).

Reply via email to