diff options
Diffstat (limited to 'gcc_arm/testsuite/gcc.misc-tests')
36 files changed, 0 insertions, 2109 deletions
diff --git a/gcc_arm/testsuite/gcc.misc-tests/Makefile.in b/gcc_arm/testsuite/gcc.misc-tests/Makefile.in deleted file mode 100755 index e6209db..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/Makefile.in +++ /dev/null @@ -1,12 +0,0 @@ -#### host, target, and site specific Makefile frags come in here. - -srcdir = . - -# Nothing to do... -all: - -clean: - -rm -f *.o *.diff *~ *.bad core *.x - -distclean: clean - -rm -f Makefile config.status diff --git a/gcc_arm/testsuite/gcc.misc-tests/acker1.c b/gcc_arm/testsuite/gcc.misc-tests/acker1.c deleted file mode 100755 index 9e77e42..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/acker1.c +++ /dev/null @@ -1,20 +0,0 @@ -int acker(int, int); - -void main() -{ - acker(3,6); - /* */ - exit(0); - /* */ -} - -int -acker(int x,int y) -{ - if (x==0) - return(y+1); - else if (y==0) - return(acker(x-1,1)); - else - return(acker(x-1, acker(x, y-1))); -} diff --git a/gcc_arm/testsuite/gcc.misc-tests/acker1.exp b/gcc_arm/testsuite/gcc.misc-tests/acker1.exp deleted file mode 100755 index 3462d66..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/acker1.exp +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright (C) 1997 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: -# bug-gcc@prep.ai.mit.edu - -global PERF_TEST -if { ![info exists PERF_TEST] || "$PERF_TEST" != "yes" } { - return -} - -load_lib mike-gcc.exp - -prebase -set actions run -set compiler_output "^$" -set program_output "^$" -postbase acker1.c $run $groups diff --git a/gcc_arm/testsuite/gcc.misc-tests/configure.in b/gcc_arm/testsuite/gcc.misc-tests/configure.in deleted file mode 100755 index e4cc69d..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/configure.in +++ /dev/null @@ -1,15 +0,0 @@ -# This file is a shell script fragment that supplies the information -# necessary to tailor a template configure script into the configure -# script appropriate for this directory. For more information, check -# any existing configure script. - -srctrigger=compile.exp -srcname="DejaGnu" - -# per-host: - -# per-target: - -target_makefile_frag=../config/mt-${target_alias} - -# post-target: diff --git a/gcc_arm/testsuite/gcc.misc-tests/dg-1.c b/gcc_arm/testsuite/gcc.misc-tests/dg-1.c deleted file mode 100755 index 319f8a2..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/dg-1.c +++ /dev/null @@ -1,14 +0,0 @@ -/* Test the tester. */ -/* { dg-prms-id 42 } */ -/* { dg-do compile } */ - -main () { return 0; } - -/* { dg-final { if ![file exists dg-1.s] { fail "dg-1.c (compile)"; return; } } } */ - -/* { dg-final { set tmp [grep dg-1.s main line] } } */ -/* { dg-final { if ![string match "" $tmp] \{ } } */ -/* { dg-final { pass "dg-1.c (main function present)" } } */ -/* { dg-final { \} else \{ } } */ -/* { dg-final { fail "dg-1.c (main function not present)" } } */ -/* { dg-final { \} } } */ diff --git a/gcc_arm/testsuite/gcc.misc-tests/dg-10.c b/gcc_arm/testsuite/gcc.misc-tests/dg-10.c deleted file mode 100755 index 6d7b344..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/dg-10.c +++ /dev/null @@ -1,12 +0,0 @@ -/* Test the tester. */ -/* { dg-prms-id 42 } */ -/* { dg-options "-Wall" } */ - -/* FIXME: we want to test dg-lose here. Anyone know of a good way to - crash the compiler? */ - -int -main (int argc, char *argv[]) -{ - return 0; -} diff --git a/gcc_arm/testsuite/gcc.misc-tests/dg-11.c b/gcc_arm/testsuite/gcc.misc-tests/dg-11.c deleted file mode 100755 index e4f86ba..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/dg-11.c +++ /dev/null @@ -1,9 +0,0 @@ -/* Test the tester. */ -/* { dg-prms-id 42 } */ -/* { dg-do run { target sparc-sun-solaris2* } } */ -/* The \n is left out of the pattern because tcl's exec will remove it. */ -/* { dg-output {^Hello world[.]$} } */ - -#include <stdio.h> - -main () { printf ("Hello world.\n"); return 0; } diff --git a/gcc_arm/testsuite/gcc.misc-tests/dg-12.c b/gcc_arm/testsuite/gcc.misc-tests/dg-12.c deleted file mode 100755 index ad0870d..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/dg-12.c +++ /dev/null @@ -1,9 +0,0 @@ -/* Test the tester. */ -/* { dg-prms-id 42 } */ -/* { dg-do run { target foo-bar-eh } } */ -/* The \n is left out of the pattern because tcl's exec will remove it. */ -/* { dg-output {^Hello world[.]$} } */ - -#include <stdio.h> - -main () { printf ("Hello world.\n"); return 0; } diff --git a/gcc_arm/testsuite/gcc.misc-tests/dg-2.c b/gcc_arm/testsuite/gcc.misc-tests/dg-2.c deleted file mode 100755 index bb40387..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/dg-2.c +++ /dev/null @@ -1,11 +0,0 @@ -/* Test the tester. */ -/* { dg-prms-id 42 } */ -/* { dg-do assemble } */ - -main () { return 0; } - -/* { dg-final { if [file exists dg-2.o] \{ } } */ -/* { dg-final { pass "dg-2.c (assemble: produce .o test)" } } */ -/* { dg-final { \} else \{ } } */ -/* { dg-final { fail "dg-2.c (assemble: produce .o test)" } } */ -/* { dg-final { \} } } */ diff --git a/gcc_arm/testsuite/gcc.misc-tests/dg-3.c b/gcc_arm/testsuite/gcc.misc-tests/dg-3.c deleted file mode 100755 index 017ab27..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/dg-3.c +++ /dev/null @@ -1,11 +0,0 @@ -/* Test the tester. */ -/* { dg-prms-id 42 } */ -/* { dg-do link } */ - -main () { return 0; } - -/* { dg-final { if [file exists a.out] \{ } } */ -/* { dg-final { pass "dg-2.c (link: produce a.out test)" } } */ -/* { dg-final { \} else \{ } } */ -/* { dg-final { fail "dg-2.c (link: produce a.out test)" } } */ -/* { dg-final { \} } } */ diff --git a/gcc_arm/testsuite/gcc.misc-tests/dg-4.c b/gcc_arm/testsuite/gcc.misc-tests/dg-4.c deleted file mode 100755 index 806bdfb..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/dg-4.c +++ /dev/null @@ -1,5 +0,0 @@ -/* Test the tester. */ -/* { dg-prms-id 42 } */ -/* { dg-do run } */ - -main () { return 0; } diff --git a/gcc_arm/testsuite/gcc.misc-tests/dg-5.c b/gcc_arm/testsuite/gcc.misc-tests/dg-5.c deleted file mode 100755 index 33a5b4e..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/dg-5.c +++ /dev/null @@ -1,9 +0,0 @@ -/* Test the tester. */ -/* { dg-prms-id 42 } */ -/* { dg-do run } */ -/* The \n is left out of the pattern because tcl's exec will remove it. */ -/* { dg-output {^Hello world[.]$} } */ - -#include <stdio.h> - -main () { printf ("Hello world.\n"); return 0; } diff --git a/gcc_arm/testsuite/gcc.misc-tests/dg-6.c b/gcc_arm/testsuite/gcc.misc-tests/dg-6.c deleted file mode 100755 index f9273f8..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/dg-6.c +++ /dev/null @@ -1,9 +0,0 @@ -/* Test the tester. */ -/* { dg-prms-id 42 } */ -/* { dg-do run { target *-*-* } } */ -/* The \n is left out of the pattern because tcl's exec will remove it. */ -/* { dg-output {^Hello world[.]$} { xfail *-*-* } } */ - -#include <stdio.h> - -main () { printf ("Hello world (oops).\n"); return 0; } diff --git a/gcc_arm/testsuite/gcc.misc-tests/dg-7.c b/gcc_arm/testsuite/gcc.misc-tests/dg-7.c deleted file mode 100755 index 068749f..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/dg-7.c +++ /dev/null @@ -1,5 +0,0 @@ -/* Test the tester. */ -/* { dg-prms-id 42 } */ -/* { dg-do run { xfail *-*-* } } */ - -main () { abort (); return 0; } diff --git a/gcc_arm/testsuite/gcc.misc-tests/dg-8.c b/gcc_arm/testsuite/gcc.misc-tests/dg-8.c deleted file mode 100755 index 63a5b0e..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/dg-8.c +++ /dev/null @@ -1,9 +0,0 @@ -/* Test the tester. */ -/* { dg-prms-id 42 } */ -/* { dg-options "-Wall" } */ -/* { dg-do run } */ -/* { dg-excess-errors "excess errors" } */ - -/* should get warning about defaulting return type - excess error */ - -main () { return 0; } diff --git a/gcc_arm/testsuite/gcc.misc-tests/dg-9.c b/gcc_arm/testsuite/gcc.misc-tests/dg-9.c deleted file mode 100755 index 43b7ab3..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/dg-9.c +++ /dev/null @@ -1,15 +0,0 @@ -/* Test the tester. */ -/* { dg-prms-id 42 } */ -/* { dg-options "-Wall" } */ - -f () -{ /* { dg-warning "return-type" "warning test" } */ -} /* { dg-warning "control reaches end" "warning test" } */ - -main (int argc, char *argv[]) -{ /* { dg-warning "return-type" "warning test" } */ - foo a; /* { dg-error "syntax" "error test" } */ - /* { dg-bogus "foobar" "bogus fail test" } */ - - return a; /* { dg-bogus "undeclared|identifier|appears" "bogus pass test" { xfail *-*-* } } */ -} /* { dg-warning "control reaches end" "warning test" } */ diff --git a/gcc_arm/testsuite/gcc.misc-tests/dg-test.exp b/gcc_arm/testsuite/gcc.misc-tests/dg-test.exp deleted file mode 100755 index 4236425..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/dg-test.exp +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright (C) 1997 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: -# bug-gcc@prep.ai.mit.edu - -# Test the dg.exp driver. -# This is a testsuite tester tester. As such we *want* to test things like -# expected failure handling. But expected failures must continually be -# monitored and so in the normal case we create unnecessary work. So only -# run these tests if DG_TEST is defined to "yes". - -global DG_TEST -if { ![info exists DG_TEST] || "$DG_TEST" != "yes" } { - return -} - -# Load support procs. -load_lib gcc-dg.exp - -# Initialize harness. -dg-init - -# Main loop. -dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/dg-*.c]] "" "" - -# All done. -dg-finish diff --git a/gcc_arm/testsuite/gcc.misc-tests/dhry.c b/gcc_arm/testsuite/gcc.misc-tests/dhry.c deleted file mode 100755 index ae29a69..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/dhry.c +++ /dev/null @@ -1,602 +0,0 @@ -/* - **************************************************************************** - * - * "DHRYSTONE" Benchmark Program - * ----------------------------- - * - * Version: C, Version 2.1 - * - * File: dhry_1.c (part 2 of 3) - * - * Date: May 25, 1988 - * - * Author: Reinhold P. Weicker - * - **************************************************************************** - */ - -#include "dhry.h" - -/* Global Variables: */ - -Rec_Pointer Ptr_Glob, - Next_Ptr_Glob; -int Int_Glob; -Boolean Bool_Glob; -char Ch_1_Glob, - Ch_2_Glob; -int Arr_1_Glob [50]; -int Arr_2_Glob [50] [50]; - -extern char *malloc (); -Enumeration Func_1 (); - /* forward declaration necessary since Enumeration may not simply be int */ - -#ifndef REG - Boolean Reg = false; -#define REG - /* REG becomes defined as empty */ - /* i.e. no register variables */ -#else - Boolean Reg = true; -#endif - -/* variables for time measurement: */ - -/* -#ifdef TIMES -struct tms time_info; -extern int times (); -#endif -*/ -/* -#ifdef TIME -extern long time(); -#endif -*/ -#define Too_Small_Time 2 - /* Measurements should last at least 2 seconds */ - -long Begin_Time, - End_Time, - User_Time; -float Microseconds, - Dhrystones_Per_Second; - -/* end of variables for time measurement */ - - -main () -/*****/ - - /* main program, corresponds to procedures */ - /* Main and Proc_0 in the Ada version */ -{ - One_Fifty Int_1_Loc; - REG One_Fifty Int_2_Loc; - One_Fifty Int_3_Loc; - REG char Ch_Index; - Enumeration Enum_Loc; - Str_30 Str_1_Loc; - Str_30 Str_2_Loc; - REG int Run_Index; - REG int Number_Of_Runs; - - /* Initializations */ - - Next_Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); - Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); - - Ptr_Glob->Ptr_Comp = Next_Ptr_Glob; - Ptr_Glob->Discr = Ident_1; - Ptr_Glob->variant.var_1.Enum_Comp = Ident_3; - Ptr_Glob->variant.var_1.Int_Comp = 40; - strcpy (Ptr_Glob->variant.var_1.Str_Comp, - "DHRYSTONE PROGRAM, SOME STRING"); - strcpy (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING"); - - Arr_2_Glob [8][7] = 10; - /* Was missing in published program. Without this statement, */ - /* Arr_2_Glob [8][7] would have an undefined value. */ - /* Warning: With 16-Bit processors and Number_Of_Runs > 32000, */ - /* overflow may occur for this array element. */ - -/* - printf ("\n"); - printf ("Dhrystone Benchmark, Version 2.1 (Language: C)\n"); - printf ("\n"); -*/ - if (Reg) - { -/* - printf ("Program compiled with 'register' attribute\n"); - printf ("\n"); -*/ - } - else - { -/* - printf ("Program compiled without 'register' attribute\n"); - printf ("\n"); -*/ - } -/* - printf ("Please give the number of runs through the benchmark: "); -*/ - { - int n; -/* - scanf ("%d", &n); -*/ - Number_Of_Runs = n=1000; - } -/* - printf ("\n"); - - printf ("Execution starts, %d runs through Dhrystone\n", Number_Of_Runs); -*/ - - /***************/ - /* Start timer */ - /***************/ - -/* -#ifdef TIMES - times (&time_info); - Begin_Time = (long) time_info.tms_utime; -#endif -#ifdef TIME - Begin_Time = time ( (long *) 0); -#endif -*/ - - for (Run_Index = 1; Run_Index <= Number_Of_Runs; ++Run_Index) - { - - Proc_5(); - Proc_4(); - /* Ch_1_Glob == 'A', Ch_2_Glob == 'B', Bool_Glob == true */ - Int_1_Loc = 2; - Int_2_Loc = 3; - strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); - Enum_Loc = Ident_2; - Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc); - /* Bool_Glob == 1 */ - while (Int_1_Loc < Int_2_Loc) /* loop body executed once */ - { - Int_3_Loc = 5 * Int_1_Loc - Int_2_Loc; - /* Int_3_Loc == 7 */ - Proc_7 (Int_1_Loc, Int_2_Loc, &Int_3_Loc); - /* Int_3_Loc == 7 */ - Int_1_Loc += 1; - } /* while */ - /* Int_1_Loc == 3, Int_2_Loc == 3, Int_3_Loc == 7 */ - Proc_8 (Arr_1_Glob, Arr_2_Glob, Int_1_Loc, Int_3_Loc); - /* Int_Glob == 5 */ - Proc_1 (Ptr_Glob); - for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) - /* loop body executed twice */ - { - if (Enum_Loc == Func_1 (Ch_Index, 'C')) - /* then, not executed */ - { - Proc_6 (Ident_1, &Enum_Loc); - strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING"); - Int_2_Loc = Run_Index; - Int_Glob = Run_Index; - } - } - /* Int_1_Loc == 3, Int_2_Loc == 3, Int_3_Loc == 7 */ - Int_2_Loc = Int_2_Loc * Int_1_Loc; - Int_1_Loc = Int_2_Loc / Int_3_Loc; - Int_2_Loc = 7 * (Int_2_Loc - Int_3_Loc) - Int_1_Loc; - /* Int_1_Loc == 1, Int_2_Loc == 13, Int_3_Loc == 7 */ - Proc_2 (&Int_1_Loc); - /* Int_1_Loc == 5 */ - - } /* loop "for Run_Index" */ - - /**************/ - /* Stop timer */ - /**************/ - -/* -#ifdef TIMES - times (&time_info); - End_Time = (long) time_info.tms_utime; -#endif -#ifdef TIME - End_Time = time ( (long *) 0); -#endif -*/ - -/* - printf ("Execution ends\n"); - printf ("\n"); - printf ("Final values of the variables used in the benchmark:\n"); - printf ("\n"); - printf ("Int_Glob: %d\n", Int_Glob); - printf (" should be: %d\n", 5); - printf ("Bool_Glob: %d\n", Bool_Glob); - printf (" should be: %d\n", 1); - printf ("Ch_1_Glob: %c\n", Ch_1_Glob); - printf (" should be: %c\n", 'A'); - printf ("Ch_2_Glob: %c\n", Ch_2_Glob); - printf (" should be: %c\n", 'B'); - printf ("Arr_1_Glob[8]: %d\n", Arr_1_Glob[8]); - printf (" should be: %d\n", 7); - printf ("Arr_2_Glob[8][7]: %d\n", Arr_2_Glob[8][7]); - printf (" should be: Number_Of_Runs + 10\n"); - printf ("Ptr_Glob->\n"); - printf (" Ptr_Comp: %d\n", (int) Ptr_Glob->Ptr_Comp); - printf (" should be: (implementation-dependent)\n"); - printf (" Discr: %d\n", Ptr_Glob->Discr); - printf (" should be: %d\n", 0); - printf (" Enum_Comp: %d\n", Ptr_Glob->variant.var_1.Enum_Comp); - printf (" should be: %d\n", 2); - printf (" Int_Comp: %d\n", Ptr_Glob->variant.var_1.Int_Comp); - printf (" should be: %d\n", 17); - printf (" Str_Comp: %s\n", Ptr_Glob->variant.var_1.Str_Comp); - printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n"); - printf ("Next_Ptr_Glob->\n"); - printf (" Ptr_Comp: %d\n", (int) Next_Ptr_Glob->Ptr_Comp); - printf (" should be: (implementation-dependent), same as above\n"); - printf (" Discr: %d\n", Next_Ptr_Glob->Discr); - printf (" should be: %d\n", 0); - printf (" Enum_Comp: %d\n", Next_Ptr_Glob->variant.var_1.Enum_Comp); - printf (" should be: %d\n", 1); - printf (" Int_Comp: %d\n", Next_Ptr_Glob->variant.var_1.Int_Comp); - printf (" should be: %d\n", 18); - printf (" Str_Comp: %s\n", - Next_Ptr_Glob->variant.var_1.Str_Comp); - printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n"); - printf ("Int_1_Loc: %d\n", Int_1_Loc); - printf (" should be: %d\n", 5); - printf ("Int_2_Loc: %d\n", Int_2_Loc); - printf (" should be: %d\n", 13); - printf ("Int_3_Loc: %d\n", Int_3_Loc); - printf (" should be: %d\n", 7); - printf ("Enum_Loc: %d\n", Enum_Loc); - printf (" should be: %d\n", 1); - printf ("Str_1_Loc: %s\n", Str_1_Loc); - printf (" should be: DHRYSTONE PROGRAM, 1'ST STRING\n"); - printf ("Str_2_Loc: %s\n", Str_2_Loc); - printf (" should be: DHRYSTONE PROGRAM, 2'ND STRING\n"); - printf ("\n"); -*/ - - User_Time = End_Time - Begin_Time; - - if (User_Time < Too_Small_Time) - { -/* - printf ("Measured time too small to obtain meaningful results\n"); - printf ("Please increase number of runs\n"); - printf ("\n"); -*/ - } - else - { -#ifdef TIME -/* - Microseconds = (float) User_Time * Mic_secs_Per_Second - / (float) Number_Of_Runs; - Dhrystones_Per_Second = (float) Number_Of_Runs / (float) User_Time; -*/ -#else -/* - Microseconds = (float) User_Time * Mic_secs_Per_Second - / ((float) HZ * ((float) Number_Of_Runs)); - Dhrystones_Per_Second = ((float) HZ * (float) Number_Of_Runs) - / (float) User_Time; -*/ -#endif -/* - printf ("Microseconds for one run through Dhrystone: "); - printf ("%6.1f \n", Microseconds); - printf ("Dhrystones per Second: "); - printf ("%6.1f \n", Dhrystones_Per_Second); - printf ("\n"); -*/ - } - - exit (0); -} - - -Proc_1 (Ptr_Val_Par) -/******************/ - -REG Rec_Pointer Ptr_Val_Par; - /* executed once */ -{ - REG Rec_Pointer Next_Record = Ptr_Val_Par->Ptr_Comp; - /* == Ptr_Glob_Next */ - /* Local variable, initialized with Ptr_Val_Par->Ptr_Comp, */ - /* corresponds to "rename" in Ada, "with" in Pascal */ - - structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); - Ptr_Val_Par->variant.var_1.Int_Comp = 5; - Next_Record->variant.var_1.Int_Comp - = Ptr_Val_Par->variant.var_1.Int_Comp; - Next_Record->Ptr_Comp = Ptr_Val_Par->Ptr_Comp; - Proc_3 (&Next_Record->Ptr_Comp); - /* Ptr_Val_Par->Ptr_Comp->Ptr_Comp - == Ptr_Glob->Ptr_Comp */ - if (Next_Record->Discr == Ident_1) - /* then, executed */ - { - Next_Record->variant.var_1.Int_Comp = 6; - Proc_6 (Ptr_Val_Par->variant.var_1.Enum_Comp, - &Next_Record->variant.var_1.Enum_Comp); - Next_Record->Ptr_Comp = Ptr_Glob->Ptr_Comp; - Proc_7 (Next_Record->variant.var_1.Int_Comp, 10, - &Next_Record->variant.var_1.Int_Comp); - } - else /* not executed */ - structassign (*Ptr_Val_Par, *Ptr_Val_Par->Ptr_Comp); -} /* Proc_1 */ - - -Proc_2 (Int_Par_Ref) -/******************/ - /* executed once */ - /* *Int_Par_Ref == 1, becomes 4 */ - -One_Fifty *Int_Par_Ref; -{ - One_Fifty Int_Loc; - Enumeration Enum_Loc; - - Int_Loc = *Int_Par_Ref + 10; - do /* executed once */ - if (Ch_1_Glob == 'A') - /* then, executed */ - { - Int_Loc -= 1; - *Int_Par_Ref = Int_Loc - Int_Glob; - Enum_Loc = Ident_1; - } /* if */ - while (Enum_Loc != Ident_1); /* true */ -} /* Proc_2 */ - - -Proc_3 (Ptr_Ref_Par) -/******************/ - /* executed once */ - /* Ptr_Ref_Par becomes Ptr_Glob */ - -Rec_Pointer *Ptr_Ref_Par; - -{ - if (Ptr_Glob != Null) - /* then, executed */ - *Ptr_Ref_Par = Ptr_Glob->Ptr_Comp; - Proc_7 (10, Int_Glob, &Ptr_Glob->variant.var_1.Int_Comp); -} /* Proc_3 */ - - -Proc_4 () /* without parameters */ -/*******/ - /* executed once */ -{ - Boolean Bool_Loc; - - Bool_Loc = Ch_1_Glob == 'A'; - Bool_Glob = Bool_Loc | Bool_Glob; - Ch_2_Glob = 'B'; -} /* Proc_4 */ - - -Proc_5 () /* without parameters */ -/*******/ - /* executed once */ -{ - Ch_1_Glob = 'A'; - Bool_Glob = false; -} /* Proc_5 */ - - - /* Procedure for the assignment of structures, */ - /* if the C compiler doesn't support this feature */ -#ifdef NOSTRUCTASSIGN -memcpy (d, s, l) -register char *d; -register char *s; -register int l; -{ - while (l--) *d++ = *s++; -} -#endif - - -/* - **************************************************************************** - * - * "DHRYSTONE" Benchmark Program - * ----------------------------- - * - * Version: C, Version 2.1 - * - * File: dhry_2.c (part 3 of 3) - * - * Date: May 25, 1988 - * - * Author: Reinhold P. Weicker - * - **************************************************************************** - */ - -#ifndef REG -#define REG - /* REG becomes defined as empty */ - /* i.e. no register variables */ -#endif - -extern int Int_Glob; -extern char Ch_1_Glob; - - -Proc_6 (Enum_Val_Par, Enum_Ref_Par) -/*********************************/ - /* executed once */ - /* Enum_Val_Par == Ident_3, Enum_Ref_Par becomes Ident_2 */ - -Enumeration Enum_Val_Par; -Enumeration *Enum_Ref_Par; -{ - *Enum_Ref_Par = Enum_Val_Par; - if (! Func_3 (Enum_Val_Par)) - /* then, not executed */ - *Enum_Ref_Par = Ident_4; - switch (Enum_Val_Par) - { - case Ident_1: - *Enum_Ref_Par = Ident_1; - break; - case Ident_2: - if (Int_Glob > 100) - /* then */ - *Enum_Ref_Par = Ident_1; - else *Enum_Ref_Par = Ident_4; - break; - case Ident_3: /* executed */ - *Enum_Ref_Par = Ident_2; - break; - case Ident_4: break; - case Ident_5: - *Enum_Ref_Par = Ident_3; - break; - } /* switch */ -} /* Proc_6 */ - - -Proc_7 (Int_1_Par_Val, Int_2_Par_Val, Int_Par_Ref) -/**********************************************/ - /* executed three times */ - /* first call: Int_1_Par_Val == 2, Int_2_Par_Val == 3, */ - /* Int_Par_Ref becomes 7 */ - /* second call: Int_1_Par_Val == 10, Int_2_Par_Val == 5, */ - /* Int_Par_Ref becomes 17 */ - /* third call: Int_1_Par_Val == 6, Int_2_Par_Val == 10, */ - /* Int_Par_Ref becomes 18 */ -One_Fifty Int_1_Par_Val; -One_Fifty Int_2_Par_Val; -One_Fifty *Int_Par_Ref; -{ - One_Fifty Int_Loc; - - Int_Loc = Int_1_Par_Val + 2; - *Int_Par_Ref = Int_2_Par_Val + Int_Loc; -} /* Proc_7 */ - - -Proc_8 (Arr_1_Par_Ref, Arr_2_Par_Ref, Int_1_Par_Val, Int_2_Par_Val) -/*********************************************************************/ - /* executed once */ - /* Int_Par_Val_1 == 3 */ - /* Int_Par_Val_2 == 7 */ -Arr_1_Dim Arr_1_Par_Ref; -Arr_2_Dim Arr_2_Par_Ref; -int Int_1_Par_Val; -int Int_2_Par_Val; -{ - REG One_Fifty Int_Index; - REG One_Fifty Int_Loc; - - Int_Loc = Int_1_Par_Val + 5; - Arr_1_Par_Ref [Int_Loc] = Int_2_Par_Val; - Arr_1_Par_Ref [Int_Loc+1] = Arr_1_Par_Ref [Int_Loc]; - Arr_1_Par_Ref [Int_Loc+30] = Int_Loc; - for (Int_Index = Int_Loc; Int_Index <= Int_Loc+1; ++Int_Index) - Arr_2_Par_Ref [Int_Loc] [Int_Index] = Int_Loc; - Arr_2_Par_Ref [Int_Loc] [Int_Loc-1] += 1; - Arr_2_Par_Ref [Int_Loc+20] [Int_Loc] = Arr_1_Par_Ref [Int_Loc]; - Int_Glob = 5; -} /* Proc_8 */ - - -Enumeration Func_1 (Ch_1_Par_Val, Ch_2_Par_Val) -/*************************************************/ - /* executed three times */ - /* first call: Ch_1_Par_Val == 'H', Ch_2_Par_Val == 'R' */ - /* second call: Ch_1_Par_Val == 'A', Ch_2_Par_Val == 'C' */ - /* third call: Ch_1_Par_Val == 'B', Ch_2_Par_Val == 'C' */ - -Capital_Letter Ch_1_Par_Val; -Capital_Letter Ch_2_Par_Val; -{ - Capital_Letter Ch_1_Loc; - Capital_Letter Ch_2_Loc; - - Ch_1_Loc = Ch_1_Par_Val; - Ch_2_Loc = Ch_1_Loc; - if (Ch_2_Loc != Ch_2_Par_Val) - /* then, executed */ - return (Ident_1); - else /* not executed */ - { - Ch_1_Glob = Ch_1_Loc; - return (Ident_2); - } -} /* Func_1 */ - - -Boolean Func_2 (Str_1_Par_Ref, Str_2_Par_Ref) -/*************************************************/ - /* executed once */ - /* Str_1_Par_Ref == "DHRYSTONE PROGRAM, 1'ST STRING" */ - /* Str_2_Par_Ref == "DHRYSTONE PROGRAM, 2'ND STRING" */ - -Str_30 Str_1_Par_Ref; -Str_30 Str_2_Par_Ref; -{ - REG One_Thirty Int_Loc; - Capital_Letter Ch_Loc; - - Int_Loc = 2; - while (Int_Loc <= 2) /* loop body executed once */ - if (Func_1 (Str_1_Par_Ref[Int_Loc], - Str_2_Par_Ref[Int_Loc+1]) == Ident_1) - /* then, executed */ - { - Ch_Loc = 'A'; - Int_Loc += 1; - } /* if, while */ - if (Ch_Loc >= 'W' && Ch_Loc < 'Z') - /* then, not executed */ - Int_Loc = 7; - if (Ch_Loc == 'R') - /* then, not executed */ - return (true); - else /* executed */ - { - if (strcmp (Str_1_Par_Ref, Str_2_Par_Ref) > 0) - /* then, not executed */ - { - Int_Loc += 7; - Int_Glob = Int_Loc; - return (true); - } - else /* executed */ - return (false); - } /* if Ch_Loc */ -} /* Func_2 */ - - -Boolean Func_3 (Enum_Par_Val) -/***************************/ - /* executed once */ - /* Enum_Par_Val == Ident_3 */ -Enumeration Enum_Par_Val; -{ - Enumeration Enum_Loc; - - Enum_Loc = Enum_Par_Val; - if (Enum_Loc == Ident_3) - /* then, executed */ - return (true); - else /* not executed */ - return (false); -} /* Func_3 */ - diff --git a/gcc_arm/testsuite/gcc.misc-tests/dhry.exp b/gcc_arm/testsuite/gcc.misc-tests/dhry.exp deleted file mode 100755 index 890f250..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/dhry.exp +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright (C) 1997 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: -# bug-gcc@prep.ai.mit.edu - -global PERF_TEST -if { ![info exists PERF_TEST] || "$PERF_TEST" != "yes" } { - return -} - -load_lib mike-gcc.exp - -prebase -set actions run -set compiler_output "^$" -set program_output "^$" -postbase dhry.c $run $groups diff --git a/gcc_arm/testsuite/gcc.misc-tests/dhry.h b/gcc_arm/testsuite/gcc.misc-tests/dhry.h deleted file mode 100755 index 8d42da0..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/dhry.h +++ /dev/null @@ -1,431 +0,0 @@ -/* - **************************************************************************** - * - * "DHRYSTONE" Benchmark Program - * ----------------------------- - * - * Version: C, Version 2.1 - * - * File: dhry.h (part 1 of 3) - * - * Date: May 25, 1988 - * - * Author: Reinhold P. Weicker - * Siemens AG, AUT E 51 - * Postfach 3220 - * 8520 Erlangen - * Germany (West) - * Phone: [+49]-9131-7-20330 - * (8-17 Central European Time) - * Usenet: ..!mcsun!unido!estevax!weicker - * - * Original Version (in Ada) published in - * "Communications of the ACM" vol. 27., no. 10 (Oct. 1984), - * pp. 1013 - 1030, together with the statistics - * on which the distribution of statements etc. is based. - * - * In this C version, the following C library functions are used: - * - strcpy, strcmp (inside the measurement loop) - * - printf, scanf (outside the measurement loop) - * In addition, Berkeley UNIX system calls "times ()" or "time ()" - * are used for execution time measurement. For measurements - * on other systems, these calls have to be changed. - * - * Collection of Results: - * Reinhold Weicker (address see above) and - * - * Rick Richardson - * PC Research. Inc. - * 94 Apple Orchard Drive - * Tinton Falls, NJ 07724 - * Phone: (201) 389-8963 (9-17 EST) - * Usenet: ...!uunet!pcrat!rick - * - * Please send results to Rick Richardson and/or Reinhold Weicker. - * Complete information should be given on hardware and software used. - * Hardware information includes: Machine type, CPU, type and size - * of caches; for microprocessors: clock frequency, memory speed - * (number of wait states). - * Software information includes: Compiler (and runtime library) - * manufacturer and version, compilation switches, OS version. - * The Operating System version may give an indication about the - * compiler; Dhrystone itself performs no OS calls in the measurement loop. - * - * The complete output generated by the program should be mailed - * such that at least some checks for correctness can be made. - * - *************************************************************************** - * - * History: This version C/2.1 has been made for two reasons: - * - * 1) There is an obvious need for a common C version of - * Dhrystone, since C is at present the most popular system - * programming language for the class of processors - * (microcomputers, minicomputers) where Dhrystone is used most. - * There should be, as far as possible, only one C version of - * Dhrystone such that results can be compared without - * restrictions. In the past, the C versions distributed - * by Rick Richardson (Version 1.1) and by Reinhold Weicker - * had small (though not significant) differences. - * - * 2) As far as it is possible without changes to the Dhrystone - * statistics, optimizing compilers should be prevented from - * removing significant statements. - * - * This C version has been developed in cooperation with - * Rick Richardson (Tinton Falls, NJ), it incorporates many - * ideas from the "Version 1.1" distributed previously by - * him over the UNIX network Usenet. - * I also thank Chaim Benedelac (National Semiconductor), - * David Ditzel (SUN), Earl Killian and John Mashey (MIPS), - * Alan Smith and Rafael Saavedra-Barrera (UC at Berkeley) - * for their help with comments on earlier versions of the - * benchmark. - * - * Changes: In the initialization part, this version follows mostly - * Rick Richardson's version distributed via Usenet, not the - * version distributed earlier via floppy disk by Reinhold Weicker. - * As a concession to older compilers, names have been made - * unique within the first 8 characters. - * Inside the measurement loop, this version follows the - * version previously distributed by Reinhold Weicker. - * - * At several places in the benchmark, code has been added, - * but within the measurement loop only in branches that - * are not executed. The intention is that optimizing compilers - * should be prevented from moving code out of the measurement - * loop, or from removing code altogether. Since the statements - * that are executed within the measurement loop have NOT been - * changed, the numbers defining the "Dhrystone distribution" - * (distribution of statements, operand types and locality) - * still hold. Except for sophisticated optimizing compilers, - * execution times for this version should be the same as - * for previous versions. - * - * Since it has proven difficult to subtract the time for the - * measurement loop overhead in a correct way, the loop check - * has been made a part of the benchmark. This does have - * an impact - though a very minor one - on the distribution - * statistics which have been updated for this version. - * - * All changes within the measurement loop are described - * and discussed in the companion paper "Rationale for - * Dhrystone version 2". - * - * Because of the self-imposed limitation that the order and - * distribution of the executed statements should not be - * changed, there are still cases where optimizing compilers - * may not generate code for some statements. To a certain - * degree, this is unavoidable for small synthetic benchmarks. - * Users of the benchmark are advised to check code listings - * whether code is generated for all statements of Dhrystone. - * - * Version 2.1 is identical to version 2.0 distributed via - * the UNIX network Usenet in March 1988 except that it corrects - * some minor deficiencies that were found by users of version 2.0. - * The only change within the measurement loop is that a - * non-executed "else" part was added to the "if" statement in - * Func_3, and a non-executed "else" part removed from Proc_3. - * - *************************************************************************** - * - * Defines: The following "Defines" are possible: - * -DREG=register (default: Not defined) - * As an approximation to what an average C programmer - * might do, the "register" storage class is applied - * (if enabled by -DREG=register) - * - for local variables, if they are used (dynamically) - * five or more times - * - for parameters if they are used (dynamically) - * six or more times - * Note that an optimal "register" strategy is - * compiler-dependent, and that "register" declarations - * do not necessarily lead to faster execution. - * -DNOSTRUCTASSIGN (default: Not defined) - * Define if the C compiler does not support - * assignment of structures. - * -DNOENUMS (default: Not defined) - * Define if the C compiler does not support - * enumeration types. - * -DTIMES (default) - * -DTIME - * The "times" function of UNIX (returning process times) - * or the "time" function (returning wallclock time) - * is used for measurement. - * For single user machines, "time ()" is adequate. For - * multi-user machines where you cannot get single-user - * access, use the "times ()" function. If you have - * neither, use a stopwatch in the dead of night. - * "printf"s are provided marking the points "Start Timer" - * and "Stop Timer". DO NOT use the UNIX "time(1)" - * command, as this will measure the total time to - * run this program, which will (erroneously) include - * the time to allocate storage (malloc) and to perform - * the initialization. - * -DHZ=nnn - * In Berkeley UNIX, the function "times" returns process - * time in 1/HZ seconds, with HZ = 60 for most systems. - * CHECK YOUR SYSTEM DESCRIPTION BEFORE YOU JUST APPLY - * A VALUE. - * - *************************************************************************** - * - * Compilation model and measurement (IMPORTANT): - * - * This C version of Dhrystone consists of three files: - * - dhry.h (this file, containing global definitions and comments) - * - dhry_1.c (containing the code corresponding to Ada package Pack_1) - * - dhry_2.c (containing the code corresponding to Ada package Pack_2) - * - * The following "ground rules" apply for measurements: - * - Separate compilation - * - No procedure merging - * - Otherwise, compiler optimizations are allowed but should be indicated - * - Default results are those without register declarations - * See the companion paper "Rationale for Dhrystone Version 2" for a more - * detailed discussion of these ground rules. - * - * For 16-Bit processors (e.g. 80186, 80286), times for all compilation - * models ("small", "medium", "large" etc.) should be given if possible, - * together with a definition of these models for the compiler system used. - * - ************************************************************************** - * - * Dhrystone (C version) statistics: - * - * [Comment from the first distribution, updated for version 2. - * Note that because of language differences, the numbers are slightly - * different from the Ada version.] - * - * The following program contains statements of a high level programming - * language (here: C) in a distribution considered representative: - * - * assignments 52 (51.0 %) - * control statements 33 (32.4 %) - * procedure, function calls 17 (16.7 %) - * - * 103 statements are dynamically executed. The program is balanced with - * respect to the three aspects: - * - * - statement type - * - operand type - * - operand locality - * operand global, local, parameter, or constant. - * - * The combination of these three aspects is balanced only approximately. - * - * 1. Statement Type: - * ----------------- number - * - * V1 = V2 9 - * (incl. V1 = F(..) - * V = Constant 12 - * Assignment, 7 - * with array element - * Assignment, 6 - * with record component - * -- - * 34 34 - * - * X = Y +|-|"&&"|"|" Z 5 - * X = Y +|-|"==" Constant 6 - * X = X +|- 1 3 - * X = Y *|/ Z 2 - * X = Expression, 1 - * two operators - * X = Expression, 1 - * three operators - * -- - * 18 18 - * - * if .... 14 - * with "else" 7 - * without "else" 7 - * executed 3 - * not executed 4 - * for ... 7 | counted every time - * while ... 4 | the loop condition - * do ... while 1 | is evaluated - * switch ... 1 - * break 1 - * declaration with 1 - * initialization - * -- - * 34 34 - * - * P (...) procedure call 11 - * user procedure 10 - * library procedure 1 - * X = F (...) - * function call 6 - * user function 5 - * library function 1 - * -- - * 17 17 - * --- - * 103 - * - * The average number of parameters in procedure or function calls - * is 1.82 (not counting the function values as implicit parameters). - * - * - * 2. Operators - * ------------ - * number approximate - * percentage - * - * Arithmetic 32 50.8 - * - * + 21 33.3 - * - 7 11.1 - * * 3 4.8 - * / (int div) 1 1.6 - * - * Comparison 27 42.8 - * - * == 9 14.3 - * /= 4 6.3 - * > 1 1.6 - * < 3 4.8 - * >= 1 1.6 - * <= 9 14.3 - * - * Logic 4 6.3 - * - * && (AND-THEN) 1 1.6 - * | (OR) 1 1.6 - * ! (NOT) 2 3.2 - * - * -- ----- - * 63 100.1 - * - * - * 3. Operand Type (counted once per operand reference): - * --------------- - * number approximate - * percentage - * - * Integer 175 72.3 % - * Character 45 18.6 % - * Pointer 12 5.0 % - * String30 6 2.5 % - * Array 2 0.8 % - * Record 2 0.8 % - * --- ------- - * 242 100.0 % - * - * When there is an access path leading to the final operand (e.g. a record - * component), only the final data type on the access path is counted. - * - * - * 4. Operand Locality: - * ------------------- - * number approximate - * percentage - * - * local variable 114 47.1 % - * global variable 22 9.1 % - * parameter 45 18.6 % - * value 23 9.5 % - * reference 22 9.1 % - * function result 6 2.5 % - * constant 55 22.7 % - * --- ------- - * 242 100.0 % - * - * - * The program does not compute anything meaningful, but it is syntactically - * and semantically correct. All variables have a value assigned to them - * before they are used as a source operand. - * - * There has been no explicit effort to account for the effects of a - * cache, or to balance the use of long or short displacements for code or - * data. - * - *************************************************************************** - */ - -/* Compiler and system dependent definitions: */ -/* -#ifndef TIME -#define TIMES -#endif -*/ /* Use times(2) time function unless */ - /* explicitly defined otherwise */ - -/* - #ifndef HZ - #define HZ 60 - #endif -*/ - -/* -#ifdef TIMES -#include <sys/types.h> -#include <sys/times.h> -*/ /* for "times" */ -/* -#endif -*/ -#define Mic_secs_Per_Second 1000000.0 - /* Berkeley UNIX C returns process times in seconds/HZ */ - -#ifdef NOSTRUCTASSIGN -#define structassign(d, s) memcpy(&(d), &(s), sizeof(d)) -#else -#define structassign(d, s) d = s -#endif - -#ifdef NOENUM -#define Ident_1 0 -#define Ident_2 1 -#define Ident_3 2 -#define Ident_4 3 -#define Ident_5 4 - typedef int Enumeration; -#else - typedef enum {Ident_1, Ident_2, Ident_3, Ident_4, Ident_5} - Enumeration; -#endif - /* for boolean and enumeration types in Ada, Pascal */ - -/* General definitions: */ - -#include <stdio.h> - /* for strcpy, strcmp */ - -#define Null 0 - /* Value of a Null pointer */ -#define true 1 -#define false 0 - -typedef int One_Thirty; -typedef int One_Fifty; -typedef char Capital_Letter; -typedef int Boolean; -typedef char Str_30 [31]; -typedef int Arr_1_Dim [50]; -typedef int Arr_2_Dim [50] [50]; - -typedef struct record - { - struct record *Ptr_Comp; - Enumeration Discr; - union { - struct { - Enumeration Enum_Comp; - int Int_Comp; - char Str_Comp [31]; - } var_1; - struct { - Enumeration E_Comp_2; - char Str_2_Comp [31]; - } var_2; - struct { - char Ch_1_Comp; - char Ch_2_Comp; - } var_3; - } variant; - } Rec_Type, *Rec_Pointer; - - diff --git a/gcc_arm/testsuite/gcc.misc-tests/gcov-1.c b/gcc_arm/testsuite/gcc.misc-tests/gcov-1.c deleted file mode 100755 index 99a0279..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/gcov-1.c +++ /dev/null @@ -1,20 +0,0 @@ -/* Test Gcov basics. */ - -/* { dg-options "-fprofile-arcs -ftest-coverage" } */ -/* { dg-do run { target native } } */ - -void noop () -{ -} - -int main () -{ - int i; - - for (i = 0; i < 10; i++) /* count(11) */ - noop (); /* count(10) */ - - return 0; /* count(1) */ -} - -/* { dg-final { run-gcov gcov-1.c } } */ diff --git a/gcc_arm/testsuite/gcc.misc-tests/gcov-2.c b/gcc_arm/testsuite/gcc.misc-tests/gcov-2.c deleted file mode 100755 index 0cfeaec..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/gcov-2.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Test Gcov basics. */ - -/* { dg-prms-id 8294 } */ -/* { dg-options "-fprofile-arcs -ftest-coverage -g" } */ -/* { dg-do run { target native } } */ - -void noop () -{ -} - -int main () -{ - int i; - - for (i = 0; i < 10; i++) /* count(11) */ - noop (); /* count(10) */ - - return 0; /* count(1) */ -} - -int a_variable = 0; diff --git a/gcc_arm/testsuite/gcc.misc-tests/gcov.exp b/gcc_arm/testsuite/gcc.misc-tests/gcov.exp deleted file mode 100755 index 747465d..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/gcov.exp +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright (C) 1997 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: -# bug-gcc@prep.ai.mit.edu - -# Gcov test driver. - -# Load support procs. -load_lib gcc-dg.exp - -global GCC_UNDER_TEST - -# For now find gcov in the same directory as $GCC_UNDER_TEST. -if { ![is_remote host] && [string match "*/*" [lindex $GCC_UNDER_TEST 0]] } { - set GCOV [file dirname [lindex $GCC_UNDER_TEST 0]]/gcov -} else { - set GCOV gcov -} - -# Proc to delete the working files created by the compiler for gcov. - -proc clean-gcov { testcase } { - set basename [file tail $testcase] - set base [file rootname $basename] - remote_file host delete $base.bb $base.bbg $base.da $basename.gcov -} - -# Called by dg-final to run gcov and analyze the results. - -proc run-gcov { testcase } { - global GCOV - - verbose "Running $GCOV $testcase" 2 - set testcase [remote_download host $testcase]; - set result [remote_exec host $GCOV $testcase]; - if { [lindex $result 0] != 0 } { - fail "gcov failed: [lindex $result 1]" - clean-gcov $testcase - return - } - - remote_upload host $testcase.gcov $testcase.gcov; - set output [grep $testcase.gcov ".*count\\(\[0-9\]+\\)" line] - #send_user "output:$output\n" - set failed 0 - foreach line $output { - verbose "Processing count line: $line" 3 - #send_user "line:$line\n" - if [regexp "(\[0-9\]+) *(\[0-9\]+).*count\\((\[0-9\]+)\\)" "$line" all n is shouldbe] { - #send_user "n $n:is $is:shouldbe $shouldbe\n" - if { $is == "" } { - fail "$testcase:$n:no data available for this line" - incr failed - } elseif { $is != $shouldbe } { - fail "$testcase:$n:is $is:should be $shouldbe" - incr failed - } - } else { - fail "$testcase: can't parse $line (in wrong place?)" - incr failed - } - } - clean-gcov $testcase - if !$failed { - pass "gcov $testcase" - } -} - -# Initialize harness. -dg-init - -# Delete old .da files. -set files [glob -nocomplain gcov-*.da]; -if { $files != "" } { - eval "remote_file build delete $files"; -} - -# Main loop. -dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/gcov-*.c]] "" "" - -dg-finish diff --git a/gcc_arm/testsuite/gcc.misc-tests/m-un-1.c b/gcc_arm/testsuite/gcc.misc-tests/m-un-1.c deleted file mode 100755 index ad84d44..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/m-un-1.c +++ /dev/null @@ -1,37 +0,0 @@ -/* m-un-1.c: "un" for "uninitialized" */ - -/* -From: Jim Wilson <wilson@cygnus.com> -Date: Wed, 6 Jul 1994 13:11:47 -0700 -To: dje@cygnus.com -Subject: Re: devo/gcc ChangeLog.fsf stmt.c -Cc: cvs-gcc@cygnus.com, tege@cygnus.com - - How about a test case? :-) - -Compile with -O -Wall and the broken compiler gives you: -tmp.c:6: warning: `k' might be used uninitialized in this function -The fixed compiler (and gcc 2.5.8) gives no warning. - -This happens to fix a performance regression in the code generated for -while loops, but that is presumably much much harder to test for. -*/ - -/* { dg-do compile } */ -/* { dg-options "-O -Wall" } */ - -int -sub () -{ - int i = 0; - int j = 0; - int k; /* { dg-bogus "`k' might be used uninitialized" "uninitialized warning regression" } */ - - while (i == 0 && j == 0) - { - k = 10; - i = sub (); - } - - return k; -} diff --git a/gcc_arm/testsuite/gcc.misc-tests/m-un-2.c b/gcc_arm/testsuite/gcc.misc-tests/m-un-2.c deleted file mode 100755 index 8c3a8bc..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/m-un-2.c +++ /dev/null @@ -1,29 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-W -Wall" } */ - -typedef unsigned long size_t; -extern void* malloc (size_t); -extern void free (void*); -extern void* realloc (void*, size_t); - -struct vtable { - void* (* _malloc) (size_t); - void (* _free) (void*); - void* (* _realloc) (void*, size_t); -}; - -struct vtable mtable = { - malloc, - free -}; /* { dg-warning "missing initializer for `mtable._realloc'" "warning regression" } */ - -struct vtable mtable2 = { - ._malloc = malloc, - ._realloc = realloc -}; /* { dg-warning "missing initializer for `mtable2._free'" "warning regression" } */ - -struct vtable mtable3 = { - ._free = free, - ._malloc = malloc, - ._realloc = realloc -}; diff --git a/gcc_arm/testsuite/gcc.misc-tests/matrix1.c b/gcc_arm/testsuite/gcc.misc-tests/matrix1.c deleted file mode 100755 index 62c7115..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/matrix1.c +++ /dev/null @@ -1,46 +0,0 @@ -/* Matrix operations */ - -#define BOUND 100 - -int a[BOUND][BOUND],b[BOUND][BOUND],c[BOUND][BOUND]; - -main() -{ -int i,j,k; - - - - for (i=0; i<BOUND; i++) - { - for (j=0; j<BOUND; j++) - { - a[i][j] = 1; - b[i][j] = 1; - } - } - for (i=0; i<BOUND; i++) - { - for (j=0; j<BOUND; j++) - { - c[i][j] = 0; - for (k=0; k<BOUND; k++) - { - c[i][j] = c[i][j] + a[i][k] * b[k][j]; - } - } - } - for (i=0; i<BOUND; i++) - { - for (j=0; j<BOUND; j++) - { - if (c[i][j] != BOUND) - { - /*printf("ERROR\n");*/ - return 0; - } - } - } - i=5; - - exit (0); -} diff --git a/gcc_arm/testsuite/gcc.misc-tests/matrix1.exp b/gcc_arm/testsuite/gcc.misc-tests/matrix1.exp deleted file mode 100755 index a90ae5c..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/matrix1.exp +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright (C) 1997 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: -# bug-gcc@prep.ai.mit.edu - -global PERF_TEST -if { ![info exists PERF_TEST] || "$PERF_TEST" != "yes" } { - return -} - -load_lib mike-gcc.exp - -prebase -set actions run -set compiler_output "^$" -set program_output "^$" -postbase matrix1.c $run $groups diff --git a/gcc_arm/testsuite/gcc.misc-tests/mg.c b/gcc_arm/testsuite/gcc.misc-tests/mg.c deleted file mode 100755 index 5359714..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/mg.c +++ /dev/null @@ -1,8 +0,0 @@ -/* PR 2981 */ - -#include "nonexist.h" -int -main () -{ - return 0; -} diff --git a/gcc_arm/testsuite/gcc.misc-tests/mg.exp b/gcc_arm/testsuite/gcc.misc-tests/mg.exp deleted file mode 100755 index 845e3e6..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/mg.exp +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright (C) 1997 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: -# bug-gcc@prep.ai.mit.edu - -# Test the -MG flag. - -load_lib mike-gcc.exp - -prebase -set actions none-of-the-above -set compiler_output "mg.o ?: .*mg.c \[ \\\n\]*nonexist.h" -postbase mg.c "" "" "-MM -MG 2>/dev/null" diff --git a/gcc_arm/testsuite/gcc.misc-tests/msgs.exp b/gcc_arm/testsuite/gcc.misc-tests/msgs.exp deleted file mode 100755 index dbe3f24..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/msgs.exp +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright (C) 1997 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: -# bug-gcc@prep.ai.mit.edu - -# Test gcc warning and error messages. -# Our testcases are named m-*.c ("m" and not "msg" to avoid DOS problems). - -# Load support procs. -load_lib gcc-dg.exp - -# Initialize harness. -dg-init - -# Main loop. -dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/m-*.c]] "" "" - -# All done. -dg-finish diff --git a/gcc_arm/testsuite/gcc.misc-tests/optbench.c b/gcc_arm/testsuite/gcc.misc-tests/optbench.c deleted file mode 100755 index 9cee430..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/optbench.c +++ /dev/null @@ -1,288 +0,0 @@ -/* ----------------------------------------------------- * - | | - | PC Tech Journal Benchmark Series | - | C Code Optimization Benchmark | - | | - | Copyright (c) 1988 Ziff-Davis Publishing Company | - | | - | This benchmark code is designed to test the | - | code optimization techniques applied by a C | - | compiler. It does not produce meaningful results | - | when executed, or represent good style. | - | | - * ----------------------------------------------------- */ - -#include <string.h> - -#define max_vector 2 -#define constant5 5 - -typedef unsigned char uchar; - -int i, j, k , l, m; -int i2, j2, k2; -int g3, h3, i3, k3, m3; -int i4, j4; -int i5, j5, k5; - -double flt_1, flt_2, flt_3, flt_4, flt_5, flt_6; - -int ivector[ 3 ]; -uchar ivector2[ 3 ]; -short ivector4[ 6 ]; -int ivector5[ 203 ]; - -#ifndef NO_PROTOTYPES -void dead_code( int, char * ); -void unnecessary_loop( void ); -void loop_jamming( int ); -void loop_unrolling( int ); -int jump_compression ( int, int, int, int, int ); -#else -void dead_code(); -void unnecessary_loop(); -void loop_jamming(); -void loop_unrolling(); -int jump_compression(); -#endif - - -int main( argc, argv ) /* optbench */ - int argc; - char **argv; - { - /* ------------------------------ * - | Constant and copy propagation | - * ------------------------------ */ - - j4 = 2; - if( i2 < j4 && i4 < j4 ) - i5 = 2; - - j4 = k5; - if( i2 < j4 && i4 < j4 ) - i5 = 3; - - /* ---------------------------------------- * - | Constant folding, arithmetic identities | - | and redundant load/store operations | - * ---------------------------------------- */ - - i3 = 1 + 2; - flt_1 = 2.4 + 6.3; - i2 = 5; - j2 = i + 0; - k2 = i / 1; - i4 = i * 1; - i5 = i * 0; - -#ifndef NO_ZERO_DIVIDE - /* - * Some compilers correctly recognize a zero divide - * error and do not generate any object code. - */ -/* - i2 = i / 0; - flt_2 = flt_1 / 0.0; -*/ -#else -/* - printf( "This compiler handles divide-by-zero as an -error\n"); -*/; -#endif - flt_3 = 2.4 / 1.0; - flt_4 = 1.0 + 0.0000001; - flt_5 = flt_6 * 0.0; - flt_6 = flt_2 * flt_3; - - /* ------------ * - | Dead store | - * ------------ */ - - k3 = 1; - k3 = 1; - - /* --------------------- * - | Strength reduction | - * --------------------- */ - - k2 = 4 * j5; - for( i = 0; i <= 5; i++ ) - ivector4[ i ] = i * 2; - - /* ----------- * - | Simple loop | - * ----------- */ - - j5 = 0; - k5 = 10000; - do { - k5 = k5 - 1; - j5 = j5 + 1; - i5 = ( k5 * 3 ) / ( j5 * constant5 ); - } while ( k5 > 0 ); - - /* ----------------------------------- * - | Loop induction variable handling | - * ----------------------------------- */ - - for( i = 0; i < 100; i++) - ivector5[ i * 2 + 3 ] = 5; - - /* ----------------------------- * - | Very busy expression handling | - * ----------------------------- */ - - if( i < 10 ) - j5 = i5 + i2; - else - k5 = i5 + i2; - - /* -------------------------------------------- * - | Check how the compiler generates the address | - | of a variable with a constant subscript, | - | copy propagation, and register propagation. | - * -------------------------------------------- */ - - ivector[ 0 ] = 1; /* constant address generation */ - ivector[ i2 ] = 2; /* i2 should be a propagated value -*/ - ivector[ i2 ] = 2; /* register propagation */ - ivector[ 2 ] = 3; /* constant address generation */ - - - /* ---------------------------------- * - | Common subexpression elimination | - * ---------------------------------- */ - - if(( h3 + k3 ) < 0 || ( h3 + k3 ) > 5 ) - /* - printf("Common subexpression elimination\n"); - - */; - else { - m3 = ( h3 + k3 ) / i3; - g3 = i3 + (h3 + k3); - } - /* --------------------------------------- * - | Invariant code motion | - | (j * k) can be moved outside the loop. | - * --------------------------------------- */ - - for( i4 = 0; i4 <= max_vector; i4++ ) - ivector2[ i4 ] = j * k; - - /* ---------------------------- * - | Function call with arguments | - * ---------------------------- */ - - dead_code( 1, "This line should not be printed" ); - - /* ------------------------------- * - | Function call without arguments | - * ------------------------------- */ - - unnecessary_loop(); - - exit (0); - - } /* end of main */ - - -/* --------------------------------------------- * - | Function: dead_code | - | Test for dead code and dead stores. | - | NO code should be generated. | - * ----------------------------------------------*/ - -void dead_code( a, b ) - int a; - char *b; - { - int idead_store; - - idead_store = a; - if( 0 ) - /* - printf( "%s\n", b ); - */; - } /* end of dead_code */ - -/* ----------------------------------------------- * - | Function: unnecessary_loop | - | The loop in the following function is | - | not necessary since the value of the | - | assignment is constant. Ideally, the | - | loop should be optimized out. | - * ----------------------------------------------- */ - -void unnecessary_loop() - { - int x; - - x = 0; - for( i = 0; i < 5; i++ ) /* loop should not be generated */ - k5 = x + j5; - } /* end of unnecessary_loop */ - -/* --------------------------------------------- * - | Function: loop_jamming | - | The two loop in this function share | - | the same loop conditions and could | - | be coalesced together. | - * --------------------------------------------- */ - -void loop_jamming( x ) - int x; - { - for( i = 0; i < 5; i++ ) - k5 = x + j5 * i; - for( i = 0; i < 5; i++ ) - i5 = x * k5 * i; - } /* end of loop_jamming */ - -/* ------------------------------------------------ * - | Function: loop_unrolling | - | The loop in this function should be | - | replaced with three inline word stores | - | using constant array arithmetic or by | - | specialized machine instructions used | - | for block memory initializiation. | - * ------------------------------------------------ */ - -void loop_unrolling( x ) - int x; - { - for( i = 0; i < 6; i++ ) - ivector4[ i ] = 0; - } /* end of loop_unrolling */ - -/* ------------------------------------------------------ * - | Function: jump_compression | - | This awkward code is useful to illustrate | - | jump chain compression. The goto 'end_1' can | - | be replaced by a direct jump to 'beg_1'. | - *------------------------------------------------------ */ - -int jump_compression ( i, j, k, l, m ) -int i,j ,l, m; - { -beg_1: - if( i < j ) - if( j < k ) - if( k < l ) - if ( l < m ) - l += m; - else - goto end_1; - else - k += l; - else { - j += k; -end_1: goto beg_1; - } - else - i += j; - return( i + j + k + l + m ); - } /* end of jump_compression */ diff --git a/gcc_arm/testsuite/gcc.misc-tests/optbench.exp b/gcc_arm/testsuite/gcc.misc-tests/optbench.exp deleted file mode 100755 index a54fd2d..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/optbench.exp +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright (C) 1997 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: -# bug-gcc@prep.ai.mit.edu - -global PERF_TEST -if { ![info exists PERF_TEST] || "$PERF_TEST" != "yes" } { - return -} - -load_lib mike-gcc.exp - -prebase -set actions run -set compiler_output "^$" -set program_output "^$" -postbase optbench.c $run $groups diff --git a/gcc_arm/testsuite/gcc.misc-tests/sieve.c b/gcc_arm/testsuite/gcc.misc-tests/sieve.c deleted file mode 100755 index 41897f1..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/sieve.c +++ /dev/null @@ -1,26 +0,0 @@ - -#define TRUE 1 -#define FALSE 0 -#define SIZE 8190 - -char flags[SIZE+1]; - -main() -{ - register int i, prime, k, count, iter; - for (iter=1;iter<=100;iter++) { - count=0; - for (i=0;i<=SIZE;i++) - flags[i]=TRUE; - for (i=0;i<=SIZE;i++) { - if (flags[i]) { - prime=i+i+3; - for (k=i+prime;k<=SIZE;k+=prime) - flags[k]=FALSE; - count++; - } - } - } -/* */ exit(0); /* */ -} - diff --git a/gcc_arm/testsuite/gcc.misc-tests/sieve.exp b/gcc_arm/testsuite/gcc.misc-tests/sieve.exp deleted file mode 100755 index a6c7665..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/sieve.exp +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright (C) 1997 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: -# bug-gcc@prep.ai.mit.edu - -global PERF_TEST -if { ![info exists PERF_TEST] || "$PERF_TEST" != "yes" } { - return -} - -load_lib mike-gcc.exp - -prebase -set actions run -set compiler_output "^$" -set program_output "^$" -postbase sieve.c $run $groups diff --git a/gcc_arm/testsuite/gcc.misc-tests/sort2.c b/gcc_arm/testsuite/gcc.misc-tests/sort2.c deleted file mode 100755 index 3d86e1e..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/sort2.c +++ /dev/null @@ -1,54 +0,0 @@ -/* Simple test program: bubble sort of a fixed table. */ -/* This demonstrates some of the compiler's common-subexpression*/ -/* elimination capabilities. For example, inspect the code */ -/* generated for procedure Sort_array. See the Programmer's */ -/* Guide for how to request an assembly listing on your host. */ - -typedef unsigned char boolean; - -void Sort_array(); -int Tab[100]; - -main () { - int I,J,K,L; - -for (L = 0; L < 1000; L++) { - /* Initialize the table that will be sorted. */ - K = 0; - for (I = 9; I >= 0; I--) - for (J = I*10; J < (I+1)*10; J++) - Tab[K++] = J&1 ? J+1 : J-1; - -/* Print_array(); */ - Sort_array(Tab,99); /* Sort it. */ -/* Print_array(); */ -} -/* */ exit(0); /* */ -} - -void Sort_array(Tab,Last) int Tab[]; int Last; { - boolean Swap; - int Temp,I; - do { - Swap = 0; - for (I = 0; I<Last; I++) - if (Tab[I] > Tab[I+1]) { - Temp = Tab[I]; - Tab[I] = Tab[I+1]; - Tab[I+1] = Temp; - Swap = 1; - } - } - while (Swap); -} - - -void Print_array() { - int I,J; - /*printf("\nArray Contents:\n");*/ - for (I=0; I<=9; I++) { - /*printf("%5d:",10*I); */ - for (J=0; J<=9; J++); /*printf("%5d",Tab[10*I+J]); */ - /* printf("\n");*/ - } -} diff --git a/gcc_arm/testsuite/gcc.misc-tests/sort2.exp b/gcc_arm/testsuite/gcc.misc-tests/sort2.exp deleted file mode 100755 index ab5f099..0000000 --- a/gcc_arm/testsuite/gcc.misc-tests/sort2.exp +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright (C) 1997 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: -# bug-gcc@prep.ai.mit.edu - -global PERF_TEST -if { ![info exists PERF_TEST] || "$PERF_TEST" != "yes" } { - return -} - -load_lib mike-gcc.exp - -prebase -set actions run -set compiler_output "^$" -set program_output "^$" -postbase sort2.c $run $groups |