The test case libs/integer/cstdint_test.cpp includes <cassert> and
<iostream> _before_ it defines __STDC_CONSTANT_MACROS. This means that on
a platform that (a) supports defining the C99 macros in <stdint.h> when
__STDC_CONSTANT_MACROS is defined and (b) uses <stdint.h> somewhere in
<iostream>, the test fails, because __STDC_CONSTANT_MACROS has been
defined too late for <stdint.h> header to react (because it presumably has
include guards).

I believe the test case is wrong, and we should apply the patch below. Ok?

        Doug

Index: cstdint_test.cpp
===================================================================
RCS file: /cvsroot/boost/boost/libs/integer/cstdint_test.cpp,v
retrieving revision 1.7
diff -u -r1.7 cstdint_test.cpp
--- cstdint_test.cpp    5 Aug 2002 11:16:14 -0000       1.7
+++ cstdint_test.cpp    15 Aug 2003 17:52:41 -0000
@@ -13,9 +13,9 @@
 //   12 Nov 00  Adapted to merged <boost/cstdint.hpp>
 //   23 Sep 00  Added INTXX_C constant macro support + int64_t support
(John Maddock).
 //   28 Jun 00  Initial version
+#define __STDC_CONSTANT_MACROS
 #include <cassert>
 #include <iostream>
-#define __STDC_CONSTANT_MACROS
 #include <boost/cstdint.hpp>

 #ifdef NDEBUG

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to