You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stdcxx.apache.org by fa...@apache.org on 2008/05/27 13:50:10 UTC
svn commit: r660476 - in /stdcxx/branches/4.3.x/tests: include/ intro/
localization/ numerics/ regress/ self/
Author: faridz
Date: Tue May 27 04:50:07 2008
New Revision: 660476
URL: http://svn.apache.org/viewvc?rev=660476&view=rev
Log:
2008-05-27 Farid Zaripov <fa...@epam.com>
Merged HEAD rev from branches/4.2.x
* tests/include/rw_fnmatch.h: Setting svn:eol-style and svn:keywords properties.
* tests/intro/17.extensions.cpp: Ditto.
* tests/localization/22.locale.ctype.widen.cpp: Ditto.
* tests/numerics/26.valarray.transcend.cpp: Ditto.
* tests/regress/21.string.insert.stdcxx-632.cpp: Ditto.
* tests/regress/21.string.stdcxx-231.cpp: Ditto.
* tests/self/0.fnmatch.cpp: Ditto.
Modified:
stdcxx/branches/4.3.x/tests/include/rw_fnmatch.h (props changed)
stdcxx/branches/4.3.x/tests/intro/17.extensions.cpp (contents, props changed)
stdcxx/branches/4.3.x/tests/localization/22.locale.ctype.widen.cpp (props changed)
stdcxx/branches/4.3.x/tests/numerics/26.valarray.transcend.cpp (props changed)
stdcxx/branches/4.3.x/tests/regress/21.string.insert.stdcxx-632.cpp (contents, props changed)
stdcxx/branches/4.3.x/tests/regress/21.string.stdcxx-231.cpp (props changed)
stdcxx/branches/4.3.x/tests/self/0.fnmatch.cpp (props changed)
Propchange: stdcxx/branches/4.3.x/tests/include/rw_fnmatch.h
------------------------------------------------------------------------------
svn:eol-style = native
Modified: stdcxx/branches/4.3.x/tests/intro/17.extensions.cpp
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/tests/intro/17.extensions.cpp?rev=660476&r1=660475&r2=660476&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/tests/intro/17.extensions.cpp (original)
+++ stdcxx/branches/4.3.x/tests/intro/17.extensions.cpp Tue May 27 04:50:07 2008
@@ -1,531 +1,531 @@
-/************************************************************************
- *
- * extensions.cpp - compilation only test exercising the ability
- * to compile library headers with extensions diabled
- *
- * $Id$
- *
- ************************************************************************
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * permissions and limitations under the License.
- *
- * Copyright 1994-2008 Rogue Wave Software.
- *
- **************************************************************************/
-
-#undef _RWSTD_NO_EXTENSIONS
-#define _RWSTD_NO_EXTENSIONS
-
-
-// working around a SunOS/SunPro bug (PR #26255)
-#if defined (__SUNPRO_CC) && (defined (__SunOS_5_8) || defined (__SunOS_5_9))
-# include <time.h>
-#endif // SunPro && SunOS 5.{8,9}
-
-#include <cassert>
-#include <cctype>
-#include <cerrno>
-#include <cfloat>
-#include <ciso646>
-#include <climits>
-#include <clocale>
-#include <cmath>
-#include <csetjmp>
-#include <csignal>
-#include <cstdarg>
-#include <cstddef>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <ctime>
-#include <cwchar>
-#include <cwctype>
-
-#include <assert.h>
-#include <ctype.h>
-#include <errno.h>
-#include <float.h>
-#include <iso646.h>
-#include <limits.h>
-#include <locale.h>
-#include <math.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <stdarg.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <wchar.h>
-#include <wctype.h>
-
-#include <algorithm>
-#include <bitset>
-#include <complex>
-#include <deque>
-#include <exception>
-#include <fstream>
-#include <functional>
-#include <iomanip>
-#include <ios>
-#include <iosfwd>
-#include <iostream>
-#include <istream>
-#include <iterator>
-#include <limits>
-#include <list>
-#include <locale>
-#include <map>
-#include <memory>
-#include <new>
-#include <numeric>
-#include <ostream>
-#include <queue>
-#include <set>
-#include <sstream>
-#include <stack>
-#include <stdexcept>
-#include <streambuf>
-#include <string>
-#include <typeinfo>
-#include <utility>
-#include <valarray>
-#include <vector>
-
-/***********************************************************************/
-
-int count_called = 0;
-int count_pred_called = 0;
-int distance_called = 0;
-
-
-#if !defined (__SUNPRO_CC) || __SUNPRO_CC > 0x550
-
-template <class T, class U>
-void count (T, T, const U&, ...) { ++count_called; }
-
-
-template <class T, class U>
-void count_if (T, T, U, ...) { ++count_pred_called; }
-
-
-template <class T>
-void distance (T, T, ...) { ++distance_called; }
-
-#else
-
-// working around a SunPro bug (PR #28678)
-
-template <class T, class U>
-void count (T, T, const U&, std::size_t&) { ++count_called; }
-
-
-template <class T, class U>
-void count_if (T, T, U, std::size_t&) { ++count_pred_called; }
-
-
-template <class T>
-void distance (T, T, std::size_t&) { ++distance_called; }
-
-#endif // SunPro
-
-
-#if !defined (__GNUG__) || __GNUG__ > 2
-
-int ellipsis_called /* = 0 */;
-
-struct NumGet: std::num_get<char>
-{
- typedef std::num_get<char> Base;
-
-# ifndef _RWSTD_NO_USING_ACCESS_ADJUSTMENT
-
- _USING (Base::get);
-
-# else // if defined (_RWSTD_NO_USING_ACCESS_ADJUSTMENT)
-
- Base::get;
-
-# endif // _RWSTD_NO_USING_ACCESS_ADJUSTMENT
-
- iter_type get (iter_type, iter_type,
- std::ios_base&, std::ios_base::iostate&, ...) const {
- ++ellipsis_called;
- return iter_type ();
- }
-};
-
-#endif // gcc > 2.x
-
-
-template <class T>
-struct convertible
-{
- operator T () const {
- static union {
- void *dummy;
- char buffer [sizeof (T)];
- } u;
-
- return (T)*u.buffer;
- }
-};
-
-
-struct base { /* empty */ };
-struct badbit_set: base { /* empty */ };
-struct eofbit_set: base { /* empty */ };
-struct failbit_set: base { /* empty */ };
-
-struct Bin: base { /* empty */ } *bin;
-struct Nolock: base { /* empty */ } *nolock;
-struct NolockBuf: base { /* empty */ } *nolockbuf;
-
-
-struct IosBase: std::ios_base
-{
- static bool check (int, base*) { return true; }
- static bool check (int, ...) { return false; }
-
- // members are preferred over non-members during unqualified lookup
- static bool check_badbit () { return check (0, (badbit_set*)0); }
- static bool check_eofbit () { return check (0, (eofbit_set*)0); }
- static bool check_failbit () { return check (0, (failbit_set*)0); }
-
- static bool check_bin () { return check (0, bin); }
-
- static bool check_nolock () { return check (0, nolock); }
- static bool check_nolockbuf () { return check (0, nolockbuf); }
-};
-
-
-_RWSTD_NAMESPACE (std) {
-
-
-// define bogus primary templates to verify
-// that they are not defined by the library
-
-#ifdef _RWSTD_NO_EXT_CHAR_TRAITS_PRIMARY
-
-template <class charT>
-struct char_traits { /* empty */ };
-
-#endif // _RWSTD_NO_EXT_CHAR_TRAITS_PRIMARY
-
-
-#ifdef _RWSTD_NO_EXT_CODECVT_PRIMARY
-
-template <class internT, class externT, class stateT>
-struct codecvt { /* empty */ };
-
-#endif // _RWSTD_NO_EXT_CODECVT_PRIMARY
-
-
-#ifdef _RWSTD_NO_EXT_CTYPE_PRIMARY
-
-template <class charT>
-struct ctype { /* empty */ };
-
-#endif // _RWSTD_NO_EXT_CTYPE_PRIMARY
-
-
-#ifdef _RWSTD_NO_EXT_COLLATE_PRIMARY
-
-template <class charT>
-struct collate { /* empty */ };
-
-#endif // _RWSTD_NO_EXT_COLLATE_PRIMARY
-
-
-#ifdef _RWSTD_NO_EXT_MONEYPUNCT_PRIMARY
-
-template <class charT, bool Intl>
-struct moneypunct { /* empty */ };
-
-#endif // _RWSTD_NO_EXT_MONEYPUNCT_PRIMARY
-
-
-#ifdef _RWSTD_NO_EXT_NUMPUNCT_PRIMARY
-
-template <class charT>
-struct numpunct { /* empty */ };
-
-#endif // _RWSTD_NO_EXT_NUMPUNCT_PRIMARY
-
-
-#ifdef _RWSTD_NO_EXT_TIME_GET_PRIMARY
-
-template <class charT, class InputIterator>
-struct time_get { /* empty */ };
-
-#endif // _RWSTD_NO_EXT_TIME_GET_PRIMARY
-
-
-#ifdef _RWSTD_NO_EXT_TIME_PUT_PRIMARY
-
-template <class charT, class OutputIterator>
-struct time_put { /* empty */ };
-
-#endif // _RWSTD_NO_EXT_TIME_PUT_PRIMARY
-
-
-#ifdef _RWSTD_NO_EXT_MESSAGES_PRIMARY
-
-template <class charT>
-struct messages { /* empty */ };
-
-#endif // _RWSTD_NO_EXT_MESSAGES_PRIMARY
-
-} // namespace std
-
-/***********************************************************************/
-
-#include <driver.h>
-
-bool predicate (int /* unused */) { return true; }
-
-static int
-run_test (int /* unused */, char* /* unused */ [])
-{
- // exercise _RWSTD_NO_EXT_VOID_COUNT
- rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_VOID_COUNT");
-
- std::reverse_iterator<int*> it (0);
-
- std::size_t n = 0;
-
-#ifndef _RWSTD_NO_EXT_VOID_COUNT
- rw_assert (0, __FILE__, __LINE__,
- "_RWSTD_NO_EXT_VOID_COUNT not #defined");
-#endif
-
- // call the 4-argument overload of count() and expect Koenig lookup
- // to find ::count(); the std::count() extension will be preferred
- // if it exists and is a viable candidate, in which case the test
- // below will fail
- count (it, it, 0, n);
-
- rw_assert (1 == count_called, __FILE__, __LINE__,
- "_RWSTD_NO_EXTENSIONS #defined and an extended "
- "definition of std::count() found");
-
- // call the 4-argument overload of count() and expect Koenig lookup
- // to find ::count(); the std::count() extension will be preferred
- // if it exists and is a viable candidate
- count_if (it, it, predicate, n);
-
- rw_assert (1 == count_pred_called, __FILE__, __LINE__,
- "_RWSTD_NO_EXTENSIONS #defined and an extended "
- "definition of std::count_if() found");
-
-
- // exercise _RWSTD_NO_EXT_VOID_DISTANCE
- rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_VOID_DISTANCE");
-
-#ifndef _RWSTD_NO_EXT_VOID_DISTANCE
- rw_assert (0, __FILE__, __LINE__,
- "_RWSTD_NO_EXT_VOID_DISTANCE not #defined");
-#endif
-
- // call the 3-argument overload of distance() and expect Koenig
- // lookup to find ::distance(); std::distance() will be preferred
- // if it exists and is a viable candidate
- distance (it, it, n);
-
- rw_assert (1 == distance_called, __FILE__, __LINE__,
- "_RWSTD_NO_EXTENSIONS #defined and an extended "
- "definition of std::distance() found");
-
-
- // exercise _RWSTD_NO_EXT_NUM_GET
- rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_NUM_GET");
-
-#ifndef _RWSTD_NO_EXT_NUM_GET
- rw_assert (0, __FILE__, __LINE__,
- "_RWSTD_NO_EXT_NUM_GET not #defined");
-#endif
-
-#if !defined (__GNUG__) || __GNUG__ > 2
-
-# define STRING(x) #x
-# define TEST_GET(T) \
- do { \
- NumGet::iter_type in; \
- std::ios_base::iostate err = std::ios_base::failbit; \
- ellipsis_called = 0; \
- NumGet ().get (in, in, std::cin, err, convertible<T&>()); \
- rw_assert (1 == ellipsis_called, __FILE__, __LINE__, \
- "_RWSTD_NO_EXTENSIONS #defined and std::" \
- "num_get<char>::get(..., " STRING(T) ") found"); \
- } while (0)
-
- TEST_GET (short);
- TEST_GET (int);
-
-# ifdef _RWSTD_LONG_LONG
-
- TEST_GET (_RWSTD_LONG_LONG);
- TEST_GET (unsigned _RWSTD_LONG_LONG);
-
-# endif // _RWSTD_NO_LONG_LONG
-
-#endif // gcc > 2.x
-
-
- // exercise _RWSTD_NO_EXT_FAILURE
- rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_FAILURE");
-
-#ifndef _RWSTD_NO_EXT_FAILURE
- rw_assert (0, __FILE__, __LINE__, "_RWSTD_NO_EXT_FAILURE not #defined");
-#endif
-
- rw_assert (IosBase::check_badbit (), __FILE__, __LINE__,
- "_RWSTD_NO_EXTENSIONS #defined and "
- " class std::ios_base::badbit_set found");
-
- rw_assert (IosBase::check_eofbit (), __FILE__, __LINE__,
- "_RWSTD_NO_EXTENSIONS #defined and "
- " class std::ios_base::eofbit_set found");
-
- rw_assert (IosBase::check_eofbit (), __FILE__, __LINE__,
- "_RWSTD_NO_EXTENSIONS #defined and "
- " class std::ios_base::failbit_set found");
-
-
- // exercise _RWSTD_NO_EXT_BIN_IO
- rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_BIN_IO");
-
-#ifndef _RWSTD_NO_EXT_BIN_IO
- rw_assert (0, __FILE__, __LINE__,
- "_RWSTD_NO_EXT_BIN_IO not #defined");
-#endif
-
- rw_assert (IosBase::check_bin (), __FILE__, __LINE__,
- "_RWSTD_NO_EXTENSIONS #defined and "
- " std::ios_base::bin found");
-
-
- // exercise _RWSTD_NO_EXT_REENTRANT_IO
- rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_REENTRANT_IO");
-
-#ifndef _RWSTD_NO_EXT_REENTRANT_IO
- rw_assert (0, __FILE__, __LINE__,
- "_RWSTD_NO_EXT_REENTRANT_IO not #defined");
-#endif
-
- rw_assert (IosBase::check_nolock (), __FILE__, __LINE__,
- "_RWSTD_NO_EXTENSIONS #defined and "
- " std::ios_base::nolock found");
-
- rw_assert (IosBase::check_nolockbuf (), __FILE__, __LINE__,
- "_RWSTD_NO_EXTENSIONS #defined and "
- " std::ios_base::nolockbuf found");
-
-
- // exercise _RWSTD_NO_EXT_CHAR_TRAITS_PRIMARY
- rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_CHAR_TRAITS_PRIMARY");
-
-#ifndef _RWSTD_NO_EXT_CHAR_TRAITS_PRIMARY
- rw_assert (0, __FILE__, __LINE__,
- "_RWSTD_NO_EXT_CHAR_TRAITS_PRIMARY not #defined");
-#endif // _RWSTD_NO_EXT_CHAR_TRAITS_PRIMARY
-
-
- // exercise _RWSTD_NO_EXT_CODECVT_PRIMARY
- rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_CODECVT_PRIMARY");
-
-#ifndef _RWSTD_NO_EXT_CODECVT_PRIMARY
- rw_assert (0, __FILE__, __LINE__,
- "_RWSTD_NO_EXT_CODECVT_PRIMARY not #defined");
-#endif // _RWSTD_NO_EXT_CODECVT_PRIMARY
-
-
- // exercise _RWSTD_NO_EXT_COLLATE_PRIMARY
- rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_COLLATE_PRIMARY");
-
-#ifndef _RWSTD_NO_EXT_COLLATE_PRIMARY
- rw_assert (0, __FILE__, __LINE__,
- "_RWSTD_NO_EXT_COLLATE_PRIMARY not #defined");
-#endif // _RWSTD_NO_EXT_COLLATE_PRIMARY
-
-
- // exercise _RWSTD_NO_EXT_CTYPE_PRIMARY
- rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_CTYPE_PRIMARY");
-
-#ifndef _RWSTD_NO_EXT_CTYPE_PRIMARY
- rw_assert (0, __FILE__, __LINE__,
- "_RWSTD_NO_EXT_CTYPE_PRIMARY not #defined");
-#endif // _RWSTD_NO_EXT_CTYPE_PRIMARY
-
-
- // exercise _RWSTD_NO_EXT_MONEYPUNCT_PRIMARY
- rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_MONEYPUNCT_PRIMARY");
-
-#ifndef _RWSTD_NO_EXT_MONEYPUNCT_PRIMARY
- rw_assert (0, __FILE__, __LINE__,
- "_RWSTD_NO_EXT_MONEYPUNCT_PRIMARY not #defined");
-#endif // _RWSTD_NO_EXT_MONEYPUNCT_PRIMARY
-
-
- // exercise _RWSTD_NO_EXT_NUMPUNCT_PRIMARY
- rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_NUMPUNCT_PRIMARY");
-
-#ifndef _RWSTD_NO_EXT_NUMPUNCT_PRIMARY
- rw_assert (0, __FILE__, __LINE__,
- "_RWSTD_NO_EXT_NUMPUNCT_PRIMARY not #defined");
-#endif // _RWSTD_NO_EXT_NUMPUNCT_PRIMARY
-
-
- // exercise _RWSTD_NO_EXT_TIME_GET_PRIMARY
- rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_TIME_GET_PRIMARY");
-
-#ifndef _RWSTD_NO_EXT_TIME_GET_PRIMARY
- rw_assert (0, __FILE__, __LINE__,
- "_RWSTD_NO_EXT_TIME_GET_PRIMARY not #defined");
-#endif // _RWSTD_NO_EXT_TIME_GET_PRIMARY
-
-
- // exercise _RWSTD_NO_EXT_TIME_PUT_PRIMARY
- rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_TIME_PUT_PRIMARY");
-
-#ifndef _RWSTD_NO_EXT_TIME_PUT_PRIMARY
- rw_assert (0, __FILE__, __LINE__,
- "_RWSTD_NO_EXT_TIME_PUT_PRIMARY not #defined");
-#endif // _RWSTD_NO_EXT_TIME_PUT_PRIMARY
-
-
- // exercise _RWSTD_NO_EXT_MESSAGES_PRIMARY
- rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_MESSAGES_PRIMARY");
-
-#ifndef _RWSTD_NO_EXT_MESSAGES_PRIMARY
- rw_assert (0, __FILE__, __LINE__,
- "_RWSTD_NO_EXT_MESSAGES_PRIMARY not #defined");
-#endif // _RWSTD_NO_EXT_MESSAGES_PRIMARY
-
- return 0;
-}
-
-/* extern */ int
-main (int argc, char* argv [])
-{
- return rw_test (argc, argv, __FILE__,
- "intro.compliance",
- 0, // no comment
- run_test, "", 0);
-}
-
+/************************************************************************
+ *
+ * extensions.cpp - compilation only test exercising the ability
+ * to compile library headers with extensions diabled
+ *
+ * $Id$
+ *
+ ************************************************************************
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied. See the License for the specific language governing
+ * permissions and limitations under the License.
+ *
+ * Copyright 1994-2008 Rogue Wave Software.
+ *
+ **************************************************************************/
+
+#undef _RWSTD_NO_EXTENSIONS
+#define _RWSTD_NO_EXTENSIONS
+
+
+// working around a SunOS/SunPro bug (PR #26255)
+#if defined (__SUNPRO_CC) && (defined (__SunOS_5_8) || defined (__SunOS_5_9))
+# include <time.h>
+#endif // SunPro && SunOS 5.{8,9}
+
+#include <cassert>
+#include <cctype>
+#include <cerrno>
+#include <cfloat>
+#include <ciso646>
+#include <climits>
+#include <clocale>
+#include <cmath>
+#include <csetjmp>
+#include <csignal>
+#include <cstdarg>
+#include <cstddef>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+#include <ctime>
+#include <cwchar>
+#include <cwctype>
+
+#include <assert.h>
+#include <ctype.h>
+#include <errno.h>
+#include <float.h>
+#include <iso646.h>
+#include <limits.h>
+#include <locale.h>
+#include <math.h>
+#include <setjmp.h>
+#include <signal.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <wchar.h>
+#include <wctype.h>
+
+#include <algorithm>
+#include <bitset>
+#include <complex>
+#include <deque>
+#include <exception>
+#include <fstream>
+#include <functional>
+#include <iomanip>
+#include <ios>
+#include <iosfwd>
+#include <iostream>
+#include <istream>
+#include <iterator>
+#include <limits>
+#include <list>
+#include <locale>
+#include <map>
+#include <memory>
+#include <new>
+#include <numeric>
+#include <ostream>
+#include <queue>
+#include <set>
+#include <sstream>
+#include <stack>
+#include <stdexcept>
+#include <streambuf>
+#include <string>
+#include <typeinfo>
+#include <utility>
+#include <valarray>
+#include <vector>
+
+/***********************************************************************/
+
+int count_called = 0;
+int count_pred_called = 0;
+int distance_called = 0;
+
+
+#if !defined (__SUNPRO_CC) || __SUNPRO_CC > 0x550
+
+template <class T, class U>
+void count (T, T, const U&, ...) { ++count_called; }
+
+
+template <class T, class U>
+void count_if (T, T, U, ...) { ++count_pred_called; }
+
+
+template <class T>
+void distance (T, T, ...) { ++distance_called; }
+
+#else
+
+// working around a SunPro bug (PR #28678)
+
+template <class T, class U>
+void count (T, T, const U&, std::size_t&) { ++count_called; }
+
+
+template <class T, class U>
+void count_if (T, T, U, std::size_t&) { ++count_pred_called; }
+
+
+template <class T>
+void distance (T, T, std::size_t&) { ++distance_called; }
+
+#endif // SunPro
+
+
+#if !defined (__GNUG__) || __GNUG__ > 2
+
+int ellipsis_called /* = 0 */;
+
+struct NumGet: std::num_get<char>
+{
+ typedef std::num_get<char> Base;
+
+# ifndef _RWSTD_NO_USING_ACCESS_ADJUSTMENT
+
+ _USING (Base::get);
+
+# else // if defined (_RWSTD_NO_USING_ACCESS_ADJUSTMENT)
+
+ Base::get;
+
+# endif // _RWSTD_NO_USING_ACCESS_ADJUSTMENT
+
+ iter_type get (iter_type, iter_type,
+ std::ios_base&, std::ios_base::iostate&, ...) const {
+ ++ellipsis_called;
+ return iter_type ();
+ }
+};
+
+#endif // gcc > 2.x
+
+
+template <class T>
+struct convertible
+{
+ operator T () const {
+ static union {
+ void *dummy;
+ char buffer [sizeof (T)];
+ } u;
+
+ return (T)*u.buffer;
+ }
+};
+
+
+struct base { /* empty */ };
+struct badbit_set: base { /* empty */ };
+struct eofbit_set: base { /* empty */ };
+struct failbit_set: base { /* empty */ };
+
+struct Bin: base { /* empty */ } *bin;
+struct Nolock: base { /* empty */ } *nolock;
+struct NolockBuf: base { /* empty */ } *nolockbuf;
+
+
+struct IosBase: std::ios_base
+{
+ static bool check (int, base*) { return true; }
+ static bool check (int, ...) { return false; }
+
+ // members are preferred over non-members during unqualified lookup
+ static bool check_badbit () { return check (0, (badbit_set*)0); }
+ static bool check_eofbit () { return check (0, (eofbit_set*)0); }
+ static bool check_failbit () { return check (0, (failbit_set*)0); }
+
+ static bool check_bin () { return check (0, bin); }
+
+ static bool check_nolock () { return check (0, nolock); }
+ static bool check_nolockbuf () { return check (0, nolockbuf); }
+};
+
+
+_RWSTD_NAMESPACE (std) {
+
+
+// define bogus primary templates to verify
+// that they are not defined by the library
+
+#ifdef _RWSTD_NO_EXT_CHAR_TRAITS_PRIMARY
+
+template <class charT>
+struct char_traits { /* empty */ };
+
+#endif // _RWSTD_NO_EXT_CHAR_TRAITS_PRIMARY
+
+
+#ifdef _RWSTD_NO_EXT_CODECVT_PRIMARY
+
+template <class internT, class externT, class stateT>
+struct codecvt { /* empty */ };
+
+#endif // _RWSTD_NO_EXT_CODECVT_PRIMARY
+
+
+#ifdef _RWSTD_NO_EXT_CTYPE_PRIMARY
+
+template <class charT>
+struct ctype { /* empty */ };
+
+#endif // _RWSTD_NO_EXT_CTYPE_PRIMARY
+
+
+#ifdef _RWSTD_NO_EXT_COLLATE_PRIMARY
+
+template <class charT>
+struct collate { /* empty */ };
+
+#endif // _RWSTD_NO_EXT_COLLATE_PRIMARY
+
+
+#ifdef _RWSTD_NO_EXT_MONEYPUNCT_PRIMARY
+
+template <class charT, bool Intl>
+struct moneypunct { /* empty */ };
+
+#endif // _RWSTD_NO_EXT_MONEYPUNCT_PRIMARY
+
+
+#ifdef _RWSTD_NO_EXT_NUMPUNCT_PRIMARY
+
+template <class charT>
+struct numpunct { /* empty */ };
+
+#endif // _RWSTD_NO_EXT_NUMPUNCT_PRIMARY
+
+
+#ifdef _RWSTD_NO_EXT_TIME_GET_PRIMARY
+
+template <class charT, class InputIterator>
+struct time_get { /* empty */ };
+
+#endif // _RWSTD_NO_EXT_TIME_GET_PRIMARY
+
+
+#ifdef _RWSTD_NO_EXT_TIME_PUT_PRIMARY
+
+template <class charT, class OutputIterator>
+struct time_put { /* empty */ };
+
+#endif // _RWSTD_NO_EXT_TIME_PUT_PRIMARY
+
+
+#ifdef _RWSTD_NO_EXT_MESSAGES_PRIMARY
+
+template <class charT>
+struct messages { /* empty */ };
+
+#endif // _RWSTD_NO_EXT_MESSAGES_PRIMARY
+
+} // namespace std
+
+/***********************************************************************/
+
+#include <driver.h>
+
+bool predicate (int /* unused */) { return true; }
+
+static int
+run_test (int /* unused */, char* /* unused */ [])
+{
+ // exercise _RWSTD_NO_EXT_VOID_COUNT
+ rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_VOID_COUNT");
+
+ std::reverse_iterator<int*> it (0);
+
+ std::size_t n = 0;
+
+#ifndef _RWSTD_NO_EXT_VOID_COUNT
+ rw_assert (0, __FILE__, __LINE__,
+ "_RWSTD_NO_EXT_VOID_COUNT not #defined");
+#endif
+
+ // call the 4-argument overload of count() and expect Koenig lookup
+ // to find ::count(); the std::count() extension will be preferred
+ // if it exists and is a viable candidate, in which case the test
+ // below will fail
+ count (it, it, 0, n);
+
+ rw_assert (1 == count_called, __FILE__, __LINE__,
+ "_RWSTD_NO_EXTENSIONS #defined and an extended "
+ "definition of std::count() found");
+
+ // call the 4-argument overload of count() and expect Koenig lookup
+ // to find ::count(); the std::count() extension will be preferred
+ // if it exists and is a viable candidate
+ count_if (it, it, predicate, n);
+
+ rw_assert (1 == count_pred_called, __FILE__, __LINE__,
+ "_RWSTD_NO_EXTENSIONS #defined and an extended "
+ "definition of std::count_if() found");
+
+
+ // exercise _RWSTD_NO_EXT_VOID_DISTANCE
+ rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_VOID_DISTANCE");
+
+#ifndef _RWSTD_NO_EXT_VOID_DISTANCE
+ rw_assert (0, __FILE__, __LINE__,
+ "_RWSTD_NO_EXT_VOID_DISTANCE not #defined");
+#endif
+
+ // call the 3-argument overload of distance() and expect Koenig
+ // lookup to find ::distance(); std::distance() will be preferred
+ // if it exists and is a viable candidate
+ distance (it, it, n);
+
+ rw_assert (1 == distance_called, __FILE__, __LINE__,
+ "_RWSTD_NO_EXTENSIONS #defined and an extended "
+ "definition of std::distance() found");
+
+
+ // exercise _RWSTD_NO_EXT_NUM_GET
+ rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_NUM_GET");
+
+#ifndef _RWSTD_NO_EXT_NUM_GET
+ rw_assert (0, __FILE__, __LINE__,
+ "_RWSTD_NO_EXT_NUM_GET not #defined");
+#endif
+
+#if !defined (__GNUG__) || __GNUG__ > 2
+
+# define STRING(x) #x
+# define TEST_GET(T) \
+ do { \
+ NumGet::iter_type in; \
+ std::ios_base::iostate err = std::ios_base::failbit; \
+ ellipsis_called = 0; \
+ NumGet ().get (in, in, std::cin, err, convertible<T&>()); \
+ rw_assert (1 == ellipsis_called, __FILE__, __LINE__, \
+ "_RWSTD_NO_EXTENSIONS #defined and std::" \
+ "num_get<char>::get(..., " STRING(T) ") found"); \
+ } while (0)
+
+ TEST_GET (short);
+ TEST_GET (int);
+
+# ifdef _RWSTD_LONG_LONG
+
+ TEST_GET (_RWSTD_LONG_LONG);
+ TEST_GET (unsigned _RWSTD_LONG_LONG);
+
+# endif // _RWSTD_NO_LONG_LONG
+
+#endif // gcc > 2.x
+
+
+ // exercise _RWSTD_NO_EXT_FAILURE
+ rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_FAILURE");
+
+#ifndef _RWSTD_NO_EXT_FAILURE
+ rw_assert (0, __FILE__, __LINE__, "_RWSTD_NO_EXT_FAILURE not #defined");
+#endif
+
+ rw_assert (IosBase::check_badbit (), __FILE__, __LINE__,
+ "_RWSTD_NO_EXTENSIONS #defined and "
+ " class std::ios_base::badbit_set found");
+
+ rw_assert (IosBase::check_eofbit (), __FILE__, __LINE__,
+ "_RWSTD_NO_EXTENSIONS #defined and "
+ " class std::ios_base::eofbit_set found");
+
+ rw_assert (IosBase::check_eofbit (), __FILE__, __LINE__,
+ "_RWSTD_NO_EXTENSIONS #defined and "
+ " class std::ios_base::failbit_set found");
+
+
+ // exercise _RWSTD_NO_EXT_BIN_IO
+ rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_BIN_IO");
+
+#ifndef _RWSTD_NO_EXT_BIN_IO
+ rw_assert (0, __FILE__, __LINE__,
+ "_RWSTD_NO_EXT_BIN_IO not #defined");
+#endif
+
+ rw_assert (IosBase::check_bin (), __FILE__, __LINE__,
+ "_RWSTD_NO_EXTENSIONS #defined and "
+ " std::ios_base::bin found");
+
+
+ // exercise _RWSTD_NO_EXT_REENTRANT_IO
+ rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_REENTRANT_IO");
+
+#ifndef _RWSTD_NO_EXT_REENTRANT_IO
+ rw_assert (0, __FILE__, __LINE__,
+ "_RWSTD_NO_EXT_REENTRANT_IO not #defined");
+#endif
+
+ rw_assert (IosBase::check_nolock (), __FILE__, __LINE__,
+ "_RWSTD_NO_EXTENSIONS #defined and "
+ " std::ios_base::nolock found");
+
+ rw_assert (IosBase::check_nolockbuf (), __FILE__, __LINE__,
+ "_RWSTD_NO_EXTENSIONS #defined and "
+ " std::ios_base::nolockbuf found");
+
+
+ // exercise _RWSTD_NO_EXT_CHAR_TRAITS_PRIMARY
+ rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_CHAR_TRAITS_PRIMARY");
+
+#ifndef _RWSTD_NO_EXT_CHAR_TRAITS_PRIMARY
+ rw_assert (0, __FILE__, __LINE__,
+ "_RWSTD_NO_EXT_CHAR_TRAITS_PRIMARY not #defined");
+#endif // _RWSTD_NO_EXT_CHAR_TRAITS_PRIMARY
+
+
+ // exercise _RWSTD_NO_EXT_CODECVT_PRIMARY
+ rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_CODECVT_PRIMARY");
+
+#ifndef _RWSTD_NO_EXT_CODECVT_PRIMARY
+ rw_assert (0, __FILE__, __LINE__,
+ "_RWSTD_NO_EXT_CODECVT_PRIMARY not #defined");
+#endif // _RWSTD_NO_EXT_CODECVT_PRIMARY
+
+
+ // exercise _RWSTD_NO_EXT_COLLATE_PRIMARY
+ rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_COLLATE_PRIMARY");
+
+#ifndef _RWSTD_NO_EXT_COLLATE_PRIMARY
+ rw_assert (0, __FILE__, __LINE__,
+ "_RWSTD_NO_EXT_COLLATE_PRIMARY not #defined");
+#endif // _RWSTD_NO_EXT_COLLATE_PRIMARY
+
+
+ // exercise _RWSTD_NO_EXT_CTYPE_PRIMARY
+ rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_CTYPE_PRIMARY");
+
+#ifndef _RWSTD_NO_EXT_CTYPE_PRIMARY
+ rw_assert (0, __FILE__, __LINE__,
+ "_RWSTD_NO_EXT_CTYPE_PRIMARY not #defined");
+#endif // _RWSTD_NO_EXT_CTYPE_PRIMARY
+
+
+ // exercise _RWSTD_NO_EXT_MONEYPUNCT_PRIMARY
+ rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_MONEYPUNCT_PRIMARY");
+
+#ifndef _RWSTD_NO_EXT_MONEYPUNCT_PRIMARY
+ rw_assert (0, __FILE__, __LINE__,
+ "_RWSTD_NO_EXT_MONEYPUNCT_PRIMARY not #defined");
+#endif // _RWSTD_NO_EXT_MONEYPUNCT_PRIMARY
+
+
+ // exercise _RWSTD_NO_EXT_NUMPUNCT_PRIMARY
+ rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_NUMPUNCT_PRIMARY");
+
+#ifndef _RWSTD_NO_EXT_NUMPUNCT_PRIMARY
+ rw_assert (0, __FILE__, __LINE__,
+ "_RWSTD_NO_EXT_NUMPUNCT_PRIMARY not #defined");
+#endif // _RWSTD_NO_EXT_NUMPUNCT_PRIMARY
+
+
+ // exercise _RWSTD_NO_EXT_TIME_GET_PRIMARY
+ rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_TIME_GET_PRIMARY");
+
+#ifndef _RWSTD_NO_EXT_TIME_GET_PRIMARY
+ rw_assert (0, __FILE__, __LINE__,
+ "_RWSTD_NO_EXT_TIME_GET_PRIMARY not #defined");
+#endif // _RWSTD_NO_EXT_TIME_GET_PRIMARY
+
+
+ // exercise _RWSTD_NO_EXT_TIME_PUT_PRIMARY
+ rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_TIME_PUT_PRIMARY");
+
+#ifndef _RWSTD_NO_EXT_TIME_PUT_PRIMARY
+ rw_assert (0, __FILE__, __LINE__,
+ "_RWSTD_NO_EXT_TIME_PUT_PRIMARY not #defined");
+#endif // _RWSTD_NO_EXT_TIME_PUT_PRIMARY
+
+
+ // exercise _RWSTD_NO_EXT_MESSAGES_PRIMARY
+ rw_info (0, 0, __LINE__, "_RWSTD_NO_EXT_MESSAGES_PRIMARY");
+
+#ifndef _RWSTD_NO_EXT_MESSAGES_PRIMARY
+ rw_assert (0, __FILE__, __LINE__,
+ "_RWSTD_NO_EXT_MESSAGES_PRIMARY not #defined");
+#endif // _RWSTD_NO_EXT_MESSAGES_PRIMARY
+
+ return 0;
+}
+
+/* extern */ int
+main (int argc, char* argv [])
+{
+ return rw_test (argc, argv, __FILE__,
+ "intro.compliance",
+ 0, // no comment
+ run_test, "", 0);
+}
+
Propchange: stdcxx/branches/4.3.x/tests/intro/17.extensions.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: stdcxx/branches/4.3.x/tests/intro/17.extensions.cpp
------------------------------------------------------------------------------
svn:keywords = Id
Propchange: stdcxx/branches/4.3.x/tests/localization/22.locale.ctype.widen.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: stdcxx/branches/4.3.x/tests/localization/22.locale.ctype.widen.cpp
------------------------------------------------------------------------------
svn:keywords = Id
Propchange: stdcxx/branches/4.3.x/tests/numerics/26.valarray.transcend.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: stdcxx/branches/4.3.x/tests/numerics/26.valarray.transcend.cpp
------------------------------------------------------------------------------
svn:keywords = Id
Modified: stdcxx/branches/4.3.x/tests/regress/21.string.insert.stdcxx-632.cpp
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/tests/regress/21.string.insert.stdcxx-632.cpp?rev=660476&r1=660475&r2=660476&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/tests/regress/21.string.insert.stdcxx-632.cpp (original)
+++ stdcxx/branches/4.3.x/tests/regress/21.string.insert.stdcxx-632.cpp Tue May 27 04:50:07 2008
@@ -1,48 +1,48 @@
-/************************************************************************
-*
-* 21.string.insert.stdcxx-632.cpp - regression test for STDCXX-632
-*
-* https://issues.apache.org/jira/browse/STDCXX-632
-*
-* $Id: 21.string.insert.stdcxx-632.cpp 629551 2008-02-20 18:13:08Z faridz $
-*
-***************************************************************************
-*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements. See the NOTICE file distributed
-* with this work for additional information regarding copyright
-* ownership. The ASF licenses this file to you under the Apache
-* License, Version 2.0 (the "License"); you may not use this file
-* except in compliance with the License. You may obtain a copy of
-* the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-* implied. See the License for the specific language governing
-* permissions and limitations under the License.
-*
-**************************************************************************/
-
-#include <cassert>
-#include <string>
-
-int main ()
-{
- std::string s ("abc");
-
- s.insert (s.begin (), s.rbegin () + 1, s.rbegin () + 2);
-
- assert ("babc" == s);
-
- s = "abc";
-
- typedef const unsigned char UChar;
- s.insert (s.begin (), (UChar*)&s [1], (UChar*)&s [2]);
-
- assert ("babc" == s);
-
- return 0;
-}
+/************************************************************************
+*
+* 21.string.insert.stdcxx-632.cpp - regression test for STDCXX-632
+*
+* https://issues.apache.org/jira/browse/STDCXX-632
+*
+* $Id$
+*
+***************************************************************************
+*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. See the NOTICE file distributed
+* with this work for additional information regarding copyright
+* ownership. The ASF licenses this file to you under the Apache
+* License, Version 2.0 (the "License"); you may not use this file
+* except in compliance with the License. You may obtain a copy of
+* the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+* implied. See the License for the specific language governing
+* permissions and limitations under the License.
+*
+**************************************************************************/
+
+#include <cassert>
+#include <string>
+
+int main ()
+{
+ std::string s ("abc");
+
+ s.insert (s.begin (), s.rbegin () + 1, s.rbegin () + 2);
+
+ assert ("babc" == s);
+
+ s = "abc";
+
+ typedef const unsigned char UChar;
+ s.insert (s.begin (), (UChar*)&s [1], (UChar*)&s [2]);
+
+ assert ("babc" == s);
+
+ return 0;
+}
Propchange: stdcxx/branches/4.3.x/tests/regress/21.string.insert.stdcxx-632.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: stdcxx/branches/4.3.x/tests/regress/21.string.insert.stdcxx-632.cpp
------------------------------------------------------------------------------
svn:keywords = Id
Propchange: stdcxx/branches/4.3.x/tests/regress/21.string.stdcxx-231.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: stdcxx/branches/4.3.x/tests/regress/21.string.stdcxx-231.cpp
------------------------------------------------------------------------------
svn:keywords = Id
Propchange: stdcxx/branches/4.3.x/tests/self/0.fnmatch.cpp
------------------------------------------------------------------------------
svn:eol-style = native