[libcxx] r186472 - Add pointer format test for Windows.

Howard Hinnant hhinnant at apple.com
Tue Jul 16 16:50:06 PDT 2013


Author: hhinnant
Date: Tue Jul 16 18:50:06 2013
New Revision: 186472

URL: http://llvm.org/viewvc/llvm-project?rev=186472&view=rev
Log:
Add pointer format test for Windows.

Modified:
    libcxx/trunk/test/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp

Modified: libcxx/trunk/test/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp?rev=186472&r1=186471&r2=186472&view=diff
==============================================================================
--- libcxx/trunk/test/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp (original)
+++ libcxx/trunk/test/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp Tue Jul 16 18:50:06 2013
@@ -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;





More information about the cfe-commits mailing list