2004-02-27 23:01:32 +01:00
|
|
|
# Handlers for additional dg-xxx keywords in tests.
|
|
|
|
|
2015-01-05 13:33:28 +01:00
|
|
|
# Copyright (C) 2004-2015 Free Software Foundation, Inc.
|
2004-02-27 23:01:32 +01:00
|
|
|
#
|
|
|
|
# This program is free software; you can redistribute it and/or modify
|
|
|
|
# it under the terms of the GNU General Public License as published by
|
2009-04-09 17:00:19 +02:00
|
|
|
# the Free Software Foundation; either version 3 of the License, or
|
2004-02-27 23:01:32 +01:00
|
|
|
# (at your option) any later version.
|
|
|
|
#
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License
|
2009-04-09 17:00:19 +02:00
|
|
|
# along with this program; see the file COPYING3. If not see
|
|
|
|
# <http://www.gnu.org/licenses/>.
|
2004-02-27 23:01:32 +01:00
|
|
|
|
2007-03-16 11:35:16 +01:00
|
|
|
proc dg-require-c-std { args } {
|
|
|
|
if { ![ check_v3_target_c_std ] } {
|
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
2004-02-27 23:01:32 +01:00
|
|
|
|
2007-03-16 11:35:16 +01:00
|
|
|
proc dg-require-debug-mode { args } {
|
|
|
|
if { ![ check_v3_target_debug_mode ] } {
|
2005-05-18 10:07:32 +02:00
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
2010-11-26 21:29:01 +01:00
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
proc dg-require-profile-mode { args } {
|
|
|
|
if { ![ check_v3_target_profile_mode ] } {
|
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
2005-05-18 10:07:32 +02:00
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
2005-09-01 09:06:05 +02:00
|
|
|
|
2010-10-26 12:22:43 +02:00
|
|
|
proc dg-require-normal-mode { args } {
|
|
|
|
if { ![ check_v3_target_normal_mode ] } {
|
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2007-09-12 00:32:51 +02:00
|
|
|
proc dg-require-parallel-mode { args } {
|
|
|
|
if { ![ check_v3_target_parallel_mode ] } {
|
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2007-03-14 12:37:55 +01:00
|
|
|
proc dg-require-fileio { args } {
|
|
|
|
if { ![ check_v3_target_fileio ] } {
|
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2007-03-16 11:35:16 +01:00
|
|
|
proc dg-require-namedlocale { args } {
|
[multiple changes]
2010-09-15 Paolo Carlini <paolo.carlini@oracle.com>
* doc/xml/manual/prerequisites.xml: Update "C" library locale
information prerequisites.
2010-09-15 François Dumont <francois.cppdevs@free.fr>
* testsuite/lib/libstdc++.exp, dg-options.exp
([check_v3_target_namedlocale]): Take the name of the required locale.
* testsuite/27_io/objects/wchar_t/9520.cc, 11.cc, 13.cc, 10.cc, 12.cc:
Specify locale name to check.
* testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc, 13007-1.cc,
13007-2.cc: Likewise.
* testsuite/27_io/basic_streambuf/imbue/char/9322.cc, 13007-1.cc,
13007-2.cc: Likewise.
* testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
* testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
* testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
Likewise.
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc, 2.cc:
Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc, 9322.cc,
13582-2.cc, 2.cc, 13582-3.cc, 12868.cc, 14975-2.cc, 13007.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc, 13171-4.cc,
9322.cc, 13582-2.cc, 2.cc, 14975-1.cc, 13007.cc, 13171-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc,
11305-2.cc, 11305-3.cc, 11305-4.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc, 1.cc, 2.cc,
3.cc, 11389-1.cc, 4.cc, 11389-2.cc, 5.cc, 11389-3.cc, 11389-4.cc:
Likewise.
* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
* testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
Likewise.
* testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
* testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
Likewise.
* testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
* testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
* testsuite/22_locale/money_put/put/wchar_t/1.cc, 2.cc, 3.cc,
wrapped_locale.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/money_put/put/char/1.cc, 2.cc, 3.cc, 9780-3.cc,
wrapped_locale.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/facet/2.cc: Likewise.
* testsuite/22_locale/collate/hash/wchar_t/2.cc, wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/collate/hash/char/2.cc, wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/collate/compare/wchar_t/1.cc, 2.cc, 3.cc,
wrapped_locale.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/collate/compare/char/1.cc, 2.cc, 3.cc,
wrapped_locale.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/collate/transform/wchar_t/2.cc, 3.cc,
wrapped_locale.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/collate/transform/char/2.cc, 3.cc,
wrapped_locale.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/cons/char/wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/to/char/wrapped_locale.cc, wrapped_env.cc:
Likewise.
* testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/scan/char/wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/widen/wchar_t/2.cc, 3.cc,
wrapped_locale.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/widen/char/wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/narrow/wchar_t/3.cc, wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/is/wchar_t/2.cc,wrapped_locale.cc,
wrapped_env.cc: Likewise
* testsuite/22_locale/ctype/is/char/2.cc, wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/2.cc, 3.cc, 4.cc, 6.cc,
7.cc, 8.cc, wrapped_env.cc, wrapped_locale.cc, 17038.cc: Likewise.
* testsuite/22_locale/time_put/put/char/2.cc, 3.cc, 4.cc, 6.cc,
9780-1.cc, 7.cc, 8.cc, wrapped_env.cc, wrapped_locale.cc, 17038.cc:
Likewise.
* testsuite/22_locale/money_get/get/wchar_t/1.cc, 2.cc, 3.cc, 4.cc,
wrapped_env.cc, 10.cc, 11528.cc, wrapped_locale.cc, 11.cc, 12.cc,
13.cc, 15.cc, 16.cc, 17.cc, 18.cc: Likewise.
* testsuite/22_locale/money_get/get/char/1.cc, 2.cc, 3.cc, 4.cc,
wrapped_env.cc, 10.cc, 11528.cc, wrapped_locale.cc, 11.cc, 12.cc,
13.cc, 15.cc, 16.cc, 17.cc, 18.cc: Likewise
* testsuite/22_locale/num_put/put/wchar_t/1.cc, 3.cc, 5.cc,
wrapped_env.cc, 20914.cc, wrapped_locale.cc, 20909.cc: Likewise.
* testsuite/22_locale/num_put/put/char/1.cc, 3.cc, 5.cc, 9780-2.cc,
wrapped_env.cc, 20914.cc, wrapped_locale.cc, 20909.cc: Likewise.
* testsuite/22_locale/codecvt/unshift/wchar_t/2.cc, wrapped_locale.cc,
3.cc, 4.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc,
wrapped_env.cc: Likewise.
testsuite/22_locale/codecvt/length/wchar_t/2.cc, wrapped_locale.cc,
3.cc, 4.cc, 7.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/length/char/wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc,
wrapped_locale.cc, 3.cc, 4.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/encoding/wchar_t/2.cc, wrapped_locale.cc,
3.cc, 4.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/in/wchar_t/2.cc, wrapped_locale.cc, 3.cc,
4.cc, 7.cc, 8.cc, 9.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/in/char/wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/max_length/wchar_t/2.cc,
wrapped_locale.cc, 3.cc, 4.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/out/wchar_t/2.cc, wrapped_locale.cc,
3.cc, 4.cc, 7.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/out/char/wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise.
* testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc,
wrapped_locale.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/time_get/get_monthname/char/2.cc,
wrapped_locale.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc,
wrapped_locale.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/time_get/get_weekday/char/2.cc, 38081-1.cc,
wrapped_locale.cc, 38081-2.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/time_get/get_date/wchar_t/12750.cc, 26701.cc,
2.cc, wrapped_locale.cc, 4.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/time_get/get_date/char/12750.cc, 26701.cc,
2.cc, wrapped_locale.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/time_get/get_time/wchar_t/1.cc, 2.cc,
wrapped_locale.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/time_get/get_time/char/1.cc, 2.cc,
wrapped_locale.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/1.cc, 3.cc, 5.cc, 6.cc, 9.cc,
wrapped_env.cc, wrapped_locale.cc: Likewise.
* testsuite/22_locale/num_get/get/char/1.cc, 3.cc, 5.cc, 6.cc, 9.cc,
wrapped_env.cc, wrapped_locale.cc: Likewise.
* testsuite/22_locale/locale/cons/38368.cc, 2.cc, 4.cc, 5.cc, 7.cc,
12658_thread-1.cc, 12658_thread-2.cc, 40184.cc, 29217.cc, 38365.cc:
Likewise.
* testsuite/22_locale/locale/global_locale_objects/14071.cc, 2.cc:
Likewise.
* testsuite/22_locale/moneypunct/40712.cc: Likewise.
* testsuite/22_locale/moneypunct/members/wchar_t/2.cc,
wrapped_locale.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/moneypunct/members/char/2.cc, wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
* testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
* testsuite/22_locale/messages/members/char/1.cc, 2.cc,
wrapped_locale.cc, 3.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/numpunct/members/wchar_t/2.cc, wrapped_locale.cc,
wrapped_env.cc: Likewise.
* testsuite/22_locale/numpunct/members/char/2.cc, wrapped_locale.cc,
3.cc, wrapped_env.cc: Likewise.
* testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
From-SVN: r164300
2010-09-15 12:46:39 +02:00
|
|
|
if { ![ check_v3_target_namedlocale [lindex $args 1] ] } {
|
2007-03-14 12:37:55 +01:00
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2005-09-12 06:49:11 +02:00
|
|
|
proc dg-require-sharedlib { args } {
|
|
|
|
if { ![ check_v3_target_sharedlib ] } {
|
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
2005-09-15 20:58:02 +02:00
|
|
|
|
2007-03-16 11:35:16 +01:00
|
|
|
proc dg-require-time { args } {
|
|
|
|
if { ![ check_v3_target_time ] } {
|
2005-09-15 20:58:02 +02:00
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
2007-10-03 19:27:18 +02:00
|
|
|
|
2008-07-08 03:11:18 +02:00
|
|
|
proc dg-require-cstdint { args } {
|
|
|
|
if { ![ check_v3_target_cstdint ] } {
|
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
[multiple changes]
2008-08-23 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/lib/libstdc++.exp (check_v3_target_atomic_builtins): Add.
* testsuite/lib/dg-options.exp (dg-require-atomic-builtins): Likewise.
* testsuite/18_support/exception_ptr/current_exception.cc: Use it.
* testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
* testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
2008-08-23 Sebastian Redl <sebastian.redl@getdesigned.at>
Add (again) exception propagation support as per N2179. Feature is
available only when _GLIBCXX_ATOMIC_BUILTINS_4 is defined.
* libsupc++/exception_ptr.h (exception_ptr, current_exception,
copy_exception, rethrow_exception): New file, implement exception
propagation.
* libsupc++/eh_ptr.cc (exception_ptr, current_exception,
rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
* libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
(__cxa_dependent_exception, __cxa_allocate_dependent_exception,
__cxa_free_dependent_exception, __get_dependent_exception_from_ue,
__GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
__gxx_dependent_exception_class, __get_object_from_ue,
__get_object_from_ambiguous_exception): Add.
(__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
(__is_gxx_exception_class): Handle dependent exceptions.
* libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
* libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
* libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
* libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
* libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
__cxa_free_dependent_exception): Add.
* libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
counting.
* libsupc++/exception: Conditionally include exception_ptr.h.
* libsupc++/Makefile.am: Register new files.
* libsupc++/Makefile.in: Regenerate.
* config/abi/pre/gnu.ver: Add new symbols.
* testsuite/18_support/exception_ptr/current_exception.cc: Test the
core functionality of current_exception().
* testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
core functionality of rethrow_exception().
* testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
exception objects during exception propagation.
From-SVN: r139509
2008-08-23 13:28:30 +02:00
|
|
|
|
2011-03-19 20:49:16 +01:00
|
|
|
proc dg-require-cmath { args } {
|
|
|
|
if { ![ check_v3_target_cmath ] } {
|
2011-03-18 12:48:29 +01:00
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2015-04-22 16:01:02 +02:00
|
|
|
proc dg-require-thread-fence { args } {
|
|
|
|
if { ![ check_v3_target_thread_fence ] } {
|
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
[multiple changes]
2008-08-23 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/lib/libstdc++.exp (check_v3_target_atomic_builtins): Add.
* testsuite/lib/dg-options.exp (dg-require-atomic-builtins): Likewise.
* testsuite/18_support/exception_ptr/current_exception.cc: Use it.
* testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
* testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
2008-08-23 Sebastian Redl <sebastian.redl@getdesigned.at>
Add (again) exception propagation support as per N2179. Feature is
available only when _GLIBCXX_ATOMIC_BUILTINS_4 is defined.
* libsupc++/exception_ptr.h (exception_ptr, current_exception,
copy_exception, rethrow_exception): New file, implement exception
propagation.
* libsupc++/eh_ptr.cc (exception_ptr, current_exception,
rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
* libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
(__cxa_dependent_exception, __cxa_allocate_dependent_exception,
__cxa_free_dependent_exception, __get_dependent_exception_from_ue,
__GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
__gxx_dependent_exception_class, __get_object_from_ue,
__get_object_from_ambiguous_exception): Add.
(__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
(__is_gxx_exception_class): Handle dependent exceptions.
* libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
* libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
* libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
* libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
* libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
__cxa_free_dependent_exception): Add.
* libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
counting.
* libsupc++/exception: Conditionally include exception_ptr.h.
* libsupc++/Makefile.am: Register new files.
* libsupc++/Makefile.in: Regenerate.
* config/abi/pre/gnu.ver: Add new symbols.
* testsuite/18_support/exception_ptr/current_exception.cc: Test the
core functionality of current_exception().
* testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
core functionality of rethrow_exception().
* testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
exception objects during exception propagation.
From-SVN: r139509
2008-08-23 13:28:30 +02:00
|
|
|
proc dg-require-atomic-builtins { args } {
|
|
|
|
if { ![ check_v3_target_atomic_builtins ] } {
|
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
2008-09-03 19:46:09 +02:00
|
|
|
|
|
|
|
proc dg-require-gthreads { args } {
|
|
|
|
if { ![ check_v3_target_gthreads ] } {
|
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
2008-09-13 02:32:37 +02:00
|
|
|
|
2011-10-22 23:31:24 +02:00
|
|
|
proc dg-require-gthreads-timed { args } {
|
|
|
|
if { ![ check_v3_target_gthreads_timed ] } {
|
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2012-11-23 23:11:23 +01:00
|
|
|
proc dg-require-sleep { args } {
|
|
|
|
if { ![ check_v3_target_sleep ] } {
|
2008-09-13 02:32:37 +02:00
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
2008-10-27 16:01:28 +01:00
|
|
|
|
2009-01-15 15:01:04 +01:00
|
|
|
proc dg-require-sched-yield { args } {
|
|
|
|
if { ![ check_v3_target_sched_yield ] } {
|
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2008-10-27 16:01:28 +01:00
|
|
|
proc dg-require-string-conversions { args } {
|
|
|
|
if { ![ check_v3_target_string_conversions ] } {
|
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
2009-07-24 22:55:59 +02:00
|
|
|
|
|
|
|
proc dg-require-swprintf { args } {
|
|
|
|
if { ![ check_v3_target_swprintf ] } {
|
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
2009-09-18 01:54:25 +02:00
|
|
|
|
|
|
|
proc dg-require-binary-io { args } {
|
|
|
|
if { ![ check_v3_target_binary_io ] } {
|
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
2010-01-20 12:57:44 +01:00
|
|
|
|
2011-05-28 19:27:01 +02:00
|
|
|
proc dg-require-nprocs { args } {
|
|
|
|
if { ![ check_v3_target_nprocs ] } {
|
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2012-04-26 00:47:52 +02:00
|
|
|
proc dg-require-static-libstdcxx { args } {
|
|
|
|
if { ![ check_v3_target_static_libstdcxx ] } {
|
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2012-10-09 16:50:19 +02:00
|
|
|
proc dg-require-little-endian { args } {
|
|
|
|
if { ![ check_v3_target_little_endian ] } {
|
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2015-04-30 21:11:52 +02:00
|
|
|
proc dg-require-filesystem-ts { args } {
|
|
|
|
if { ![ check_v3_target_filesystem_ts ] } {
|
|
|
|
upvar dg-do-what dg-do-what
|
|
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2010-01-20 12:57:44 +01:00
|
|
|
proc add_options_for_no_pch { flags } {
|
|
|
|
# This forces any generated and possibly included PCH to be invalid.
|
|
|
|
return "-D__GLIBCXX__=99999999"
|
|
|
|
}
|
2013-03-25 11:47:39 +01:00
|
|
|
|
|
|
|
# Like dg-options, but adds to the default options rather than replacing them.
|
|
|
|
|
|
|
|
proc dg-additional-options { args } {
|
|
|
|
upvar dg-extra-tool-flags extra-tool-flags
|
|
|
|
|
|
|
|
if { [llength $args] > 3 } {
|
|
|
|
error "[lindex $args 0]: too many arguments"
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
if { [llength $args] >= 3 } {
|
|
|
|
switch [dg-process-target [lindex $args 2]] {
|
|
|
|
"S" { eval lappend extra-tool-flags [lindex $args 1] }
|
|
|
|
"N" { }
|
|
|
|
"F" { error "[lindex $args 0]: `xfail' not allowed here" }
|
|
|
|
"P" { error "[lindex $args 0]: `xfail' not allowed here" }
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
eval lappend extra-tool-flags [lindex $args 1]
|
|
|
|
}
|
|
|
|
}
|