You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stdcxx.apache.org by el...@apache.org on 2008/04/14 21:58:50 UTC
svn commit: r647975 - /stdcxx/trunk/tests/utilities/20.temp.buffer.cpp
Author: elemings
Date: Mon Apr 14 12:58:45 2008
New Revision: 647975
URL: http://svn.apache.org/viewvc?rev=647975&view=rev
Log:
2008-04-14 Eric Lemings <er...@roguewave.com>
STDCXX-841
* trunk/tests/utilities/20.temp.buffer.cpp (test_failure): Print
correct value of `sizeof (T)' using rw_sprintf() function.
Prevent division by zero in terminal condition of for statement.
Also, use parentheses when calculating value of `nelems' to
indicate precedence of operators explicitly.
Modified:
stdcxx/trunk/tests/utilities/20.temp.buffer.cpp
Modified: stdcxx/trunk/tests/utilities/20.temp.buffer.cpp
URL: http://svn.apache.org/viewvc/stdcxx/trunk/tests/utilities/20.temp.buffer.cpp?rev=647975&r1=647974&r2=647975&view=diff
==============================================================================
--- stdcxx/trunk/tests/utilities/20.temp.buffer.cpp (original)
+++ stdcxx/trunk/tests/utilities/20.temp.buffer.cpp Mon Apr 14 12:58:45 2008
@@ -39,6 +39,7 @@
#endif
#include <rw_new.h>
+#include <rw_printf.h>
#include <driver.h>
#ifndef _RWSTD_NO_SETRLIMIT
@@ -245,7 +246,7 @@
{
if (0 == tname) {
static char buf [40];
- std::sprintf (buf, "char[%u]", unsigned (sizeof (T)));
+ rw_sprintf (buf, "char[%zu]", sizeof (T));
tname = buf;
}
@@ -264,13 +265,13 @@
"got { %#p, %td }",
tname, nelems, pa.first, pa.second);
- for (std::size_t i = 2; i < sizeof (T); i <<= 1) {
+ for (std::size_t i = 2; i && i < sizeof (T); i <<= 1) {
// exercise arithmetic overflow (not to be confused
// with the out-of-memory tests below)
// attempts to allocate space for an array of elements
// with a total size that exceeds SIZE_MAX must fail
- nelems = _RWSTD_PTRDIFF_MAX / i + 1;
+ nelems = (_RWSTD_PTRDIFF_MAX / i) + 1;
pa = std::get_temporary_buffer<T>(nelems);