* Enable -Werror for GCC/Clang builds
Fixes many of the errors this produces, and disables a handful that
didn't have solutions that were obvious (to me).
* Check for `-W*` flags empirically
* Remove cl_APPLE_fp64_basic_ops support
* Undo NAN conversion fix
* Add comments to warning override flags
* Remove unneeded STRINGIFY definition
* Fix tautological compare issue in basic
* Use ABS_ERROR macro in image tests
* Use fabs for ABS_ERROR macro
* Move ABS_ERROR definition to common header
* Accept OpenCL 3.0 in version parsing code and use where appropriate
There were a number of tests against 2.2 that are clearer against 3.0.
Fixes#751
Signed-off-by: Kévin Petit <kpet@free.fr>
* Remove CL_EXPERIMENTAL guards
Signed-off-by: Kévin Petit <kpet@free.fr>
* formatting
* Configure the headers for OpenCL 3.0
* more format fixes
* Add Travis CI jobs for Arm and AArch64
- Use fixed Linaro toolchains
- Move travis script to a shell file
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
* Fix Arm build and string comparisons added under #637
* Remove verbose flag on tar command
* Fix conversions build with gcc 4.8.5 armhf.
Re-named fplib.c to fplib.cpp.
Updated the conditions under which fplib.cpp will be included in the build by CMake.
* Build: Added a global archtiecture variable, CLConform_TARGET_ARCH.
The reset of the build can query this variable whenever archtiecture specific options are required. The current supported values of this variable are "ARM", "x86", and "x86_64".
This change also replaces all existing locations where CMAKE_SYSTEM_PROCESSOR was queried.
* Build: Added ARM64 as a valid value for CLConform_TARGET_ARCH.
* Conversions: Don't build fplib.cpp for ARM64.
* Define CMAKE_ARM_COMPILER automatically (#469)
Makes use of CMAKE_SYSTEM_PROCESSOR to detect whether compilation is happening for an ARM architecture.
* Use the correct guard for specifying msse2 compiler flags.
Bruteforce and conversions were only checking against ANDROID which was not sufficient for ARM Linux builds.
* Remove redundant uses of the msse2 compiler flag.
* Globally set -msse2 for x86/amd64 gcc, Apple and Clang builds.
This is a change in behaviour. Prior to this commit, msse2 was only set for bruteforce and conversions.
msse and mfpmath=sse were already set globally prior to this change.
This commit introduces a generic method of copying the opencl_conformance_tests_*.csv files during the build.
Fixes any unspecified files from being omitted during the copy process.
* Test name adjustment and Windows compilation clarification.
* Add CLConform_GL_LIBRARIES_DIR CmakeLists variable for GL support
* GL sharing tests - library names justification
* Fix compilation errors function are overridden in glext.h.
- remove compiler-specific options
- disable GNU extensions
- require C++11 and C99 for the whole code base
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
This reduces the size of binaries, and makes the tests finish tiny
bit faster. The debug symbols can be enabled by passing to cmake one of:
-DCMAKE_BUILD_TYPE=Debug
-DCMAKE_BUILD_TYPE=RelWithDebInfo
Signed-off-by: Radek Szymanski <radek.szymanski@arm.com>
Add a special case for the Khronos compiler and always use it for
OpenCL C++, otherwise use the same logic as on the cl21_trunk
branch.
The CMake option to pass the path to the khronos compiler has
been renamed to KHRONOS_OFFLINE_COMPILER_OPTIONS and is no longer
mandatory.
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
* Do not append non-existing folder to CMAKE_MODULE_PATH
Fixes#221
* Define CL_TARGET_OPENCL_VERSION to 220
Fixes#227
* Define cmake_minimum_required as first operation
The CMake documentation mentions that
> Call the cmake_minimum_required() command at the beginning of the
> top-level CMakeLists.txt file even before calling the project()
> command. It is important to establish version and policy settings
> before invoking other commands whose behavior they may affect.
* CMake: Match both AppleClang and Clang
The maintenance of the conformance tests is moving to Github.
This commit contains all the changes that have been done in
Gitlab since the first public release of the conformance tests.
Signed-off-by: Kevin Petit kevin.petit@arm.com