From f7777e8554dd5a5d5364751b60957efc4ae9ba9a Mon Sep 17 00:00:00 2001 From: Howard Hinnant Date: Tue, 16 Jul 2013 23:50:06 +0000 Subject: [PATCH] Add pointer format test for Windows. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@186472 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../ostream.inserters.arithmetic/pointer.pass.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp b/test/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp index fe420a5a1..114bba94c 100644 --- a/test/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp +++ b/test/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp @@ -63,8 +63,14 @@ int main() std::ostream os(&sb); const void* n = 0; os << n; - assert(sb.str() == "0x0" || sb.str() == "(nil)"); assert(os.good()); + // %p is implementation defined. + // On some platforms (Windows), it's a hex number without + // any leading 0x like prefix. + // In that format, we assume a null pointer will yield 2 '0' hex digits + // for each 8 bits of address space. + assert(sb.str() == "0x0" || sb.str() == "(nil)" || + sb.str() == std::string(sizeof(void*)*2,'0')); } { testbuf sb;