From 90089603393a1a67b9a4afe1f2b7237a74e1b21b Mon Sep 17 00:00:00 2001 From: Eric Biederman Date: Fri, 28 May 2004 14:11:54 +0000 Subject: - Upgrade to romcc version 0.63 This includes more test cases Lots of small bug fixes A built in C preprocessor Initial support for not inlining everything __attribute__((noinline)) works Better command line options and help Constants arrays can be read at compile time Asm statements that are not volatile will now be removed when their outputs go unused Loads and stores that are not volatile will be removed when their values go unused The number of FIXMES in the code is finally starting to go down. git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1582 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- util/romcc/do_tests.sh | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 util/romcc/do_tests.sh (limited to 'util/romcc/do_tests.sh') diff --git a/util/romcc/do_tests.sh b/util/romcc/do_tests.sh new file mode 100644 index 0000000000..fdbe2a6189 --- /dev/null +++ b/util/romcc/do_tests.sh @@ -0,0 +1,96 @@ +#!/bin/sh +type="simple" +if [ -n "$1" ] ; then + type=$1 +fi +if [ "$type" = "simple" ] ; then +LIST="18 57 21 79 77 40 62 52 65 78 63 81 80 64 12 8 9 7 53 58 37 35 48 11 75 51 49 41 71 23 70 16 13 24 31 55 19 69 67 66 17 28 68 61 32 33 43 60 45 47 36 10 46 15 3 29 50 56 76 34 74 25 26 27 20 1 14 73 5 4" +LIST="82 83 $LIST" +BASE="simple_test" +#REG_SKIP="34 73 5 33 45 47 25 27 26 20 " +#SKIP="$REG_SKIP" +EXPECTED_BAD="34 73 5 4" +fi +if [ "$type" = "linux" ] ; then +LIST="1 2 3 4 5 6 7 8 9 10 11 12" +BASE="linux_test" +#SKIP="5" +EXPECTED_BAD="" +fi +if [ "$type" = "raminit" ] ; then +LIST="1 2 3 4 5 6" +BASE="raminit_test" +#SKIP="6" +EXPECTED_BAD="" +fi +if [ "$type" = "hello" ] ; then +LIST="1 2" +BASE="hello_world" +EXPECTED_BAD="" +fi + + +SKIPPED="" +GOOD="" +BAD="" +OLD_BAD="" +NEW_BAD="" +NEW_GOOD="" +for i in $LIST ; do + DO_SKIP="" + for j in $SKIP ; do + if [ "$j" = "$i" ] ; then + DO_SKIP="yes" + break; + fi + done + if [ ! -z "$DO_SKIP" ] ; then + SKIPPED="$SKIPPED$i " + continue; + fi + PROBLEM="" + for j in $EXPECTED_BAD ; do + if [ "$j" = "$i" ] ; then + PROBLEM=":(" + break; + fi + done + echo -e -n "$i $PROBLEM\t" + if ./tests.sh $BASE $i > /dev/null 2> /dev/null ; then + echo OK + if [ ! -z "$PROBLEM" ] ; then + NEW_GOOD="$NEW_GOOD$i " + fi + GOOD="$GOOD$i " + else + echo -n "FAILED: " + tail -n 1 tests/$BASE$i.debug2 | tr -d '\r\n' + echo + if [ -z "$PROBLEM" ] ; then + NEW_BAD="$NEW_BAD$i " + else + OLD_BAD="$OLD_BAD$i " + fi + BAD="$BAD$i " + fi +done +echo -e "SKIPPED\t\t$SKIPPED" +echo -e "FAILED\t\t$BAD" +if [ ! -z "$NEW_BAD" ]; then + echo -e "NEW FAILED\t$NEW_BAD" +fi +echo -e "OK\t\t$GOOD" +if [ ! -z "$NEW_GOOD" ]; then + echo -e "NEW OK\t\t$NEW_GOOD" +fi + +for i in $NEW_BAD ; do + printf "%2d: " $i + tail -n 1 tests/$BASE$i.debug2 | tr -d '\n\r' + echo +done +echo "-----" +for i in $OLD_BAD ; do + printf "%2d: " $i + tail -n 1 tests/$BASE$i.debug2 +done -- cgit v1.2.3