diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | benchtests/README | 7 | ||||
-rwxr-xr-x | scripts/bench.pl | 22 |
3 files changed, 28 insertions, 6 deletions
@@ -1,3 +1,8 @@ +2013-10-10 Torvald Riegel <triegel@redhat.com> + + * scripts/bench.pl: Add include-sources directive. + * benchtests/README: Update documentation. + 2013-10-10 Joseph Myers <joseph@codesourcery.com> * soft-fp/soft-fp.h (FP_INIT_EXCEPTIONS): New macro. diff --git a/benchtests/README b/benchtests/README index 5faca53511..0c643a6590 100644 --- a/benchtests/README +++ b/benchtests/README @@ -51,9 +51,12 @@ one to add `foo' to the bench tests: inputs. - ret: This should be assigned the type that the function returns. This directive may be skipped if the function does not return a value. - - includes: This should be assigned a comma separated list of headers that + - includes: This should be assigned a comma-separated list of headers that need to be included to provide declarations for the function and types it - may need. + may need (specifically, this includes using "#include <header>"). + - include-sources: This should be assigned a comma-separated list of source + files that need to be included to provide definitions of global variables + and functions (specifically, this includes using "#include "source"). - name: See following section for instructions on how to use this directive. Lines beginning with a single hash '#' are treated as comments. See diff --git a/scripts/bench.pl b/scripts/bench.pl index 5fe95d0c2f..492ab816ed 100755 --- a/scripts/bench.pl +++ b/scripts/bench.pl @@ -34,7 +34,8 @@ my $getret = ""; my $variant = ""; my @curvals; my %vals; -my @include_files; +my @include_headers; +my @include_sources; my $incl; open INPUTS, "<$func-inputs" or die $!; @@ -43,7 +44,7 @@ LINE:while (<INPUTS>) { chomp; # Directives. - if (/^## (\w+): (.*)/) { + if (/^## ([\w-]+): (.*)/) { # Function argument types. if ($1 eq "args") { @args = split(":", $2); @@ -55,7 +56,11 @@ LINE:while (<INPUTS>) { } elsif ($1 eq "includes") { - @include_files = split (",", $2); + @include_headers = split (",", $2); + } + + elsif ($1 eq "include-sources") { + @include_sources = split (",", $2); } # New variant. This is the only directive allowed in the body of the @@ -72,6 +77,10 @@ LINE:while (<INPUTS>) { undef @curvals; next LINE; } + + else { + die "Unknown directive: ".$1; + } } # Skip over comments. @@ -86,10 +95,15 @@ my $bench_func = "#define CALL_BENCH_FUNC(v, i) $func ("; # Print the definitions and macros. -foreach $incl (@include_files) { +foreach $incl (@include_headers) { print "#include <" . $incl . ">\n"; } +# Print the source files. +foreach $incl (@include_sources) { + print "#include \"" . $incl . "\"\n"; +} + if (@args > 0) { # Save values in the last variant. $vals{$variant} = \@curvals; |