diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/special/ecos.exp')
-rw-r--r-- | gcc/testsuite/gcc.dg/special/ecos.exp | 214 |
1 files changed, 0 insertions, 214 deletions
diff --git a/gcc/testsuite/gcc.dg/special/ecos.exp b/gcc/testsuite/gcc.dg/special/ecos.exp deleted file mode 100644 index dc54df6eea1..00000000000 --- a/gcc/testsuite/gcc.dg/special/ecos.exp +++ /dev/null @@ -1,214 +0,0 @@ -# Copyright (C) 1999 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 2 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 this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# jlarmour@cygnus.co.uk - -# This file was written by Jonathan Larmour (jlarmour@cygnus.co.uk). - -# GCC testsuite that uses the `dg.exp' driver. - -# Load support procs. -load_lib gcc-dg.exp - -################################### -# proc gcc_target_object_format { } -################################### - -proc gcc_target_object_format { } { - global gcc_target_object_format_saved - - if [info exists gcc_target_object_format_saved] { - verbose "gcc_target_object_format returning saved $gcc_target_object_format_saved" 2 - return $gcc_target_object_format_saved - } else { - - set objdump_name [find_binutils_prog objdump] - set open_file [open objfmtst.c w] - puts $open_file "void foo(void) { }" - close $open_file - - gcc_target_compile objfmtst.c objfmtst.o object "" - - set output [exec $objdump_name --file-headers objfmtst.o ] - - file delete objfmtst.o - - if ![ regexp "file format (.*)arch" $output dummy objformat ] { - verbose "Could not parse objdump output" 2 - set gcc_target_object_format_saved unknown - } else { - switch -regexp $objformat { - elf { - verbose "gcc_target_object_format returning elf" 2 - set gcc_target_object_format_saved elf - } - ecoff { - verbose "gcc_target_object_format returning ecoff" 2 - set gcc_target_object_format_saved ecoff - } - coff { - verbose "gcc_target_object_format returning coff" 2 - set gcc_target_object_format_saved coff - } - a\.out { - verbose "gcc_target_object_format returning a.out" 2 - set gcc_target_object_format_saved a.out - } - default { - verbose "gcc_target_object_format returning unknown" 2 - set gcc_target_object_format_saved unknown - } - } - } - return $gcc_target_object_format_saved - } -} - -############################### -# proc check_weak_available { } -############################### - -# weak symbols are only supported in some configs/object formats -# this proc returns 1 if they're support, 0 if they're not, or -1 if unsure - -proc check_weak_available { } { - global target_cpu - - # All mips targets should support it - - if { [ string first "mips" $target_cpu ] >= 0 } { - return 1 - } - - # ELF and ECOFF support it. a.out does with gas/gld but may also with - # other linkers, so we should try it - - set objformat [gcc_target_object_format] - - switch $objformat { - elf { return 1 } - ecoff { return 1 } - a.out { return 1 } - unknown { return -1 } - default { return 0 } - } -} - -########## -# weak-1.c -########## - -if { [ check_weak_available ] == 1 } { - dg-init - - set lines [gcc_target_compile "$srcdir/$subdir/weak-1a.c" "weak-1a.o" object ""] - if ![string match "" $lines] then { - fail "weak-1a.o" - } else { - dg-runtest "$srcdir/$subdir/weak-1.c" "weak-1a.o" "" - file delete weak-1a.o - } - dg-finish -} elseif { [ check_weak_available ] == 0 } { - unsupported "weak-1.c" -} else { - unresolved "weak-1.c" -} - -########## -# weak-2.c -########## - -if { [ check_weak_available ] == 1 } { - dg-init - - set lines [gcc_target_compile "$srcdir/$subdir/weak-2a.c" "weak-2a.o" object ""] - if ![string match "" $lines] then { - fail "weak-2a.o" - } else { - set lines [gcc_target_compile "$srcdir/$subdir/weak-2b.c" "weak-2b.o" object ""] - if ![string match "" $lines] then { - fail "weak-2b.o" - } else { - dg-runtest "$srcdir/$subdir/weak-2.c" "weak-2a.o weak-2b.o" "" - file delete weak-2a.o weak-2b.o - } - } - dg-finish -} elseif { [ check_weak_available ] == 0 } { - unsupported "weak-2.c" -} else { - unresolved "weak-2.c" -} - -########### -# alias-1.c -########### - -dg-init -dg-runtest "$srcdir/$subdir/alias-1.c" "" "" -dg-finish - -########### -# wkali-1.c -########### - -dg-init -dg-runtest "$srcdir/$subdir/wkali-1.c" "" "" -dg-finish - -########### -# wkali-2.c -########### - -if { [ check_weak_available ] == 1 } { - dg-init - set lines [gcc_target_compile "$srcdir/$subdir/wkali-2a.c" "wkali-2a.o" object ""] - if ![string match "" $lines] then { - fail "wkali-2a.o" - } else { - set lines [gcc_target_compile "$srcdir/$subdir/wkali-2b.c" "wkali-2b.o" object ""] - if ![string match "" $lines] then { - fail "wkali-2b.o" - } else { - dg-runtest "$srcdir/$subdir/wkali-2.c" "wkali-2a.o wkali-2b.o" "" - file delete wkali-2a.o wkali-2b.o - } - } - dg-finish -} elseif { [ check_weak_available ] == 0 } { - unsupported "wkali-2.c" -} else { - unresolved "wkali-2.c" -} - -########### -# gcsec-1.c -########### - -set ld_output [ exec [ find_ld ] --help ] - -if { [ string first "--gc-sections" $ld_output ] >= 0 } { - - dg-init - dg-runtest "$srcdir/$subdir/gcsec-1.c" "-ffunction-sections -fdata-sections -Wl,--gc-sections" "" - dg-finish -} else { - unsupported "gcsec-1.c" -} - -### EOF ecos.exp |