[Bug 191674] Implementation for "%tu" printf(3) qualifier incorrect on several 32-bit architectures (arm/x86/mips, i.e. when sizeof(ptrdiff_t) != sizeof(*intmax_t))

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Feb 14 04:49:53 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=191674

--- Comment #4 from commit-hook at freebsd.org ---
A commit references this bug:

Author: ngie
Date: Tue Feb 14 04:49:24 UTC 2017
New revision: 313723
URL: https://svnweb.freebsd.org/changeset/base/313723

Log:
  MFC r313378,r313379:

  r313378:

  Wrap strcmp/wcscmp calls with ATF_CHECK_MSG and drop atf_tc_fail use

  The reasoning here was the same as what was done in r313376:
  - Gather as many results as possible instead of failing early and
    not testing the rest of the cases.
  - Simplify logic when checking test inputs vs outputs and printing
    test result.

  r313379:

  Expect :int_within_limits to fail when ptrdiff_t/*intmax_t differ in base
type

  The %t{d,u} (ptrdiff_t) tests fail for the following reasons:
  - ptrdiff_t is by definition int32_t on !LP64 architectures and int64_t on
    LP64 architectures.
  - intmax_t is by definition fixed to int64_t on all architectures.
  - Some of the code in lib/libc/stdio/... is promoting ptrdiff_t to *intmax_t
    when parsing/representing the value.

  PR:           191674

Changes:
_U  stable/10/
  stable/10/lib/libc/tests/stdio/printbasic_test.c

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list