stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <mse...@gmail.com>
Subject Re: svn commit: r777603 - in /stdcxx/branches/4.2.x: etc/config/src/ src/
Date Fri, 22 May 2009 22:24:32 GMT
faridz@apache.org wrote:
> Author: faridz
> Date: Fri May 22 16:30:22 2009
> New Revision: 777603
> 
> URL: http://svn.apache.org/viewvc?rev=777603&view=rev
> Log:
> 2009-05-22  Farid Zaripov  <faridz@apache.org>
> 
> 	* etc/config/src/DOMAIN_ERROR_DTOR.cpp: New configuration test checking for domain_error
dtor

Why do we need this and the other tests?

I'm pretty sure you know this but just for completeness:

Unlike their base class, std::exception, which is normally defined
in the language support library (i.e., the C++ runtime), such as
libsupc++ with gcc, std::domain_error and the rest of the classes
below as well as most other C++ Standard Library classes (most
notoriously iostreams and locales) are defined in the C++ Standard
Library, such as libstdc++ with gcc. Programs that link with stdcxx
must only link with the language runtime and must avoid linking with
the rest of the C++ Standard Library that comes with the compiler
(for gcc, this is done by using the gcc command to link rather than
g++).

If there is a compiler that we need _RWSTD_NO_DOMAIN_ERROR_DTOR for,
won't we also need a macro for every single one of the rest of C++
Standard Library polymorphic classes such as std::ios_base?

> 	* etc/config/src/INVALID_ARGUMENT_DTOR.cpp: Same for invalid_argument.
> 	* etc/config/src/LENGTH_ERROR_DTOR.cpp: Same for length_error.
> 	* etc/config/src/LOGIC_ERROR_DTOR.cpp: Same for logic_error.
> 	* etc/config/src/OUT_OF_RANGE_DTOR.cpp: Same for out_of_range.
> 	* etc/config/src/OVERFLOW_ERROR_DTOR.cpp: Same for overflow_error.
> 	* etc/config/src/RANGE_ERROR_DTOR.cpp: Same for range_error.
> 	* etc/config/src/RUNTIME_ERROR_DTOR.cpp: Same for runtime_error.
> 	* etc/config/src/UNDERFLOW_ERROR_DTOR.cpp: Same for underflow_error.
> 	* src/domain_error.cpp: Define dtor if it is not defined in libc only.

Are you sure you meant libc above? No libc that I know of defines
C++ classes.

What platform is this for?

Martin


