Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Feb 2017 05:39:00 +0000 (UTC)
From:      Ngie Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r313379 - head/lib/libc/tests/stdio
Message-ID:  <201702070539.v175d0eL088935@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Tue Feb  7 05:39:00 2017
New Revision: 313379
URL: https://svnweb.freebsd.org/changeset/base/313379

Log:
  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
  MFC after:	1 week
  Sponsored by:	Dell EMC Isilon

Modified:
  head/lib/libc/tests/stdio/printbasic_test.c

Modified: head/lib/libc/tests/stdio/printbasic_test.c
==============================================================================
--- head/lib/libc/tests/stdio/printbasic_test.c	Tue Feb  7 04:25:21 2017	(r313378)
+++ head/lib/libc/tests/stdio/printbasic_test.c	Tue Feb  7 05:39:00 2017	(r313379)
@@ -111,6 +111,11 @@ ATF_TC_BODY(int_within_limits, tc)
 	testfmt("-1", "%jd", (intmax_t)-1);
 	testfmt(S_UINT64MAX, "%ju", UINT64_MAX);
 
+	if (sizeof(ptrdiff_t) != sizeof(uintmax_t))
+		atf_tc_expect_fail("the %%t qualifier is broken on 32-bit "
+		    "platforms where there's a mismatch between ptrdiff_t and "
+		    "uintmax_t's type width; bug # 191674");
+
 	testfmt("-1", "%td", (ptrdiff_t)-1);
 	testfmt(S_SIZEMAX, "%tu", (size_t)-1);
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201702070539.v175d0eL088935>