summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libcxx/test/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/libcxx/test/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp b/libcxx/test/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp
index fe420a5a1c9..114bba94c3f 100644
--- a/libcxx/test/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp
+++ b/libcxx/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<char> sb;
OpenPOWER on IntegriCloud