> 	* src/invalid_argument.cpp: Ditto.
> 	* src/length_error.cpp: Ditto.
> 	* src/logic_error.cpp: Ditto.
> 	* src/out_of_range.cpp: Ditto.
> 	* src/overflow_error.cpp: Ditto.
> 	* src/range_error.cpp: Ditto.
> 	* src/runtime_error.cpp: Ditto.
> 	* src/underflow_error.cpp: Ditto.
> 
> Added:
>     stdcxx/branches/4.2.x/etc/config/src/DOMAIN_ERROR_DTOR.cpp   (with props)
>     stdcxx/branches/4.2.x/etc/config/src/INVALID_ARGUMENT_DTOR.cpp   (with props)
>     stdcxx/branches/4.2.x/etc/config/src/LENGTH_ERROR_DTOR.cpp   (with props)
>     stdcxx/branches/4.2.x/etc/config/src/LOGIC_ERROR_DTOR.cpp   (with props)
>     stdcxx/branches/4.2.x/etc/config/src/OUT_OF_RANGE_DTOR.cpp   (with props)
>     stdcxx/branches/4.2.x/etc/config/src/OVERFLOW_ERROR_DTOR.cpp   (with props)
>     stdcxx/branches/4.2.x/etc/config/src/RANGE_ERROR_DTOR.cpp   (with props)
>     stdcxx/branches/4.2.x/etc/config/src/RUNTIME_ERROR_DTOR.cpp   (with props)
>     stdcxx/branches/4.2.x/etc/config/src/UNDERFLOW_ERROR_DTOR.cpp   (with props)
> Modified:
>     stdcxx/branches/4.2.x/src/domain_error.cpp
>     stdcxx/branches/4.2.x/src/invalid_argument.cpp
>     stdcxx/branches/4.2.x/src/length_error.cpp
>     stdcxx/branches/4.2.x/src/logic_error.cpp
>     stdcxx/branches/4.2.x/src/out_of_range.cpp
>     stdcxx/branches/4.2.x/src/overflow_error.cpp
>     stdcxx/branches/4.2.x/src/range_error.cpp
>     stdcxx/branches/4.2.x/src/runtime_error.cpp
>     stdcxx/branches/4.2.x/src/underflow_error.cpp
> 
> Added: stdcxx/branches/4.2.x/etc/config/src/DOMAIN_ERROR_DTOR.cpp
> URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/etc/config/src/DOMAIN_ERROR_DTOR.cpp?rev=777603&view=auto
> ==============================================================================
> --- stdcxx/branches/4.2.x/etc/config/src/DOMAIN_ERROR_DTOR.cpp (added)
> +++ stdcxx/branches/4.2.x/etc/config/src/DOMAIN_ERROR_DTOR.cpp Fri May 22 16:30:22 2009
> @@ -0,0 +1,40 @@
> +// checking for domain_error dtor
> +
> +/***************************************************************************
> + *
> + * 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 1999-2007 Rogue Wave Software, Inc.
> + * 
> + **************************************************************************/
> +
> +#if 0   // guard invalid preprocessor symbol below
> +   // establish a dependency on RUNTIME_IN_STD.cpp
> +#  ifndef _RWSTD_NO_RUNTIME_IN_STD
> +#  endif   // _RWSTD_NO_RUNTIME_IN_STD
> +#endif   // 0
> +
> +#define TEST_DTOR
> +#define bad_alloc domain_error
> +#define main      test_domain_error_dtor
> +#include "BAD_ALLOC_ASSIGNMENT.cpp"
> +#undef main
> +
> +int main (int argc, char *argv[])
> +{
> +    return test_domain_error_dtor (argc, argv);
> +}
> 
> Propchange: stdcxx/branches/4.2.x/etc/config/src/DOMAIN_ERROR_DTOR.cpp
> ------------------------------------------------------------------------------
>     svn:eol-style = native
> 
> Propchange: stdcxx/branches/4.2.x/etc/config/src/DOMAIN_ERROR_DTOR.cpp
> ------------------------------------------------------------------------------
>     svn:keywords = Id
> 
> Added: stdcxx/branches/4.2.x/etc/config/src/INVALID_ARGUMENT_DTOR.cpp
> URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/etc/config/src/INVALID_ARGUMENT_DTOR.cpp?rev=777603&view=auto
> ==============================================================================
> --- stdcxx/branches/4.2.x/etc/config/src/INVALID_ARGUMENT_DTOR.cpp (added)
> +++ stdcxx/branches/4.2.x/etc/config/src/INVALID_ARGUMENT_DTOR.cpp Fri May 22 16:30:22
2009
> @@ -0,0 +1,40 @@
> +// checking for invalid_argument dtor
> +
> +/***************************************************************************
> + *
> + * 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 1999-2007 Rogue Wave Software, Inc.
> + * 
> + **************************************************************************/
> +
> +#if 0   // guard invalid preprocessor symbol below
> +   // establish a dependency on RUNTIME_IN_STD.cpp
> +#  ifndef _RWSTD_NO_RUNTIME_IN_STD
> +#  endif   // _RWSTD_NO_RUNTIME_IN_STD
> +#endif   // 0
> +
> +#define TEST_DTOR
> +#define bad_alloc invalid_argument
> +#define main      test_invalid_argument_dtor
> +#include "BAD_ALLOC_ASSIGNMENT.cpp"
> +#undef main
> +
> +int main (int argc, char *argv[])
> +{
> +    return test_invalid_argument_dtor (argc, argv);
> +}
> 
> Propchange: stdcxx/branches/4.2.x/etc/config/src/INVALID_ARGUMENT_DTOR.cpp
> ------------------------------------------------------------------------------
>     svn:eol-style = native
> 
> Propchange: stdcxx/branches/4.2.x/etc/config/src/INVALID_ARGUMENT_DTOR.cpp
> ------------------------------------------------------------------------------
>     svn:keywords = Id
> 
> Added: stdcxx/branches/4.2.x/etc/config/src/LENGTH_ERROR_DTOR.cpp
> URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/etc/config/src/LENGTH_ERROR_DTOR.cpp?rev=777603&view=auto
> ==============================================================================
> --- stdcxx/branches/4.2.x/etc/config/src/LENGTH_ERROR_DTOR.cpp (added)
> +++ stdcxx/branches/4.2.x/etc/config/src/LENGTH_ERROR_DTOR.cpp Fri May 22 16:30:22 2009
> @@ -0,0 +1,40 @@
> +// checking for length_error dtor
> +
> +/***************************************************************************
> + *
> + * 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 1999-2007 Rogue Wave Software, Inc.
> + * 
> + **************************************************************************/
> +
> +#if 0   // guard invalid preprocessor symbol below
> +   // establish a dependency on RUNTIME_IN_STD.cpp
> +#  ifndef _RWSTD_NO_RUNTIME_IN_STD
> +#  endif   // _RWSTD_NO_RUNTIME_IN_STD
> +#endif   // 0
> +
> +#define TEST_DTOR
> +#define bad_alloc length_error
> +#define main      test_length_error_dtor
> +#include "BAD_ALLOC_ASSIGNMENT.cpp"
> +#undef main
> +
> +int main (int argc, char *argv[])
> +{
> +    return test_length_error_dtor (argc, argv);
> +}
> 
> Propchange: stdcxx/branches/4.2.x/etc/config/src/LENGTH_ERROR_DTOR.cpp
> ------------------------------------------------------------------------------
>     svn:eol-style = native
> 
> Propchange: stdcxx/branches/4.2.x/etc/config/src/LENGTH_ERROR_DTOR.cpp
> ------------------------------------------------------------------------------
>     svn:keywords = Id
> 
> Added: stdcxx/branches/4.2.x/etc/config/src/LOGIC_ERROR_DTOR.cpp
> URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/etc/config/src/LOGIC_ERROR_DTOR.cpp?rev=777603&view=auto
> ==============================================================================
> --- stdcxx/branches/4.2.x/etc/config/src/LOGIC_ERROR_DTOR.cpp (added)
> +++ stdcxx/branches/4.2.x/etc/config/src/LOGIC_ERROR_DTOR.cpp Fri May 22 16:30:22 2009
> @@ -0,0 +1,40 @@
> +// checking for logic_error dtor
> +
> +/***************************************************************************
> + *
> + * 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 1999-2007 Rogue Wave Software, Inc.
> + * 
> + **************************************************************************/
> +
> +#if 0   // guard invalid preprocessor symbol below
> +   // establish a dependency on RUNTIME_IN_STD.cpp
> +#  ifndef _RWSTD_NO_RUNTIME_IN_STD
> +#  endif   // _RWSTD_NO_RUNTIME_IN_STD
> +#endif   // 0
> +
> +#define TEST_DTOR
> +#define bad_alloc logic_error
> +#define main      test_logic_error_dtor
> +#include "BAD_ALLOC_ASSIGNMENT.cpp"
> +#undef main
> +
> +int main (int argc, char *argv[])
> +{
> +    return test_logic_error_dtor (argc, argv);
> +}
> 
> Propchange: stdcxx/branches/4.2.x/etc/config/src/LOGIC_ERROR_DTOR.cpp
> ------------------------------------------------------------------------------
>     svn:eol-style = native
> 
> Propchange: stdcxx/branches/4.2.x/etc/config/src/LOGIC_ERROR_DTOR.cpp
> ------------------------------------------------------------------------------
>     svn:keywords = Id
> 
> Added: stdcxx/branches/4.2.x/etc/config/src/OUT_OF_RANGE_DTOR.cpp
> URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/etc/config/src/OUT_OF_RANGE_DTOR.cpp?rev=777603&view=auto
> ==============================================================================
> --- stdcxx/branches/4.2.x/etc/config/src/OUT_OF_RANGE_DTOR.cpp (added)
> +++ stdcxx/branches/4.2.x/etc/config/src/OUT_OF_RANGE_DTOR.cpp Fri May 22 16:30:22 2009
> @@ -0,0 +1,40 @@
> +// checking for out_of_range dtor
> +
> +/***************************************************************************
> + *
> + * 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 1999-2007 Rogue Wave Software, Inc.
> + * 
> + **************************************************************************/
> +
> +#if 0   // guard invalid preprocessor symbol below
> +   // establish a dependency on RUNTIME_IN_STD.cpp
> +#  ifndef _RWSTD_NO_RUNTIME_IN_STD
> +#  endif   // _RWSTD_NO_RUNTIME_IN_STD
> +#endif   // 0
> +
> +#define TEST_DTOR
> +#define bad_alloc out_of_range
> +#define main      test_out_of_range_dtor
> +#include "BAD_ALLOC_ASSIGNMENT.cpp"
> +#undef main
> +
> +int main (int argc, char *argv[])
> +{
> +    return test_out_of_range_dtor (argc, argv);
> +}
> 
> Propchange: stdcxx/branches/4.2.x/etc/config/src/OUT_OF_RANGE_DTOR.cpp
> ------------------------------------------------------------------------------
>     svn:eol-style = native
> 
> Propchange: stdcxx/branches/4.2.x/etc/config/src/OUT_OF_RANGE_DTOR.cpp
> ------------------------------------------------------------------------------
>     svn:keywords = Id
> 
> Added: stdcxx/branches/4.2.x/etc/config/src/OVERFLOW_ERROR_DTOR.cpp
> URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/etc/config/src/OVERFLOW_ERROR_DTOR.cpp?rev=777603&view=auto
> ==============================================================================
> --- stdcxx/branches/4.2.x/etc/config/src/OVERFLOW_ERROR_DTOR.cpp (added)
> +++ stdcxx/branches/4.2.x/etc/config/src/OVERFLOW_ERROR_DTOR.cpp Fri May 22 16:30:22
2009
> @@ -0,0 +1,40 @@
> +// checking for overflow_error dtor
> +
> +/***************************************************************************
> + *
> + * 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 1999-2007 Rogue Wave Software, Inc.
> + * 
> + **************************************************************************/
> +
> +#if 0   // guard invalid preprocessor symbol below
> +   // establish a dependency on RUNTIME_IN_STD.cpp
> +#  ifndef _RWSTD_NO_RUNTIME_IN_STD
> +#  endif   // _RWSTD_NO_RUNTIME_IN_STD
> +#endif   // 0
> +
> +#define TEST_DTOR
> +#define bad_alloc overflow_error
> +#define main      test_overflow_error_dtor
> +#include "BAD_ALLOC_ASSIGNMENT.cpp"
> +#undef main
> +
> +int main (int argc, char *argv[])
> +{
> +    return test_overflow_error_dtor (argc, argv);
> +}
> 
> Propchange: stdcxx/branches/4.2.x/etc/config/src/OVERFLOW_ERROR_DTOR.cpp
> ------------------------------------------------------------------------------
>     svn:eol-style = native
> 
> Propchange: stdcxx/branches/4.2.x/etc/config/src/OVERFLOW_ERROR_DTOR.cpp
> ------------------------------------------------------------------------------
>     svn:keywords = Id
> 
> Added: stdcxx/branches/4.2.x/etc/config/src/RANGE_ERROR_DTOR.cpp
> URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/etc/config/src/RANGE_ERROR_DTOR.cpp?rev=777603&view=auto
> ==============================================================================
> --- stdcxx/branches/4.2.x/etc/config/src/RANGE_ERROR_DTOR.cpp (added)
> +++ stdcxx/branches/4.2.x/etc/config/src/RANGE_ERROR_DTOR.cpp Fri May 22 16:30:22 2009
> @@ -0,0 +1,40 @@
> +// checking for range_error dtor
> +
> +/***************************************************************************
> + *
> + * 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 1999-2007 Rogue Wave Software, Inc.
> + * 
> + **************************************************************************/
> +
> +#if 0   // guard invalid preprocessor symbol below
> +   // establish a dependency on RUNTIME_IN_STD.cpp
> +#  ifndef _RWSTD_NO_RUNTIME_IN_STD
> +#  endif   // _RWSTD_NO_RUNTIME_IN_STD
> +#endif   // 0
> +
> +#define TEST_DTOR
> +#define bad_alloc range_error
> +#define main      test_range_error_dtor
> +#include "BAD_ALLOC_ASSIGNMENT.cpp"
> +#undef main
> +
> +int main (int argc, char *argv[])
> +{
> +    return test_range_error_dtor (argc, argv);
> +}
> 
> Propchange: stdcxx/branches/4.2.x/etc/config/src/RANGE_ERROR_DTOR.cpp
> ------------------------------------------------------------------------------
>     svn:eol-style = native
> 
> Propchange: stdcxx/branches/4.2.x/etc/config/src/RANGE_ERROR_DTOR.cpp
> ------------------------------------------------------------------------------
>     svn:keywords = Id
> 
> Added: stdcxx/branches/4.2.x/etc/config/src/RUNTIME_ERROR_DTOR.cpp
> URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/etc/config/src/RUNTIME_ERROR_DTOR.cpp?rev=777603&view=auto
> ==============================================================================
> --- stdcxx/branches/4.2.x/etc/config/src/RUNTIME_ERROR_DTOR.cpp (added)
> +++ stdcxx/branches/4.2.x/etc/config/src/RUNTIME_ERROR_DTOR.cpp Fri May 22 16:30:22 2009
> @@ -0,0 +1,40 @@
> +// checking for runtime_error dtor
> +
> +/***************************************************************************
> + *
> + * 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 1999-2007 Rogue Wave Software, Inc.
> + * 
> + **************************************************************************/
> +
> +#if 0   // guard invalid preprocessor symbol below
> +   // establish a dependency on RUNTIME_IN_STD.cpp
> +#  ifndef _RWSTD_NO_RUNTIME_IN_STD
> +#  endif   // _RWSTD_NO_RUNTIME_IN_STD
> +#endif   // 0
> +
> +#define TEST_DTOR
> +#define bad_alloc runtime_error
> +#define main      test_runtime_error_dtor
> +#include "BAD_ALLOC_ASSIGNMENT.cpp"
> +#undef main
> +
> +int main (int argc, char *argv[])
> +{
> +    return test_runtime_error_dtor (argc, argv);
> +}
> 
> Propchange: stdcxx/branches/4.2.x/etc/config/src/RUNTIME_ERROR_DTOR.cpp
> ------------------------------------------------------------------------------
>     svn:eol-style = native
> 
> Propchange: stdcxx/branches/4.2.x/etc/config/src/RUNTIME_ERROR_DTOR.cpp
> ------------------------------------------------------------------------------
>     svn:keywords = Id
> 
> Added: stdcxx/branches/4.2.x/etc/config/src/UNDERFLOW_ERROR_DTOR.cpp
> URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/etc/config/src/UNDERFLOW_ERROR_DTOR.cpp?rev=777603&view=auto
> ==============================================================================
> --- stdcxx/branches/4.2.x/etc/config/src/UNDERFLOW_ERROR_DTOR.cpp (added)
> +++ stdcxx/branches/4.2.x/etc/config/src/UNDERFLOW_ERROR_DTOR.cpp Fri May 22 16:30:22
2009
> @@ -0,0 +1,40 @@
> +// checking for underflow_error dtor
> +
> +/***************************************************************************
> + *
> + * 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 1999-2007 Rogue Wave Software, Inc.
> + * 
> + **************************************************************************/
> +
> +#if 0   // guard invalid preprocessor symbol below
> +   // establish a dependency on RUNTIME_IN_STD.cpp
> +#  ifndef _RWSTD_NO_RUNTIME_IN_STD
> +#  endif   // _RWSTD_NO_RUNTIME_IN_STD
> +#endif   // 0
> +
> +#define TEST_DTOR
> +#define bad_alloc underflow_error
> +#define main      test_underflow_error_dtor
> +#include "BAD_ALLOC_ASSIGNMENT.cpp"
> +#undef main
> +
> +int main (int argc, char *argv[])
> +{
> +    return test_underflow_error_dtor (argc, argv);
> +}
> 
> Propchange: stdcxx/branches/4.2.x/etc/config/src/UNDERFLOW_ERROR_DTOR.cpp
> ------------------------------------------------------------------------------
>     svn:eol-style = native
> 
> Propchange: stdcxx/branches/4.2.x/etc/config/src/UNDERFLOW_ERROR_DTOR.cpp
> ------------------------------------------------------------------------------
>     svn:keywords = Id
> 
> Modified: stdcxx/branches/4.2.x/src/domain_error.cpp
> URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/domain_error.cpp?rev=777603&r1=777602&r2=777603&view=diff
> ==============================================================================
> --- stdcxx/branches/4.2.x/src/domain_error.cpp (original)
> +++ stdcxx/branches/4.2.x/src/domain_error.cpp Fri May 22 16:30:22 2009
> @@ -32,6 +32,8 @@
>  
>  _RWSTD_NAMESPACE (std) {
>  
> +#ifdef _RWSTD_NO_DOMAIN_ERROR_DTOR
> +
>  // outlined to avoid generating a vtable in each translation unit
>  // that uses the class
>  /* virtual */ domain_error::
> @@ -40,4 +42,6 @@
>      // no-op
>  }
>  
> +#endif   // _RWSTD_NO_DOMAIN_ERROR_DTOR
> +
>  }   // namespace std
> 
> Modified: stdcxx/branches/4.2.x/src/invalid_argument.cpp
> URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/invalid_argument.cpp?rev=777603&r1=777602&r2=777603&view=diff
> ==============================================================================
> --- stdcxx/branches/4.2.x/src/invalid_argument.cpp (original)
> +++ stdcxx/branches/4.2.x/src/invalid_argument.cpp Fri May 22 16:30:22 2009
> @@ -32,6 +32,8 @@
>  
>  _RWSTD_NAMESPACE (std) {
>  
> +#ifdef _RWSTD_NO_INVALID_ARGUMENT_DTOR
> +
>  // outlined to avoid generating a vtable in each translation unit
>  // that uses the class
>  /* virtual */ invalid_argument::
> @@ -40,4 +42,6 @@
>      // no-op
>  }
>  
> +#endif   // _RWSTD_NO_INVALID_ARGUMENT_DTOR
> +
>  }   // namespace std
> 
> Modified: stdcxx/branches/4.2.x/src/length_error.cpp
> URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/length_error.cpp?rev=777603&r1=777602&r2=777603&view=diff
> ==============================================================================
> --- stdcxx/branches/4.2.x/src/length_error.cpp (original)
> +++ stdcxx/branches/4.2.x/src/length_error.cpp Fri May 22 16:30:22 2009
> @@ -32,6 +32,8 @@
>  
>  _RWSTD_NAMESPACE (std) {
>  
> +#ifdef _RWSTD_NO_LENGTH_ERROR_DTOR
> +
>  // outlined to avoid generating a vtable in each translation unit
>  // that uses the class
>  /* virtual */ length_error::
> @@ -40,4 +42,6 @@
>      // no-op
>  }
>  
> +#endif   // _RWSTD_NO_LENGTH_ERROR_DTOR
> +
>  }   // namespace std
> 
> Modified: stdcxx/branches/4.2.x/src/logic_error.cpp
> URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/logic_error.cpp?rev=777603&r1=777602&r2=777603&view=diff
> ==============================================================================
> --- stdcxx/branches/4.2.x/src/logic_error.cpp (original)
> +++ stdcxx/branches/4.2.x/src/logic_error.cpp Fri May 22 16:30:22 2009
> @@ -32,6 +32,8 @@
>  
>  _RWSTD_NAMESPACE (std) {
>  
> +#ifdef _RWSTD_NO_LOGIC_ERROR_DTOR
> +
>  // outlined to avoid generating a vtable in each translation unit
>  // that uses the class
>  /* virtual */ logic_error::
> @@ -40,4 +42,6 @@
>      // no-op
>  }
>  
> +#endif   // _RWSTD_NO_LOGIC_ERROR_DTOR
> +
>  }   // namespace std
> 
> Modified: stdcxx/branches/4.2.x/src/out_of_range.cpp
> URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/out_of_range.cpp?rev=777603&r1=777602&r2=777603&view=diff
> ==============================================================================
> --- stdcxx/branches/4.2.x/src/out_of_range.cpp (original)
> +++ stdcxx/branches/4.2.x/src/out_of_range.cpp Fri May 22 16:30:22 2009
> @@ -32,6 +32,8 @@
>  
>  _RWSTD_NAMESPACE (std) {
>  
> +#ifdef _RWSTD_NO_OUT_OF_RANGE_DTOR
> +
>  // outlined to avoid generating a vtable in each translation unit
>  // that uses the class
>  /* virtual */ out_of_range::
> @@ -40,4 +42,6 @@
>      // no-op
>  }
>  
> +#endif   // _RWSTD_NO_OUT_OF_RANGE_DTOR
> +
>  }   // namespace std
> 
> Modified: stdcxx/branches/4.2.x/src/overflow_error.cpp
> URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/overflow_error.cpp?rev=777603&r1=777602&r2=777603&view=diff
> ==============================================================================
> --- stdcxx/branches/4.2.x/src/overflow_error.cpp (original)
> +++ stdcxx/branches/4.2.x/src/overflow_error.cpp Fri May 22 16:30:22 2009
> @@ -32,6 +32,8 @@
>  
>  _RWSTD_NAMESPACE (std) {
>  
> +#ifdef _RWSTD_NO_OVERFLOW_ERROR_DTOR
> +
>  // outlined to avoid generating a vtable in each translation unit
>  // that uses the class
>  /* virtual */ overflow_error::
> @@ -40,4 +42,6 @@
>      // no-op
>  }
>  
> +#endif   // _RWSTD_NO_OVERFLOW_ERROR_DTOR
> +
>  }   // namespace std
> 
> Modified: stdcxx/branches/4.2.x/src/range_error.cpp
> URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/range_error.cpp?rev=777603&r1=777602&r2=777603&view=diff
> ==============================================================================
> --- stdcxx/branches/4.2.x/src/range_error.cpp (original)
> +++ stdcxx/branches/4.2.x/src/range_error.cpp Fri May 22 16:30:22 2009
> @@ -32,6 +32,8 @@
>  
>  _RWSTD_NAMESPACE (std) {
>  
> +#ifdef _RWSTD_NO_RANGE_ERROR_DTOR
> +
>  // outlined to avoid generating a vtable in each translation unit
>  // that uses the class
>  /* virtual */ range_error::
> @@ -40,4 +42,6 @@
>      // no-op
>  }
>  
> +#endif   // _RWSTD_NO_RANGE_ERROR_DTOR
> +
>  }   // namespace std
> 
> Modified: stdcxx/branches/4.2.x/src/runtime_error.cpp
> URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/runtime_error.cpp?rev=777603&r1=777602&r2=777603&view=diff
> ==============================================================================
> --- stdcxx/branches/4.2.x/src/runtime_error.cpp (original)
> +++ stdcxx/branches/4.2.x/src/runtime_error.cpp Fri May 22 16:30:22 2009
> @@ -32,6 +32,8 @@
>  
>  _RWSTD_NAMESPACE (std) {
>  
> +#ifdef _RWSTD_NO_RUNTIME_ERROR_DTOR
> +
>  // outlined to avoid generating a vtable in each translation unit
>  // that uses the class
>  /* virtual */ runtime_error::
> @@ -40,4 +42,6 @@
>      // no-op
>  }
>  
> +#endif   // _RWSTD_NO_RUNTIME_ERROR_DTOR
> +
>  }   // namespace std
> 
> Modified: stdcxx/branches/4.2.x/src/underflow_error.cpp
> URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/underflow_error.cpp?rev=777603&r1=777602&r2=777603&view=diff
> ==============================================================================
> --- stdcxx/branches/4.2.x/src/underflow_error.cpp (original)
> +++ stdcxx/branches/4.2.x/src/underflow_error.cpp Fri May 22 16:30:22 2009
> @@ -32,6 +32,8 @@
>  
>  _RWSTD_NAMESPACE (std) {
>  
> +#ifdef _RWSTD_NO_UNDERFLOW_ERROR_DTOR
> +
>  // outlined to avoid generating a vtable in each translation unit
>  // that uses the class
>  /* virtual */ underflow_error::
> @@ -40,4 +42,6 @@
>      // no-op
>  }
>  
> +#endif   // _RWSTD_NO_UNDERFLOW_ERROR_DTOR
> +
>  }   // namespace std
> 
> 


Mime
View raw message