commit e0a9ae608b48901cc97efa21ac330c6b0dcf8110
Author: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Date: Wed Dec 3 10:33:44 2014 +0000
[libstdc++][testsuite] Check for programs not fitting into tiny memory models
@@ -19,6 +19,7 @@
load_lib target-supports.exp
load_lib file-format.exp
load_lib target-libpath.exp
+load_lib target-utils.exp
# The default option list can be overridden by
# TORTURE_OPTIONS="{ { list1 } ... { listN } }"
@@ -22,6 +22,7 @@
load_lib target-supports.exp
load_lib fortran-modules.exp
+load_lib target-utils.exp
# Return the list of options to use for fortran torture tests.
# The default option list can be overridden by
@@ -18,6 +18,8 @@ load_lib target-libpath.exp
load_lib wrapper.exp
+load_lib target-utils.exp
+
#
# ${tool}_check_compile -- Reports and returns pass/fail for a compilation
#
@@ -145,34 +147,6 @@ proc ${tool}_exit { } {
unset gluefile
}
}
-
-#
-# ${tool}_check_unsupported_p -- Check the compiler(/assembler/linker) output
-# for text indicating that the testcase should be marked as "unsupported"
-#
-# Utility used by mike-gcc.exp and c-torture.exp.
-# When dealing with a large number of tests, it's difficult to weed out the
-# ones that are too big for a particular cpu (eg: 16 bit with a small amount
-# of memory). There are various ways to deal with this. Here's one.
-# Fortunately, all of the cases where this is likely to happen will be using
-# gld so we can tell what the error text will look like.
-#
-
-proc ${tool}_check_unsupported_p { output } {
- if [regexp "(^|\n)\[^\n\]*: region \[^\n\]* is full" $output] {
- return "memory full"
- }
- if { [regexp "(^|\n)\[^\n\]*: relocation truncated to fit" $output]
- && [check_effective_target_tiny] } {
- return "memory full"
- }
-
- if { [istarget spu-*-*] && \
- [string match "*exceeds local store*" $output] } {
- return "memory full"
- }
- return ""
-}
#
# runtest_file_p -- Provide a definition for older dejagnu releases
@@ -22,6 +22,8 @@
load_lib target-supports.exp
+load_lib target-utils.exp
+
# The default option list can be overridden by
# TORTURE_OPTIONS="{ { list1 } ... { listN } }"
@@ -16,6 +16,8 @@
# This file was written by Mike Stump <mrs@cygnus.com>
+load_lib target-utils.exp
+
#
# mike_cleanup -- remove any files that are created by the testcase
#
@@ -16,6 +16,8 @@
# This file was derived from mike-g++.exp written by Mike Stump <mrs@cygnus.com>
+load_lib target-utils.exp
+
#
# mike_cleanup -- remove any files that are created by the testcase
#
@@ -29,6 +29,7 @@ load_lib prune.exp
load_lib gcc-defs.exp
load_lib timeout.exp
load_lib target-libpath.exp
+load_lib target-utils.exp
#
# OBJC_UNDER_TEST is the compiler under test.
@@ -343,27 +344,6 @@ if { [info procs prune_warnings] == "" } then {
}
}
-# Utility used by mike-gcc.exp and c-torture.exp.
-# Check the compiler(/assembler/linker) output for text indicating that
-# the testcase should be marked as "unsupported".
-#
-# When dealing with a large number of tests, it's difficult to weed out the
-# ones that are too big for a particular cpu (eg: 16 bit with a small amount
-# of memory). There are various ways to deal with this. Here's one.
-# Fortunately, all of the cases where this is likely to happen will be using
-# gld so we can tell what the error text will look like.
-
-proc ${tool}_check_unsupported_p { output } {
- if [regexp "(^|\n)\[^\n\]*: region \[^\n\]* is full" $output] {
- return "memory full"
- }
- if { [regexp "(^|\n)\[^\n\]*: relocation truncated to fit" $output]
- && [check_effective_target_tiny] } {
- return "memory full"
- }
- return ""
-}
-
# Prune messages from objc that aren't useful.
proc prune_objc_output { text } {
new file mode 100644
@@ -0,0 +1,44 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+
+# 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
+# the Free Software Foundation; either version 3 of the License, or
+# (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
+# along with GCC; see the file COPYING3. If not see
+# <http://www.gnu.org/licenses/>.
+
+#
+# ${tool}_check_unsupported_p -- Check the compiler(/assembler/linker) output
+# for text indicating that the testcase should be marked as "unsupported"
+#
+# When dealing with a large number of tests, it's difficult to weed out the
+# ones that are too big for a particular cpu (eg: 16 bit with a small amount
+# of memory). There are various ways to deal with this. Here's one.
+# Fortunately, all of the cases where this is likely to happen will be using
+# gld so we can tell what the error text will look like.
+#
+
+load_lib target-supports.exp
+
+proc ${tool}_check_unsupported_p { output } {
+ if [regexp "(^|\n)\[^\n\]*: region \[^\n\]* is full" $output] {
+ return "memory full"
+ }
+ if { [regexp "(^|\n)\[^\n\]*: relocation truncated to fit" $output]
+ && [check_effective_target_tiny] } {
+ return "memory full"
+ }
+
+ if { [istarget spu-*-*] && \
+ [string match "*exceeds local store*" $output] } {
+ return "memory full"
+ }
+ return ""
+}