mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
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.
This commit is contained in:
@ -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>
|
2013-10-10 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
* soft-fp/soft-fp.h (FP_INIT_EXCEPTIONS): New macro.
|
* soft-fp/soft-fp.h (FP_INIT_EXCEPTIONS): New macro.
|
||||||
|
@ -51,9 +51,12 @@ one to add `foo' to the bench tests:
|
|||||||
inputs.
|
inputs.
|
||||||
- ret: This should be assigned the type that the function returns. This
|
- ret: This should be assigned the type that the function returns. This
|
||||||
directive may be skipped if the function does not return a value.
|
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
|
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.
|
- name: See following section for instructions on how to use this directive.
|
||||||
|
|
||||||
Lines beginning with a single hash '#' are treated as comments. See
|
Lines beginning with a single hash '#' are treated as comments. See
|
||||||
|
@ -34,7 +34,8 @@ my $getret = "";
|
|||||||
my $variant = "";
|
my $variant = "";
|
||||||
my @curvals;
|
my @curvals;
|
||||||
my %vals;
|
my %vals;
|
||||||
my @include_files;
|
my @include_headers;
|
||||||
|
my @include_sources;
|
||||||
my $incl;
|
my $incl;
|
||||||
|
|
||||||
open INPUTS, "<$func-inputs" or die $!;
|
open INPUTS, "<$func-inputs" or die $!;
|
||||||
@ -43,7 +44,7 @@ LINE:while (<INPUTS>) {
|
|||||||
chomp;
|
chomp;
|
||||||
|
|
||||||
# Directives.
|
# Directives.
|
||||||
if (/^## (\w+): (.*)/) {
|
if (/^## ([\w-]+): (.*)/) {
|
||||||
# Function argument types.
|
# Function argument types.
|
||||||
if ($1 eq "args") {
|
if ($1 eq "args") {
|
||||||
@args = split(":", $2);
|
@args = split(":", $2);
|
||||||
@ -55,7 +56,11 @@ LINE:while (<INPUTS>) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
elsif ($1 eq "includes") {
|
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
|
# New variant. This is the only directive allowed in the body of the
|
||||||
@ -72,6 +77,10 @@ LINE:while (<INPUTS>) {
|
|||||||
undef @curvals;
|
undef @curvals;
|
||||||
next LINE;
|
next LINE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else {
|
||||||
|
die "Unknown directive: ".$1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Skip over comments.
|
# Skip over comments.
|
||||||
@ -86,10 +95,15 @@ my $bench_func = "#define CALL_BENCH_FUNC(v, i) $func (";
|
|||||||
|
|
||||||
|
|
||||||
# Print the definitions and macros.
|
# Print the definitions and macros.
|
||||||
foreach $incl (@include_files) {
|
foreach $incl (@include_headers) {
|
||||||
print "#include <" . $incl . ">\n";
|
print "#include <" . $incl . ">\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Print the source files.
|
||||||
|
foreach $incl (@include_sources) {
|
||||||
|
print "#include \"" . $incl . "\"\n";
|
||||||
|
}
|
||||||
|
|
||||||
if (@args > 0) {
|
if (@args > 0) {
|
||||||
# Save values in the last variant.
|
# Save values in the last variant.
|
||||||
$vals{$variant} = \@curvals;
|
$vals{$variant} = \@curvals;
|
||||||
|
Reference in New Issue
Block a user