aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTorvald Riegel <triegel@redhat.com>2013-10-08 14:04:10 +0300
committerTorvald Riegel <triegel@redhat.com>2013-10-10 14:45:30 +0300
commit40fefba1b5b05d05a3a4b48796a1006db90d8f74 (patch)
treef7bddfa085842455cbe6934dae95707a0a4e6e2e
parentdcc2dd3f46e6cd532527ed041103633f99efb611 (diff)
downloadglibc-40fefba1b5b05d05a3a4b48796a1006db90d8f74.zip
glibc-40fefba1b5b05d05a3a4b48796a1006db90d8f74.tar.gz
glibc-40fefba1b5b05d05a3a4b48796a1006db90d8f74.tar.bz2
benchtests: Add include-sources directive.
This adds the "include-sources" directive to scripts/bench.pl. This allows for including source code (vs including headers, which might get a different search path) after the inclusion of any headers.
-rw-r--r--ChangeLog5
-rw-r--r--benchtests/README7
-rwxr-xr-xscripts/bench.pl22
3 files changed, 28 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 521f675..1291b75 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 5faca53..0c643a6 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 5fe95d0..492ab81 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;