mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-28 14:27:08 +00:00
UH OpenMP testsuite update
llvm-svn: 236105
This commit is contained in:
parent
dfddebcfb9
commit
a951e21087
@ -47,3 +47,31 @@ endif
|
||||
@echo mode=$(mode)
|
||||
@echo jobs=$(jobs)
|
||||
|
||||
|
||||
|
||||
libiomp5_path=$(shell $(omp_root)/tools/check-openmp.pl)
|
||||
test_path=$(shell $(omp_root)/tools/check-openmp-test.pl)
|
||||
|
||||
# Please do not change this rule.
|
||||
# -------------------------------
|
||||
# Intentionally changing directory into "testsuite" in order to generate output results and errors
|
||||
# over there and keep this directory clean.
|
||||
test: omp
|
||||
@$(Verb) if which llvm-lit &> /dev/null; then \
|
||||
if [ -d "$(omp_root)$(SLASH)..$(SLASH)testsuite$(SLASH)LLVM-IR" ] ; then \
|
||||
export TESTSUITE_TEMP=$(realpath $(omp_root))$(SLASH)tmp ; \
|
||||
export LIBRARY_PATH=$(libiomp5_path):$(LIBRARY_PATH) ; \
|
||||
export LD_LIBRARY_PATH=$(libiomp5_path):$(LD_LIBRARY_PATH) ; \
|
||||
export DYLD_LIBRARY_PATH=$(libiomp5_path):$(DYLD_LIBRARY_PATH) ; \
|
||||
cd $(omp_root)$(SLASH)..$(SLASH)testsuite ; \
|
||||
make ctest ; \
|
||||
python adding_xfails.py ; \
|
||||
llvm-lit -j 1 $(realpath $(omp_root))$(SLASH)..$(SLASH)testsuite$(SLASH)LLVM-IR$(SLASH)$(test_path) -v ; \
|
||||
else \
|
||||
echo "No test directory" ; exit 1; \
|
||||
fi; else echo "No llvm-lit in $(PATH)"; exit 1; fi
|
||||
|
||||
test-clean:
|
||||
make -C ..$(SLASH)testsuite cleanall
|
||||
|
||||
|
||||
|
18
openmp/runtime/tools/check-openmp-test.pl
Executable file
18
openmp/runtime/tools/check-openmp-test.pl
Executable file
@ -0,0 +1,18 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use FindBin;
|
||||
use lib "$FindBin::Bin/lib";
|
||||
|
||||
# LIBOMP modules.
|
||||
use Build;
|
||||
use LibOMP;
|
||||
use Platform ":vars";
|
||||
use Uname;
|
||||
use tools;
|
||||
|
||||
my $root_dir = $ENV{ LIBOMP_WORK };
|
||||
print join('', $target_platform, "/");
|
||||
|
18
openmp/runtime/tools/check-openmp.pl
Executable file
18
openmp/runtime/tools/check-openmp.pl
Executable file
@ -0,0 +1,18 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use FindBin;
|
||||
use lib "$FindBin::Bin/lib";
|
||||
|
||||
# LIBOMP modules.
|
||||
use Build;
|
||||
use LibOMP;
|
||||
use Platform ":vars";
|
||||
use Uname;
|
||||
use tools;
|
||||
|
||||
my $root_dir = $ENV{ LIBOMP_WORK };
|
||||
print join('', $root_dir, "/", "exports", "/", $target_platform, "/", "lib");
|
||||
|
78
openmp/testsuite/LLVM-IR/lit.cfg
Normal file
78
openmp/testsuite/LLVM-IR/lit.cfg
Normal file
@ -0,0 +1,78 @@
|
||||
# -*- Python -*-
|
||||
|
||||
# Configuration file for the 'lit' test runner.
|
||||
|
||||
import os
|
||||
import sys
|
||||
import re
|
||||
import platform
|
||||
|
||||
try:
|
||||
import lit.util
|
||||
import lit.formats
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
# name: The name of this test suite.
|
||||
config.name = 'OpenMPValidationSuite'
|
||||
|
||||
# testFormat: The test format to use to interpret tests.
|
||||
config.test_format = lit.formats.ShTest(execute_external=False)
|
||||
|
||||
# suffixes: A list of file extensions to treat as test files
|
||||
# Note this can be overridden by lit.local.cfg files
|
||||
config.suffixes = ['.ll']
|
||||
|
||||
# test_source_root: The root path where tests are located.
|
||||
#config.test_source_root = "/home/ichoyjx/install/openmp/testsuite/bin"
|
||||
#os.path.dirname(__file__)
|
||||
|
||||
# test_exec_root: The root path where tests should be run.
|
||||
#mpvs_obj_root = getattr(config, 'mpvs_obj_root', None)
|
||||
#if mpvs_obj_root is not None:
|
||||
config.test_exec_root = "./"
|
||||
#os.path.join(mpvs_obj_root, 'src')
|
||||
|
||||
# Discover the 'clang' and 'clangcc' to use.
|
||||
|
||||
import os
|
||||
|
||||
def inferClang(PATH):
|
||||
# Determine which clang to use.
|
||||
clang = os.getenv('CLANG')
|
||||
|
||||
# If the user set clang in the environment, definitely use that and don't
|
||||
# try to validate.
|
||||
if clang:
|
||||
return clang
|
||||
|
||||
# Otherwise look in the path.
|
||||
clang = lit.util.which('clang', PATH)
|
||||
|
||||
if not clang:
|
||||
lit_config.fatal("couldn't find 'clang' program, try setting "
|
||||
"CLANG in your environment")
|
||||
|
||||
return clang
|
||||
|
||||
config.clang = inferClang(config.environment['PATH']).replace('\\', '/')
|
||||
config.substitutions.append( ('%clang', ' ' + config.clang + ' ') )
|
||||
|
||||
# Propogate some environment variable to test environment.
|
||||
def addEnv(name):
|
||||
if name in os.environ:
|
||||
config.environment[name] = os.environ[name]
|
||||
|
||||
addEnv('HOME')
|
||||
addEnv('PWD')
|
||||
|
||||
|
||||
addEnv('C_INCLUDE_PATH')
|
||||
addEnv('CPLUS_INCLUDE_PATH')
|
||||
addEnv('LIBRARY_PATH')
|
||||
addEnv('LD_LIBRARY_PATH')
|
||||
addEnv('DYLD_LIBRARY_PATH')
|
||||
|
||||
# Check that the object root is known.
|
||||
if config.test_exec_root is None:
|
||||
lit.fatal('test execution root not set!')
|
30
openmp/testsuite/LLVM-IR/lit.site.cfg.in
Normal file
30
openmp/testsuite/LLVM-IR/lit.site.cfg.in
Normal file
@ -0,0 +1,30 @@
|
||||
## Autogenerated by LLVM/Clang configuration.
|
||||
#config.mpvs_src_root = "/home/ichoyjx/install/openmp/testsuite/bin/c"
|
||||
config.mpvs_obj_root = "/tmp"
|
||||
config.llvm_tools_dir = "@LLVM_TOOLS_DIR@"
|
||||
|
||||
|
||||
# Needed to check if a hack needs to be applied
|
||||
config.llvm_version_major = "@LLVM_VERSION_MAJOR@"
|
||||
|
||||
# Compilers
|
||||
# FIXME: use llvmcc not llvmgcc
|
||||
config.llvmclang = "clang"
|
||||
|
||||
# Features
|
||||
config.enable_uclibc = True if @ENABLE_UCLIBC@ == 1 else False
|
||||
config.enable_posix_runtime = True if @ENABLE_POSIX_RUNTIME@ == 1 else False
|
||||
config.have_selinux = True if @HAVE_SELINUX@ == 1 else False
|
||||
|
||||
# Current target
|
||||
config.target_triple = "@TARGET_TRIPLE@"
|
||||
|
||||
# Let the main config do the real work.
|
||||
try:
|
||||
lit
|
||||
except NameError:
|
||||
# Use lit_config class
|
||||
lit_config.load_config(config, "@MPVS_SOURCE_DIR@/lit.cfg")
|
||||
else:
|
||||
# Use old lit class
|
||||
lit.load_config(config, "@MPVS_SOURCE_DIR@/lit.cfg")
|
1
openmp/testsuite/LLVM-IR/lit.tmp
Normal file
1
openmp/testsuite/LLVM-IR/lit.tmp
Normal file
@ -0,0 +1 @@
|
||||
../LLVM-IR/lin_32e/
|
@ -34,14 +34,19 @@
|
||||
# 3. Compiler selection and Flags
|
||||
#########################################################
|
||||
|
||||
# GNU Compiler
|
||||
CC = gcc
|
||||
CFLAGS = -fopenmp -lm -O3
|
||||
CFLAGS = -fopenmp -lm -O3
|
||||
# CLANG Compiler
|
||||
CC = clang
|
||||
CFLAGS = -fopenmp -S -emit-llvm
|
||||
FC = gfortran
|
||||
FFLAGS = -fopenmp -lm
|
||||
FFLAGS = -fopenmp -lm -O3
|
||||
|
||||
# GNU Compiler
|
||||
# CC = gcc
|
||||
# CFLAGS = -fopenmp -lm -O3
|
||||
# FC = gfortran
|
||||
# FFLAGS = -fopenmp -lm
|
||||
# FFLAGS = -fopenmp -lm -O3
|
||||
|
||||
# Fujitsu Compilers:
|
||||
#CC = fcc
|
||||
@ -148,6 +153,10 @@ FFLAGS = -fopenmp -lm -O3
|
||||
#FC = uhf90
|
||||
#FFLAGS = -mp
|
||||
|
||||
# Check path
|
||||
FILE=LLVM-IR/lit.tmp
|
||||
CHECK_PATH=`cat $(FILE)`
|
||||
|
||||
#########################################################################
|
||||
|
||||
help:
|
||||
@ -170,9 +179,11 @@ help:
|
||||
@echo " cleanlogs"
|
||||
@echo " Remove all *.log files from bin/ directory"
|
||||
@echo " clean"
|
||||
@echo " Remove all sources and executables from bin/ directory"
|
||||
@echo " cleanall"
|
||||
@echo " Remove the entire bin/ directory"
|
||||
@echo " Clean out and log files"
|
||||
@echo " distclean"
|
||||
@echo " Clean arch test directory with clean"
|
||||
@echo " veryclean"
|
||||
@echo " Remove the entire bin/c directory with distclean"
|
||||
|
||||
omp_my_sleep:
|
||||
mkdir -p bin/c
|
||||
@ -187,6 +198,7 @@ omp_testsuite.h: ompts-c.conf c/*
|
||||
|
||||
ctest: omp_my_sleep omp_testsuite
|
||||
./runtest.pl --lang=c testlist-c.txt
|
||||
cd bin/; make -j
|
||||
|
||||
ftest:
|
||||
mkdir -p bin/fortran
|
||||
@ -206,17 +218,37 @@ print_compile_options:
|
||||
@echo "compilation: $(FC) $(FFLAGS)"
|
||||
@$(FC) --version
|
||||
|
||||
|
||||
|
||||
path_to_arch=$(shell ../runtime/tools/check-openmp-test.pl)
|
||||
|
||||
cleansrcs:
|
||||
find bin/ -iname "*.[cf]" -exec rm {} \;
|
||||
find bin/ -iname "*.[cf]" -exec rm -rf {} \;
|
||||
cleanbins:
|
||||
find bin/ -perm /a+x -type f -exec rm {} \;
|
||||
find bin/c -perm /a+x -type f -exec rm -rf {} \;
|
||||
find ./bin/c -not -name "*.c" -a -not -name "*.ll" -type f -exec rm -rf {} \;
|
||||
cleanouts:
|
||||
find bin/ -iname "*.out" -exec rm {} \;
|
||||
find bin/ -iname "*.out" -exec rm -rf {} \;
|
||||
cleanlogs:
|
||||
find bin/ -iname "*.log" -exec rm {} \;
|
||||
find bin/ -iname "*.log" -exec rm -rf {} \;
|
||||
rm -rf ./$(path_to_arch)
|
||||
|
||||
clean: cleansrcs cleanbins
|
||||
clean: cleanouts cleanlogs cleanbins cleansrcs
|
||||
|
||||
distclean: clean
|
||||
rm -rf bin/c/*
|
||||
rm -rf LLVM-IR/$(CHECK_PATH)
|
||||
|
||||
veryclean: distclean
|
||||
rm -rf bin/c/
|
||||
rm -rf bin/fortran/
|
||||
|
||||
|
||||
cleanall:
|
||||
rm -rf ./bin/c/
|
||||
rm -rf ./bin/fortran/
|
||||
rm -rf ./LLVM-IR/$(path_to_arch)
|
||||
rm -rf ./$(path_to_arch)
|
||||
rm -rf ./*.log
|
||||
|
||||
cleanall:
|
||||
rm -rf bin/
|
||||
|
||||
|
46
openmp/testsuite/README_LLVM_OPENMP
Normal file
46
openmp/testsuite/README_LLVM_OPENMP
Normal file
@ -0,0 +1,46 @@
|
||||
============================================================================
|
||||
| To use the OpenMP Validation Suite for testing |
|
||||
| LLVM OpenMP Implementation |
|
||||
| High Performance Computing and Tools, |
|
||||
| University of Houston |
|
||||
| Jan. 2015 |
|
||||
============================================================================
|
||||
|
||||
Two new files have been added to openmp/runtime: check-openmp.pl and check-openmp-test.pl
|
||||
Go to /openmp/runtime, run:
|
||||
make test
|
||||
make test-clean
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
For the OpenMP-LLVM Project, following are the Files and Directories to know about:
|
||||
|
||||
|
||||
c Directory containing the templates for the c tests
|
||||
fortran Directory containing the templates for the Fortran
|
||||
Makefile Makefile containing options for compilation
|
||||
README_LLVM_OPENMP README file for to use the OpenMP test-suite
|
||||
README_OpenMP_Validation_Suite README file on the Validation Suite, templates, etc.,
|
||||
as a basis for testing the LLVM OpenMP implementation.
|
||||
LLVM_IR Directory containing target-specific IR files
|
||||
bin/lit files In the lit model, every test must exist inside some test suite.
|
||||
lit resolves the inputs specified on the command line to
|
||||
test suites by searching upwards from the input path
|
||||
until it finds a lit.cfg or lit.site.cfg file.
|
||||
These files serve as both a marker of test suites and
|
||||
as configuration files which lit loads in order to
|
||||
understand how to find and run the tests inside the test suite.
|
||||
bin/header Header for the tests, calls clang driver for the test,
|
||||
and executes the resulting executable
|
||||
bin/Makefile To generate LLVM_IR files
|
||||
bin/distribute.sh Generates LLVM_IR files, finds the architecture and OS, moves
|
||||
the generated IR files to the corresponding folder
|
||||
runtime/tools/check-openmp.pl Retrieving the right path
|
||||
runtime/tools/
|
||||
check-openmp-test.pl Returns the architecture and OS, e.g. lin_32e
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
Contact and Support
|
||||
==============================================================================
|
||||
|
||||
Contact: http://www.cs.uh.edu/~hpctools/
|
||||
Email: sunita@cs.uh.edu
|
32
openmp/testsuite/adding_xfails.py
Executable file
32
openmp/testsuite/adding_xfails.py
Executable file
@ -0,0 +1,32 @@
|
||||
|
||||
import os
|
||||
import commands
|
||||
|
||||
perl = "/usr/bin/perl"
|
||||
LLVM = "./LLVM-IR/"
|
||||
temp_filename = "temp"
|
||||
XFAIL_text = "; XFAIL: *\n"
|
||||
|
||||
|
||||
arch_file_list = dict()
|
||||
arch_file_list['lin_32e'] = ['test_omp_task_final.ll', 'test_omp_task_untied.ll']
|
||||
|
||||
|
||||
arch_script = "../runtime/tools/check-openmp-test.pl"
|
||||
arch_cmd = perl + " " + arch_script
|
||||
arch = commands.getoutput(arch_cmd)
|
||||
arch = arch[:len(arch)-1]
|
||||
|
||||
print "Adding XFAILS ..."
|
||||
|
||||
for f in arch_file_list[arch]:
|
||||
filename = LLVM + arch + "/" + f
|
||||
lines = open(filename).readlines()
|
||||
lines.insert(1, XFAIL_text)
|
||||
f2 = open(temp_filename, "w")
|
||||
for l in lines:
|
||||
f2.write(l)
|
||||
f2.close()
|
||||
|
||||
os.system("mv " + temp_filename + " " + filename)
|
||||
|
23
openmp/testsuite/bin/Makefile
Normal file
23
openmp/testsuite/bin/Makefile
Normal file
@ -0,0 +1,23 @@
|
||||
CC = clang
|
||||
CFLAGS = -fopenmp -S -emit-llvm
|
||||
INCL =
|
||||
LIBS =
|
||||
|
||||
BIN =
|
||||
SRC_DIR = ./c
|
||||
SRC_FILES := $(foreach DIR, $(SRC_DIR), $(wildcard $(SRC_DIR)/*.c))
|
||||
OBJS := $(patsubst %.c, %.o, $(SRC_FILES))
|
||||
TARGETLIST := $(patsubst %.c, %, $(SRC_FILES))
|
||||
|
||||
all:$(TARGETLIST)
|
||||
./distribute.sh
|
||||
@ echo all done
|
||||
|
||||
.PHONY: clean
|
||||
|
||||
$(TARGETLIST): $(SRC_FILES)
|
||||
$(CC) $(CFLAGS) $(LIBS) $(INCL) $@.c -o $@.ll
|
||||
|
||||
clean:
|
||||
@ rm -rf c/*
|
||||
@ echo clean bin done
|
125
openmp/testsuite/bin/distribute.sh
Executable file
125
openmp/testsuite/bin/distribute.sh
Executable file
@ -0,0 +1,125 @@
|
||||
#!/bin/bash
|
||||
|
||||
# add header for .ll files
|
||||
|
||||
# get tmp header
|
||||
cp header /tmp/tmp.header
|
||||
echo >> /tmp/tmp.header
|
||||
|
||||
# create temporary test package
|
||||
mkdir c-$MACHTYPE$OSTYPE
|
||||
`cp c/*.ll c-$MACHTYPE$OSTYPE/`
|
||||
|
||||
# add new header into .ll files
|
||||
for file in c-$MACHTYPE$OSTYPE/*
|
||||
do
|
||||
cp $file /tmp/tmp.ll.bf
|
||||
cat /tmp/tmp.header /tmp/tmp.ll.bf > /tmp/tmp.ll
|
||||
mv /tmp/tmp.ll $file
|
||||
done
|
||||
|
||||
|
||||
# in bin/, target is ../LLVM-IR/ARCH/OS
|
||||
LEVEL=../LLVM-IR/
|
||||
ARCH_PATH=../LLVM-IR/
|
||||
OS_PATH=../LLVM-IR/
|
||||
|
||||
# for linux system, add your arch and os here
|
||||
declare -a ARCHes=(x86 x86_64 powerpc arm mips darwin)
|
||||
declare -a OSes=(linux macosx windows darwin)
|
||||
|
||||
declare lowerARCH
|
||||
declare lowerOS
|
||||
|
||||
# target directory name
|
||||
declare upperARCH
|
||||
declare upperOS
|
||||
|
||||
lowerARCH=$(echo "$MACHTYPE" | tr '[:upper:]' '[:lower:]')
|
||||
lowerOS=$(echo "$OSTYPE" | tr '[:upper:]' '[:lower:]')
|
||||
|
||||
# ARCH
|
||||
for i in ${ARCHes[@]}
|
||||
do
|
||||
result=$(echo "${lowerARCH}" | grep $i)
|
||||
if [[ "$result" != "" ]]
|
||||
then
|
||||
# upperARCH=$i
|
||||
upperARCH=$(echo "$i" | tr '[:lower:]' '[:upper:]')
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ "$upperARCH" == "" ]]
|
||||
then
|
||||
echo "Not found ${lowerARCH} in the [${ARCHes[@]}]!"
|
||||
exit
|
||||
fi
|
||||
|
||||
# OS
|
||||
for i in ${OSes[@]}
|
||||
do
|
||||
result=$(echo "${lowerOS}" | grep $i)
|
||||
if [[ "$result" != "" ]]
|
||||
then
|
||||
# upperOS=$i
|
||||
upperOS=$(echo "$i" | tr '[:lower:]' '[:upper:]')
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ "$upperOS" == "" ]]
|
||||
then
|
||||
echo "Not found ${lowerOS} in the [${OSes[@]}]!"
|
||||
exit
|
||||
fi
|
||||
|
||||
# survived, assemble the path
|
||||
# ARCH_PATH+=$upperARCH/
|
||||
# OS_PATH+=$upperARCH/$upperOS/
|
||||
ARCH_newFormat=.
|
||||
if [ $upperARCH = "X86" ]; then
|
||||
ARCH_newFormat=32
|
||||
else
|
||||
ARCH_newFormat=32e
|
||||
fi
|
||||
OS_newFormat=.
|
||||
if [ $upperOS = "LINUX" ]; then
|
||||
OS_newFormat=lin
|
||||
elif [ $upperOS = "MACOSX" ]; then
|
||||
OS_newFormat=mac
|
||||
elif [ $upperOS = "WINDOWS" ]; then
|
||||
OS_newFormat=win
|
||||
elif [ $upperOS = "DARWIN" ]; then
|
||||
OS_newFormat=dar
|
||||
else
|
||||
OS_newFormat=unknown
|
||||
fi
|
||||
OS_PATH+=$OS_newFormat"_"$ARCH_newFormat
|
||||
|
||||
# test and create directory
|
||||
if [ ! -d "$LEVEL" ]; then
|
||||
mkdir $LEVEL
|
||||
mkdir $OS_PATH
|
||||
else
|
||||
if [ ! -d "$OS_PATH" ]; then
|
||||
mkdir $OS_PATH
|
||||
fi
|
||||
fi
|
||||
|
||||
# reserve the tmp path to LLVM-IR/ARCH/OS
|
||||
echo $OS_PATH"/" > lit.tmp
|
||||
|
||||
# OS_ARCH=$OS_newFormat"_"$ARCH_newFormat
|
||||
# echo -e "if not '$OS_ARCH' in config.root.targets:" > $OS_PATH'/'lit.local.cfg
|
||||
# echo -e "\tconfig.unsupported = True" >> $OS_PATH'/'lit.local.cfg
|
||||
|
||||
# copy *.ll files to ARCH/OS
|
||||
`cp lit.* $LEVEL`
|
||||
|
||||
# omit orph test
|
||||
`rm c-$MACHTYPE$OSTYPE/ctest_*.ll`
|
||||
`rm c-$MACHTYPE$OSTYPE/orph_ctest_*.ll`
|
||||
`cp c-$MACHTYPE$OSTYPE/*.ll $OS_PATH`
|
||||
|
||||
# clean
|
||||
`rm /tmp/tmp.*`
|
||||
rm -rf c-$MACHTYPE$OSTYPE/
|
6
openmp/testsuite/bin/header
Normal file
6
openmp/testsuite/bin/header
Normal file
@ -0,0 +1,6 @@
|
||||
; RUN: %clang -liomp5 -lm %s -o %t && %t 2>&1 | FileCheck %s
|
||||
; CHECK-NOT: Test failed
|
||||
; CHECK: Directive worked without errors
|
||||
|
||||
|
||||
|
78
openmp/testsuite/bin/lit.cfg
Normal file
78
openmp/testsuite/bin/lit.cfg
Normal file
@ -0,0 +1,78 @@
|
||||
# -*- Python -*-
|
||||
|
||||
# Configuration file for the 'lit' test runner.
|
||||
|
||||
import os
|
||||
import sys
|
||||
import re
|
||||
import platform
|
||||
|
||||
try:
|
||||
import lit.util
|
||||
import lit.formats
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
# name: The name of this test suite.
|
||||
config.name = 'OpenMPValidationSuite'
|
||||
|
||||
# testFormat: The test format to use to interpret tests.
|
||||
config.test_format = lit.formats.ShTest(execute_external=False)
|
||||
|
||||
# suffixes: A list of file extensions to treat as test files
|
||||
# Note this can be overridden by lit.local.cfg files
|
||||
config.suffixes = ['.ll']
|
||||
|
||||
# test_source_root: The root path where tests are located.
|
||||
#config.test_source_root = "/home/ichoyjx/install/openmp/testsuite/bin"
|
||||
#os.path.dirname(__file__)
|
||||
|
||||
# test_exec_root: The root path where tests should be run.
|
||||
#mpvs_obj_root = getattr(config, 'mpvs_obj_root', None)
|
||||
#if mpvs_obj_root is not None:
|
||||
config.test_exec_root = "./"
|
||||
#os.path.join(mpvs_obj_root, 'src')
|
||||
|
||||
# Discover the 'clang' and 'clangcc' to use.
|
||||
|
||||
import os
|
||||
|
||||
def inferClang(PATH):
|
||||
# Determine which clang to use.
|
||||
clang = os.getenv('CLANG')
|
||||
|
||||
# If the user set clang in the environment, definitely use that and don't
|
||||
# try to validate.
|
||||
if clang:
|
||||
return clang
|
||||
|
||||
# Otherwise look in the path.
|
||||
clang = lit.util.which('clang', PATH)
|
||||
|
||||
if not clang:
|
||||
lit_config.fatal("couldn't find 'clang' program, try setting "
|
||||
"CLANG in your environment")
|
||||
|
||||
return clang
|
||||
|
||||
config.clang = inferClang(config.environment['PATH']).replace('\\', '/')
|
||||
config.substitutions.append( ('%clang', ' ' + config.clang + ' ') )
|
||||
|
||||
# Propogate some environment variable to test environment.
|
||||
def addEnv(name):
|
||||
if name in os.environ:
|
||||
config.environment[name] = os.environ[name]
|
||||
|
||||
addEnv('HOME')
|
||||
addEnv('PWD')
|
||||
|
||||
|
||||
addEnv('C_INCLUDE_PATH')
|
||||
addEnv('CPLUS_INCLUDE_PATH')
|
||||
addEnv('LIBRARY_PATH')
|
||||
addEnv('LD_LIBRARY_PATH')
|
||||
addEnv('DYLD_LIBRARY_PATH')
|
||||
|
||||
# Check that the object root is known.
|
||||
if config.test_exec_root is None:
|
||||
lit.fatal('test execution root not set!')
|
30
openmp/testsuite/bin/lit.site.cfg.in
Normal file
30
openmp/testsuite/bin/lit.site.cfg.in
Normal file
@ -0,0 +1,30 @@
|
||||
## Autogenerated by LLVM/Clang configuration.
|
||||
#config.mpvs_src_root = "/home/ichoyjx/install/openmp/testsuite/bin/c"
|
||||
config.mpvs_obj_root = "/tmp"
|
||||
config.llvm_tools_dir = "@LLVM_TOOLS_DIR@"
|
||||
|
||||
|
||||
# Needed to check if a hack needs to be applied
|
||||
config.llvm_version_major = "@LLVM_VERSION_MAJOR@"
|
||||
|
||||
# Compilers
|
||||
# FIXME: use llvmcc not llvmgcc
|
||||
config.llvmclang = "clang"
|
||||
|
||||
# Features
|
||||
config.enable_uclibc = True if @ENABLE_UCLIBC@ == 1 else False
|
||||
config.enable_posix_runtime = True if @ENABLE_POSIX_RUNTIME@ == 1 else False
|
||||
config.have_selinux = True if @HAVE_SELINUX@ == 1 else False
|
||||
|
||||
# Current target
|
||||
config.target_triple = "@TARGET_TRIPLE@"
|
||||
|
||||
# Let the main config do the real work.
|
||||
try:
|
||||
lit
|
||||
except NameError:
|
||||
# Use lit_config class
|
||||
lit_config.load_config(config, "@MPVS_SOURCE_DIR@/lit.cfg")
|
||||
else:
|
||||
# Use old lit class
|
||||
lit.load_config(config, "@MPVS_SOURCE_DIR@/lit.cfg")
|
1
openmp/testsuite/bin/lit.tmp
Normal file
1
openmp/testsuite/bin/lit.tmp
Normal file
@ -0,0 +1 @@
|
||||
../LLVM-IR/lin_32e/
|
@ -1,2 +0,0 @@
|
||||
# Add custom tests in this list
|
||||
omp_parallel_copyin
|
@ -26,139 +26,139 @@
|
||||
/**********************************************************/
|
||||
#define NUM_TASKS 25
|
||||
#define MAX_TASKS_PER_THREAD 5
|
||||
int test_omp_nested(FILE * logfile); /* Test for omp_nested */
|
||||
int crosstest_omp_nested(FILE * logfile); /* Crosstest for omp_nested */
|
||||
int test_omp_nest_lock(FILE * logfile); /* Test for omp_nest_lock */
|
||||
int crosstest_omp_nest_lock(FILE * logfile); /* Crosstest for omp_nest_lock */
|
||||
int test_omp_task_if(FILE * logfile); /* Test for omp task if */
|
||||
int crosstest_omp_task_if(FILE * logfile); /* Crosstest for omp task if */
|
||||
int test_omp_parallel_for_ordered(FILE * logfile); /* Test for omp parallel for ordered */
|
||||
int crosstest_omp_parallel_for_ordered(FILE * logfile); /* Crosstest for omp parallel for ordered */
|
||||
int test_omp_task_imp_firstprivate(FILE * logfile); /* Test for omp task */
|
||||
int crosstest_omp_task_imp_firstprivate(FILE * logfile); /* Crosstest for omp task */
|
||||
int test_omp_taskwait(FILE * logfile); /* Test for omp taskwait */
|
||||
int crosstest_omp_taskwait(FILE * logfile); /* Crosstest for omp taskwait */
|
||||
int test_omp_barrier(FILE * logfile); /* Test for omp barrier */
|
||||
int crosstest_omp_barrier(FILE * logfile); /* Crosstest for omp barrier */
|
||||
int test_omp_parallel_for_if(FILE * logfile); /* Test for omp parallel for if */
|
||||
int crosstest_omp_parallel_for_if(FILE * logfile); /* Crosstest for omp parallel for if */
|
||||
int test_omp_atomic(FILE * logfile); /* Test for omp atomic */
|
||||
int crosstest_omp_atomic(FILE * logfile); /* Crosstest for omp atomic */
|
||||
int test_omp_get_num_threads(FILE * logfile); /* Test for omp_get_num_threads */
|
||||
int crosstest_omp_get_num_threads(FILE * logfile); /* Crosstest for omp_get_num_threads */
|
||||
int test_omp_section_private(FILE * logfile); /* Test for omp section private */
|
||||
int crosstest_omp_section_private(FILE * logfile); /* Crosstest for omp section private */
|
||||
int test_omp_parallel_if(FILE * logfile); /* Test for omp parallel if */
|
||||
int crosstest_omp_parallel_if(FILE * logfile); /* Crosstest for omp parallel if */
|
||||
int test_omp_lock(FILE * logfile); /* Test for omp_lock */
|
||||
int crosstest_omp_lock(FILE * logfile); /* Crosstest for omp_lock */
|
||||
int test_omp_parallel_shared(FILE * logfile); /* Test for omp parallel shared */
|
||||
int crosstest_omp_parallel_shared(FILE * logfile); /* Crosstest for omp parallel shared */
|
||||
int test_omp_task_imp_shared(FILE * logfile); /* Test for omp task */
|
||||
int crosstest_omp_task_imp_shared(FILE * logfile); /* Crosstest for omp task */
|
||||
int test_omp_task_private(FILE * logfile); /* Test for omp task private */
|
||||
int crosstest_omp_task_private(FILE * logfile); /* Crosstest for omp task private */
|
||||
int test_omp_section_lastprivate(FILE * logfile); /* Test for omp section lastprivate */
|
||||
int crosstest_omp_section_lastprivate(FILE * logfile); /* Crosstest for omp section lastprivate */
|
||||
int test_omp_parallel_firstprivate(FILE * logfile); /* Test for omp parallel firstprivate */
|
||||
int crosstest_omp_parallel_firstprivate(FILE * logfile); /* Crosstest for omp parallel firstprivate */
|
||||
int test_omp_for_auto(FILE * logfile); /* Test for omp for auto */
|
||||
int crosstest_omp_for_auto(FILE * logfile); /* Crosstest for omp for auto */
|
||||
int test_omp_for_schedule_static(FILE * logfile); /* Test for omp for schedule(static) */
|
||||
int crosstest_omp_for_schedule_static(FILE * logfile); /* Crosstest for omp for schedule(static) */
|
||||
int test_omp_threadprivate_for(FILE * logfile); /* Test for omp threadprivate */
|
||||
int crosstest_omp_threadprivate_for(FILE * logfile); /* Crosstest for omp threadprivate */
|
||||
int test_omp_task_untied(FILE * logfile); /* Test for omp task untied */
|
||||
int crosstest_omp_task_untied(FILE * logfile); /* Crosstest for omp task untied */
|
||||
int test_omp_parallel_private(FILE * logfile); /* Test for omp parallel private */
|
||||
int crosstest_omp_parallel_private(FILE * logfile); /* Crosstest for omp parallel private */
|
||||
int test_omp_single_nowait(FILE * logfile); /* Test for omp single nowait */
|
||||
int crosstest_omp_single_nowait(FILE * logfile); /* Crosstest for omp single nowait */
|
||||
int test_omp_critical(FILE * logfile); /* Test for omp critical */
|
||||
int crosstest_omp_critical(FILE * logfile); /* Crosstest for omp critical */
|
||||
int test_omp_get_wtick(FILE * logfile); /* Test for omp_get_wtick */
|
||||
int crosstest_omp_get_wtick(FILE * logfile); /* Crosstest for omp_get_wtick */
|
||||
int test_omp_single(FILE * logfile); /* Test for omp single */
|
||||
int crosstest_omp_single(FILE * logfile); /* Crosstest for omp single */
|
||||
int test_omp_parallel_sections_reduction(FILE * logfile); /* Test for omp parallel sections reduction */
|
||||
int crosstest_omp_parallel_sections_reduction(FILE * logfile); /* Crosstest for omp parallel sections reduction */
|
||||
int test_omp_for_schedule_dynamic(FILE * logfile); /* Test for omp for schedule(dynamic) */
|
||||
int crosstest_omp_for_schedule_dynamic(FILE * logfile); /* Crosstest for omp for schedule(dynamic) */
|
||||
int test_has_openmp(FILE * logfile); /* Test for _OPENMP */
|
||||
int crosstest_has_openmp(FILE * logfile); /* Crosstest for _OPENMP */
|
||||
int test_omp_taskwait(FILE * logfile); /* Test for omp taskwait */
|
||||
int crosstest_omp_taskwait(FILE * logfile); /* Crosstest for omp taskwait */
|
||||
int test_omp_parallel_for_lastprivate(FILE * logfile); /* Test for omp parallel for lastprivate */
|
||||
int crosstest_omp_parallel_for_lastprivate(FILE * logfile); /* Crosstest for omp parallel for lastprivate */
|
||||
int test_omp_for_schedule_static_3(FILE * logfile); /* Test for omp for schedule(static) */
|
||||
int crosstest_omp_for_schedule_static_3(FILE * logfile); /* Crosstest for omp for schedule(static) */
|
||||
int test_omp_critical(FILE * logfile); /* Test for omp critical */
|
||||
int crosstest_omp_critical(FILE * logfile); /* Crosstest for omp critical */
|
||||
int test_omp_parallel_sections_lastprivate(FILE * logfile); /* Test for omp parallel sections lastprivate */
|
||||
int crosstest_omp_parallel_sections_lastprivate(FILE * logfile); /* Crosstest for omp parallel sections lastprivate */
|
||||
int test_omp_parallel_num_threads(FILE * logfile); /* Test for omp parellel num_threads */
|
||||
int crosstest_omp_parallel_num_threads(FILE * logfile); /* Crosstest for omp parellel num_threads */
|
||||
int test_omp_sections_reduction(FILE * logfile); /* Test for omp sections reduction */
|
||||
int crosstest_omp_sections_reduction(FILE * logfile); /* Crosstest for omp sections reduction */
|
||||
int test_omp_parallel_if(FILE * logfile); /* Test for omp parallel if */
|
||||
int crosstest_omp_parallel_if(FILE * logfile); /* Crosstest for omp parallel if */
|
||||
int test_omp_task_imp_shared(FILE * logfile); /* Test for omp task */
|
||||
int crosstest_omp_task_imp_shared(FILE * logfile); /* Crosstest for omp task */
|
||||
int test_omp_section_lastprivate(FILE * logfile); /* Test for omp section lastprivate */
|
||||
int crosstest_omp_section_lastprivate(FILE * logfile); /* Crosstest for omp section lastprivate */
|
||||
int test_omp_for_collapse(FILE * logfile); /* Test for omp for collapse */
|
||||
int crosstest_omp_for_collapse(FILE * logfile); /* Crosstest for omp for collapse */
|
||||
int test_omp_parallel_for_firstprivate(FILE * logfile); /* Test for omp parallel for firstprivate */
|
||||
int crosstest_omp_parallel_for_firstprivate(FILE * logfile); /* Crosstest for omp parallel for firstprivate */
|
||||
int test_omp_parallel_copyin(FILE * logfile); /* Test for omp parallel copyin */
|
||||
int crosstest_omp_parallel_copyin(FILE * logfile); /* Crosstest for omp parallel copyin */
|
||||
int test_omp_test_nest_lock(FILE * logfile); /* Test for omp_test_nest_lock */
|
||||
int crosstest_omp_test_nest_lock(FILE * logfile); /* Crosstest for omp_test_nest_lock */
|
||||
int test_omp_for_ordered(FILE * logfile); /* Test for omp for ordered */
|
||||
int crosstest_omp_for_ordered(FILE * logfile); /* Crosstest for omp for ordered */
|
||||
int test_omp_parallel_reduction(FILE * logfile); /* Test for omp parallel reduction */
|
||||
int crosstest_omp_parallel_reduction(FILE * logfile); /* Crosstest for omp parallel reduction */
|
||||
int test_omp_get_wtick(FILE * logfile); /* Test for omp_get_wtick */
|
||||
int crosstest_omp_get_wtick(FILE * logfile); /* Crosstest for omp_get_wtick */
|
||||
int test_omp_taskyield(FILE * logfile); /* Test for omp taskyield */
|
||||
int crosstest_omp_taskyield(FILE * logfile); /* Crosstest for omp taskyield */
|
||||
int test_omp_for_schedule_static(FILE * logfile); /* Test for omp for schedule(static) */
|
||||
int crosstest_omp_for_schedule_static(FILE * logfile); /* Crosstest for omp for schedule(static) */
|
||||
int test_omp_single_private(FILE * logfile); /* Test for omp singel private */
|
||||
int crosstest_omp_single_private(FILE * logfile); /* Crosstest for omp singel private */
|
||||
int test_omp_for_firstprivate(FILE * logfile); /* Test for omp for firstprivate */
|
||||
int crosstest_omp_for_firstprivate(FILE * logfile); /* Crosstest for omp for firstprivate */
|
||||
int test_omp_parallel_for_reduction(FILE * logfile); /* Test for omp parallel for reduction */
|
||||
int crosstest_omp_parallel_for_reduction(FILE * logfile); /* Crosstest for omp parallel for reduction */
|
||||
int test_omp_parallel_for_if(FILE * logfile); /* Test for omp parallel for if */
|
||||
int crosstest_omp_parallel_for_if(FILE * logfile); /* Crosstest for omp parallel for if */
|
||||
int test_omp_single_nowait(FILE * logfile); /* Test for omp single nowait */
|
||||
int crosstest_omp_single_nowait(FILE * logfile); /* Crosstest for omp single nowait */
|
||||
int test_omp_task_firstprivate(FILE * logfile); /* Test for omp task firstprivate */
|
||||
int crosstest_omp_task_firstprivate(FILE * logfile); /* Crosstest for omp task firstprivate */
|
||||
int test_omp_for_nowait(FILE * logfile); /* Test for omp parallel for nowait */
|
||||
int crosstest_omp_for_nowait(FILE * logfile); /* Crosstest for omp parallel for nowait */
|
||||
int test_omp_task_private(FILE * logfile); /* Test for omp task private */
|
||||
int crosstest_omp_task_private(FILE * logfile); /* Crosstest for omp task private */
|
||||
int test_omp_test_lock(FILE * logfile); /* Test for omp_test_lock */
|
||||
int crosstest_omp_test_lock(FILE * logfile); /* Crosstest for omp_test_lock */
|
||||
int test_omp_get_wtime(FILE * logfile); /* Test for omp_get_wtime */
|
||||
int crosstest_omp_get_wtime(FILE * logfile); /* Crosstest for omp_get_wtime */
|
||||
int test_omp_task_imp_firstprivate(FILE * logfile); /* Test for omp task */
|
||||
int crosstest_omp_task_imp_firstprivate(FILE * logfile); /* Crosstest for omp task */
|
||||
int test_omp_atomic(FILE * logfile); /* Test for omp atomic */
|
||||
int crosstest_omp_atomic(FILE * logfile); /* Crosstest for omp atomic */
|
||||
int test_omp_threadprivate_for(FILE * logfile); /* Test for omp threadprivate */
|
||||
int crosstest_omp_threadprivate_for(FILE * logfile); /* Crosstest for omp threadprivate */
|
||||
int test_omp_single_copyprivate(FILE * logfile); /* Test for omp single copyprivate */
|
||||
int crosstest_omp_single_copyprivate(FILE * logfile); /* Crosstest for omp single copyprivate */
|
||||
int test_omp_master(FILE * logfile); /* Test for omp master */
|
||||
int crosstest_omp_master(FILE * logfile); /* Crosstest for omp master */
|
||||
int test_omp_parallel_firstprivate(FILE * logfile); /* Test for omp parallel firstprivate */
|
||||
int crosstest_omp_parallel_firstprivate(FILE * logfile); /* Crosstest for omp parallel firstprivate */
|
||||
int test_omp_parallel_for_private(FILE * logfile); /* Test for omp parallel for private */
|
||||
int crosstest_omp_parallel_for_private(FILE * logfile); /* Crosstest for omp parallel for private */
|
||||
int test_omp_parallel_default(FILE * logfile); /* Test for omp parallel default */
|
||||
int crosstest_omp_parallel_default(FILE * logfile); /* Crosstest for omp parallel default */
|
||||
int test_omp_parallel_for_ordered(FILE * logfile); /* Test for omp parallel for ordered */
|
||||
int crosstest_omp_parallel_for_ordered(FILE * logfile); /* Crosstest for omp parallel for ordered */
|
||||
int test_has_openmp(FILE * logfile); /* Test for _OPENMP */
|
||||
int crosstest_has_openmp(FILE * logfile); /* Crosstest for _OPENMP */
|
||||
int test_omp_parallel_for_lastprivate(FILE * logfile); /* Test for omp parallel for lastprivate */
|
||||
int crosstest_omp_parallel_for_lastprivate(FILE * logfile); /* Crosstest for omp parallel for lastprivate */
|
||||
int test_omp_parallel_sections_lastprivate(FILE * logfile); /* Test for omp parallel sections lastprivate */
|
||||
int crosstest_omp_parallel_sections_lastprivate(FILE * logfile); /* Crosstest for omp parallel sections lastprivate */
|
||||
int test_omp_for_lastprivate(FILE * logfile); /* Test for omp for lastprivate */
|
||||
int crosstest_omp_for_lastprivate(FILE * logfile); /* Crosstest for omp for lastprivate */
|
||||
int test_omp_lock(FILE * logfile); /* Test for omp_lock */
|
||||
int crosstest_omp_lock(FILE * logfile); /* Crosstest for omp_lock */
|
||||
int test_omp_barrier(FILE * logfile); /* Test for omp barrier */
|
||||
int crosstest_omp_barrier(FILE * logfile); /* Crosstest for omp barrier */
|
||||
int test_omp_sections_nowait(FILE * logfile); /* Test for omp parallel sections nowait */
|
||||
int crosstest_omp_sections_nowait(FILE * logfile); /* Crosstest for omp parallel sections nowait */
|
||||
int test_omp_master_3(FILE * logfile); /* Test for omp master */
|
||||
int crosstest_omp_master_3(FILE * logfile); /* Crosstest for omp master */
|
||||
int test_omp_task_untied(FILE * logfile); /* Test for omp task untied */
|
||||
int crosstest_omp_task_untied(FILE * logfile); /* Crosstest for omp task untied */
|
||||
int test_omp_task(FILE * logfile); /* Test for omp task */
|
||||
int crosstest_omp_task(FILE * logfile); /* Crosstest for omp task */
|
||||
int test_omp_in_parallel(FILE * logfile); /* Test for omp_in_parallel */
|
||||
int crosstest_omp_in_parallel(FILE * logfile); /* Crosstest for omp_in_parallel */
|
||||
int test_omp_parallel_sections_firstprivate(FILE * logfile); /* Test for omp parallel sections firstprivate */
|
||||
int crosstest_omp_parallel_sections_firstprivate(FILE * logfile); /* Crosstest for omp parallel sections firstprivate */
|
||||
int test_omp_for_auto(FILE * logfile); /* Test for omp for auto */
|
||||
int crosstest_omp_for_auto(FILE * logfile); /* Crosstest for omp for auto */
|
||||
int test_omp_task_final(FILE * logfile); /* Test for omp task final */
|
||||
int crosstest_omp_task_final(FILE * logfile); /* Crosstest for omp task final */
|
||||
int test_omp_section_private(FILE * logfile); /* Test for omp section private */
|
||||
int crosstest_omp_section_private(FILE * logfile); /* Crosstest for omp section private */
|
||||
int test_omp_parallel_for_reduction(FILE * logfile); /* Test for omp parallel for reduction */
|
||||
int crosstest_omp_parallel_for_reduction(FILE * logfile); /* Crosstest for omp parallel for reduction */
|
||||
int test_omp_test_lock(FILE * logfile); /* Test for omp_test_lock */
|
||||
int crosstest_omp_test_lock(FILE * logfile); /* Crosstest for omp_test_lock */
|
||||
int test_omp_parallel_for_firstprivate(FILE * logfile); /* Test for omp parallel for firstprivate */
|
||||
int crosstest_omp_parallel_for_firstprivate(FILE * logfile); /* Crosstest for omp parallel for firstprivate */
|
||||
int test_omp_parallel_sections_private(FILE * logfile); /* Test for omp parallel sections private */
|
||||
int crosstest_omp_parallel_sections_private(FILE * logfile); /* Crosstest for omp parallel sections private */
|
||||
int test_omp_parallel_num_threads(FILE * logfile); /* Test for omp parellel num_threads */
|
||||
int crosstest_omp_parallel_num_threads(FILE * logfile); /* Crosstest for omp parellel num_threads */
|
||||
int test_omp_for_reduction(FILE * logfile); /* Test for omp for reduction */
|
||||
int crosstest_omp_for_reduction(FILE * logfile); /* Crosstest for omp for reduction */
|
||||
int test_omp_for_private(FILE * logfile); /* Test for omp for private */
|
||||
int crosstest_omp_for_private(FILE * logfile); /* Crosstest for omp for private */
|
||||
int test_omp_flush(FILE * logfile); /* Test for omp flush */
|
||||
int crosstest_omp_flush(FILE * logfile); /* Crosstest for omp flush */
|
||||
int test_omp_parallel_private(FILE * logfile); /* Test for omp parallel private */
|
||||
int crosstest_omp_parallel_private(FILE * logfile); /* Crosstest for omp parallel private */
|
||||
int test_omp_sections_nowait(FILE * logfile); /* Test for omp parallel sections nowait */
|
||||
int crosstest_omp_sections_nowait(FILE * logfile); /* Crosstest for omp parallel sections nowait */
|
||||
int test_omp_parallel_reduction(FILE * logfile); /* Test for omp parallel reduction */
|
||||
int crosstest_omp_parallel_reduction(FILE * logfile); /* Crosstest for omp parallel reduction */
|
||||
int test_omp_nested(FILE * logfile); /* Test for omp_nested */
|
||||
int crosstest_omp_nested(FILE * logfile); /* Crosstest for omp_nested */
|
||||
int test_omp_threadprivate(FILE * logfile); /* Test for omp threadprivate */
|
||||
int crosstest_omp_threadprivate(FILE * logfile); /* Crosstest for omp threadprivate */
|
||||
int test_omp_section_firstprivate(FILE * logfile); /* Test for omp firstprivate */
|
||||
int crosstest_omp_section_firstprivate(FILE * logfile); /* Crosstest for omp firstprivate */
|
||||
int test_omp_sections_reduction(FILE * logfile); /* Test for omp sections reduction */
|
||||
int crosstest_omp_sections_reduction(FILE * logfile); /* Crosstest for omp sections reduction */
|
||||
int test_omp_for_schedule_guided(FILE * logfile); /* Test for omp for schedule(guided) */
|
||||
int crosstest_omp_for_schedule_guided(FILE * logfile); /* Crosstest for omp for schedule(guided) */
|
||||
int test_omp_get_num_threads(FILE * logfile); /* Test for omp_get_num_threads */
|
||||
int crosstest_omp_get_num_threads(FILE * logfile); /* Crosstest for omp_get_num_threads */
|
||||
int test_omp_task_final(FILE * logfile); /* Test for omp task final */
|
||||
int crosstest_omp_task_final(FILE * logfile); /* Crosstest for omp task final */
|
||||
int test_omp_parallel_for_private(FILE * logfile); /* Test for omp parallel for private */
|
||||
int crosstest_omp_parallel_for_private(FILE * logfile); /* Crosstest for omp parallel for private */
|
||||
int test_omp_flush(FILE * logfile); /* Test for omp flush */
|
||||
int crosstest_omp_flush(FILE * logfile); /* Crosstest for omp flush */
|
||||
int test_omp_for_private(FILE * logfile); /* Test for omp for private */
|
||||
int crosstest_omp_for_private(FILE * logfile); /* Crosstest for omp for private */
|
||||
int test_omp_for_ordered(FILE * logfile); /* Test for omp for ordered */
|
||||
int crosstest_omp_for_ordered(FILE * logfile); /* Crosstest for omp for ordered */
|
||||
int test_omp_single_copyprivate(FILE * logfile); /* Test for omp single copyprivate */
|
||||
int crosstest_omp_single_copyprivate(FILE * logfile); /* Crosstest for omp single copyprivate */
|
||||
int test_omp_task_if(FILE * logfile); /* Test for omp task if */
|
||||
int crosstest_omp_task_if(FILE * logfile); /* Crosstest for omp task if */
|
||||
int test_omp_section_firstprivate(FILE * logfile); /* Test for omp firstprivate */
|
||||
int crosstest_omp_section_firstprivate(FILE * logfile); /* Crosstest for omp firstprivate */
|
||||
int test_omp_for_schedule_static_3(FILE * logfile); /* Test for omp for schedule(static) */
|
||||
int crosstest_omp_for_schedule_static_3(FILE * logfile); /* Crosstest for omp for schedule(static) */
|
||||
int test_omp_task_firstprivate(FILE * logfile); /* Test for omp task firstprivate */
|
||||
int crosstest_omp_task_firstprivate(FILE * logfile); /* Crosstest for omp task firstprivate */
|
||||
int test_omp_for_collapse(FILE * logfile); /* Test for omp for collapse */
|
||||
int crosstest_omp_for_collapse(FILE * logfile); /* Crosstest for omp for collapse */
|
||||
int test_omp_in_parallel(FILE * logfile); /* Test for omp_in_parallel */
|
||||
int crosstest_omp_in_parallel(FILE * logfile); /* Crosstest for omp_in_parallel */
|
||||
int test_omp_for_schedule_dynamic(FILE * logfile); /* Test for omp for schedule(dynamic) */
|
||||
int crosstest_omp_for_schedule_dynamic(FILE * logfile); /* Crosstest for omp for schedule(dynamic) */
|
||||
int test_omp_for_firstprivate(FILE * logfile); /* Test for omp for firstprivate */
|
||||
int crosstest_omp_for_firstprivate(FILE * logfile); /* Crosstest for omp for firstprivate */
|
||||
int test_omp_master(FILE * logfile); /* Test for omp master */
|
||||
int crosstest_omp_master(FILE * logfile); /* Crosstest for omp master */
|
||||
int test_omp_single_private(FILE * logfile); /* Test for omp singel private */
|
||||
int crosstest_omp_single_private(FILE * logfile); /* Crosstest for omp singel private */
|
||||
int test_omp_task(FILE * logfile); /* Test for omp task */
|
||||
int crosstest_omp_task(FILE * logfile); /* Crosstest for omp task */
|
||||
int test_omp_parallel_default(FILE * logfile); /* Test for omp parallel default */
|
||||
int crosstest_omp_parallel_default(FILE * logfile); /* Crosstest for omp parallel default */
|
||||
int test_omp_for_nowait(FILE * logfile); /* Test for omp parallel for nowait */
|
||||
int crosstest_omp_for_nowait(FILE * logfile); /* Crosstest for omp parallel for nowait */
|
||||
int test_omp_test_nest_lock(FILE * logfile); /* Test for omp_test_nest_lock */
|
||||
int crosstest_omp_test_nest_lock(FILE * logfile); /* Crosstest for omp_test_nest_lock */
|
||||
int test_omp_nest_lock(FILE * logfile); /* Test for omp_nest_lock */
|
||||
int crosstest_omp_nest_lock(FILE * logfile); /* Crosstest for omp_nest_lock */
|
||||
int test_omp_parallel_copyin(FILE * logfile); /* Test for omp parallel copyin */
|
||||
int crosstest_omp_parallel_copyin(FILE * logfile); /* Crosstest for omp parallel copyin */
|
||||
int test_omp_master_3(FILE * logfile); /* Test for omp master */
|
||||
int crosstest_omp_master_3(FILE * logfile); /* Crosstest for omp master */
|
||||
int test_omp_get_wtime(FILE * logfile); /* Test for omp_get_wtime */
|
||||
int crosstest_omp_get_wtime(FILE * logfile); /* Crosstest for omp_get_wtime */
|
||||
|
||||
#endif
|
||||
|
@ -5,7 +5,7 @@ int main()
|
||||
int failed=0; /* Number of failed tests */
|
||||
int success=0; /* number of succeeded tests */
|
||||
static FILE * logFile; /* pointer onto the logfile */
|
||||
static const char * logFileName = "bin/c/<testfunctionname></testfunctionname>.log"; /* name of the logfile */
|
||||
static const char * logFileName = "<testfunctionname></testfunctionname>.log"; /* name of the logfile */
|
||||
|
||||
|
||||
/* Open a new Logfile or overwrite the existing one. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user