From b0060d1056d6d1752d91652261de97db909c7862 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 31 Jul 2017 12:51:38 +0200 Subject: configure: un-namespace remaining non-inline configure tests only few tests remain, and many of these were mis-classified anyway. Change-Id: Ic3bc96928a0c79fe77b9ec10e6508d4822f18df2 Reviewed-by: Thiago Macieira --- config.tests/atomicfptr/icc2016_mac.diff | 18 +++ config.tests/atomicfptr/qnx66.txt | 3 + config.tests/avx512/avx512.cpp | 103 ++++++++++++++ config.tests/avx512/avx512.pro | 10 ++ config.tests/common/atomicfptr/icc2016_mac.diff | 18 --- config.tests/common/atomicfptr/qnx66.txt | 3 - config.tests/common/avx512/avx512.cpp | 103 -------------- config.tests/common/avx512/avx512.pro | 10 -- config.tests/common/verifyspec/verifyspec.cpp | 1 - config.tests/common/verifyspec/verifyspec.pro | 37 ----- config.tests/common/xlocalescanprint/qglobal.h | 43 ------ .../common/xlocalescanprint/xlocalescanprint.cpp | 62 --------- .../common/xlocalescanprint/xlocalescanprint.pro | 3 - config.tests/corewlan/corewlan.pro | 2 + config.tests/corewlan/corewlantest.mm | 47 +++++++ config.tests/gnu-libiconv/gnu-libiconv.cpp | 54 ++++++++ config.tests/gnu-libiconv/gnu-libiconv.pro | 2 + config.tests/iconv/iconv.cpp | 54 ++++++++ config.tests/iconv/iconv.pro | 3 + config.tests/mac/corewlan/corewlan.pro | 2 - config.tests/mac/corewlan/corewlantest.mm | 47 ------- config.tests/openssl/openssl.cpp | 54 ++++++++ config.tests/openssl/openssl.pro | 2 + config.tests/stl/stl.pro | 2 + config.tests/stl/stltest.cpp | 149 +++++++++++++++++++++ config.tests/sun-libiconv/sun-libiconv.pro | 2 + config.tests/unix/gnu-libiconv/gnu-libiconv.cpp | 54 -------- config.tests/unix/gnu-libiconv/gnu-libiconv.pro | 2 - config.tests/unix/iconv/iconv.cpp | 54 -------- config.tests/unix/iconv/iconv.pro | 3 - config.tests/unix/openssl/openssl.cpp | 54 -------- config.tests/unix/openssl/openssl.pro | 2 - config.tests/unix/stl/stl.pro | 2 - config.tests/unix/stl/stltest.cpp | 149 --------------------- config.tests/unix/sun-libiconv/sun-libiconv.pro | 2 - config.tests/verifyspec/verifyspec.cpp | 1 + config.tests/verifyspec/verifyspec.pro | 37 +++++ config.tests/xlocalescanprint/qglobal.h | 43 ++++++ config.tests/xlocalescanprint/xlocalescanprint.cpp | 62 +++++++++ config.tests/xlocalescanprint/xlocalescanprint.pro | 3 + 40 files changed, 651 insertions(+), 651 deletions(-) create mode 100644 config.tests/atomicfptr/icc2016_mac.diff create mode 100644 config.tests/atomicfptr/qnx66.txt create mode 100644 config.tests/avx512/avx512.cpp create mode 100644 config.tests/avx512/avx512.pro delete mode 100644 config.tests/common/atomicfptr/icc2016_mac.diff delete mode 100644 config.tests/common/atomicfptr/qnx66.txt delete mode 100644 config.tests/common/avx512/avx512.cpp delete mode 100644 config.tests/common/avx512/avx512.pro delete mode 100644 config.tests/common/verifyspec/verifyspec.cpp delete mode 100644 config.tests/common/verifyspec/verifyspec.pro delete mode 100644 config.tests/common/xlocalescanprint/qglobal.h delete mode 100644 config.tests/common/xlocalescanprint/xlocalescanprint.cpp delete mode 100644 config.tests/common/xlocalescanprint/xlocalescanprint.pro create mode 100644 config.tests/corewlan/corewlan.pro create mode 100644 config.tests/corewlan/corewlantest.mm create mode 100644 config.tests/gnu-libiconv/gnu-libiconv.cpp create mode 100644 config.tests/gnu-libiconv/gnu-libiconv.pro create mode 100644 config.tests/iconv/iconv.cpp create mode 100644 config.tests/iconv/iconv.pro delete mode 100644 config.tests/mac/corewlan/corewlan.pro delete mode 100644 config.tests/mac/corewlan/corewlantest.mm create mode 100644 config.tests/openssl/openssl.cpp create mode 100644 config.tests/openssl/openssl.pro create mode 100644 config.tests/stl/stl.pro create mode 100644 config.tests/stl/stltest.cpp create mode 100644 config.tests/sun-libiconv/sun-libiconv.pro delete mode 100644 config.tests/unix/gnu-libiconv/gnu-libiconv.cpp delete mode 100644 config.tests/unix/gnu-libiconv/gnu-libiconv.pro delete mode 100644 config.tests/unix/iconv/iconv.cpp delete mode 100644 config.tests/unix/iconv/iconv.pro delete mode 100644 config.tests/unix/openssl/openssl.cpp delete mode 100644 config.tests/unix/openssl/openssl.pro delete mode 100644 config.tests/unix/stl/stl.pro delete mode 100644 config.tests/unix/stl/stltest.cpp delete mode 100644 config.tests/unix/sun-libiconv/sun-libiconv.pro create mode 100644 config.tests/verifyspec/verifyspec.cpp create mode 100644 config.tests/verifyspec/verifyspec.pro create mode 100644 config.tests/xlocalescanprint/qglobal.h create mode 100644 config.tests/xlocalescanprint/xlocalescanprint.cpp create mode 100644 config.tests/xlocalescanprint/xlocalescanprint.pro (limited to 'config.tests') diff --git a/config.tests/atomicfptr/icc2016_mac.diff b/config.tests/atomicfptr/icc2016_mac.diff new file mode 100644 index 0000000000..5de3b6e19a --- /dev/null +++ b/config.tests/atomicfptr/icc2016_mac.diff @@ -0,0 +1,18 @@ +Patch for fixing std::atomic support for function pointers for the Intel +Composer XE 2016 (compiler version 16.0). + +To apply: + cd /opt/intel/compilers_and_libraries_2016/mac/include + sudo patch -p1 < /path-to-this-file/icc2016_mac.diff + +--- include/stdatomic.h.orig 2015-08-28 15:05:13.000000000 -0700 ++++ include/stdatomic.h 2015-08-28 15:19:25.000000000 -0700 +@@ -451,7 +451,7 @@ + } + _STRONG_INLINE atomic() _DEFAULTED + _STRONG_INLINE _CONSTEXPR atomic(T* _Ptr) +- : atomic_address(_Ptr) ++ : atomic_address((void*)_Ptr) + { + } + _STRONG_INLINE T* operator+=(ptrdiff_t _V) volatile diff --git a/config.tests/atomicfptr/qnx66.txt b/config.tests/atomicfptr/qnx66.txt new file mode 100644 index 0000000000..b4ea9d65b5 --- /dev/null +++ b/config.tests/atomicfptr/qnx66.txt @@ -0,0 +1,3 @@ +Patch is available from QNX. Please see + +http://www.qnx.com/download/feature.html?programid=27555 diff --git a/config.tests/avx512/avx512.cpp b/config.tests/avx512/avx512.cpp new file mode 100644 index 0000000000..ca1a5d1357 --- /dev/null +++ b/config.tests/avx512/avx512.cpp @@ -0,0 +1,103 @@ +/**************************************************************************** +** +** Copyright (C) 2016 Intel Corporation. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the configuration of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include + +#ifndef AVX512WANT +# error ".pro file must define AVX512WANT macro to the AVX-512 feature to be tested" +#endif + +// The following checks if __AVXx__ is defined, where x is the value in +// AVX512WANT +#define HAS2(x) __AVX512 ## x ## __ +#define HAS(x) HAS2(x) +#if !HAS(AVX512WANT) +# error "Feature not supported" +#endif + +int main(int, char**argv) +{ + /* AVX512 Foundation */ + __m512i i; + __m512d d; + __m512 f; + __mmask16 m = ~1; + i = _mm512_maskz_loadu_epi32(0, argv); + d = _mm512_loadu_pd((double *)argv + 64); + f = _mm512_loadu_ps((float *)argv + 128); + +#ifdef __AVX512ER__ + /* AVX512 Exponential and Reciprocal */ + f = _mm512_exp2a23_round_ps(f, 8); +#endif +#ifdef __AVX512CD__ + /* AVX512 Conflict Detection */ + i = _mm512_maskz_conflict_epi32(m, i); +#endif +#ifdef __AVX512PF__ + /* AVX512 Prefetch */ + _mm512_mask_prefetch_i64scatter_pd(argv, 0xf, i, 2, 2); +#endif +#ifdef __AVX512DQ__ + /* AVX512 Doubleword and Quadword support */ + m = _mm512_movepi32_mask(i); +#endif +#ifdef __AVX512BW__ + /* AVX512 Byte and Word support */ + i = _mm512_mask_loadu_epi8(i, m, argv - 8); +#endif +#ifdef __AVX512VL__ + /* AVX512 Vector Length */ + __m256i i2 = _mm256_maskz_loadu_epi32(0, argv); + _mm256_mask_storeu_epi32(argv + 1, m, i2); +#endif +#ifdef __AVX512IFMA__ + /* AVX512 Integer Fused Multiply-Add */ + i = _mm512_madd52lo_epu64(i, i, i); +#endif +#ifdef __AVX512VBMI__ + /* AVX512 Vector Byte Manipulation Instructions */ + i = _mm512_permutexvar_epi8(i, i); +#endif + + _mm512_mask_storeu_epi64(argv, m, i); + _mm512_mask_storeu_ps(argv + 64, m, f); + _mm512_mask_storeu_pd(argv + 128, m, d); + return 0; +} diff --git a/config.tests/avx512/avx512.pro b/config.tests/avx512/avx512.pro new file mode 100644 index 0000000000..1edf5e5432 --- /dev/null +++ b/config.tests/avx512/avx512.pro @@ -0,0 +1,10 @@ +SOURCES = avx512.cpp + +!defined(AVX512, "var"): error("You must set the AVX512 variable!") + +varname = QMAKE_CFLAGS_AVX512$$AVX512 +value = $$eval($$varname) +!defined($$varname, "var"): error("This compiler does not support AVX512") + +QMAKE_CXXFLAGS += $$value +DEFINES += AVX512WANT=$$AVX512 diff --git a/config.tests/common/atomicfptr/icc2016_mac.diff b/config.tests/common/atomicfptr/icc2016_mac.diff deleted file mode 100644 index 5de3b6e19a..0000000000 --- a/config.tests/common/atomicfptr/icc2016_mac.diff +++ /dev/null @@ -1,18 +0,0 @@ -Patch for fixing std::atomic support for function pointers for the Intel -Composer XE 2016 (compiler version 16.0). - -To apply: - cd /opt/intel/compilers_and_libraries_2016/mac/include - sudo patch -p1 < /path-to-this-file/icc2016_mac.diff - ---- include/stdatomic.h.orig 2015-08-28 15:05:13.000000000 -0700 -+++ include/stdatomic.h 2015-08-28 15:19:25.000000000 -0700 -@@ -451,7 +451,7 @@ - } - _STRONG_INLINE atomic() _DEFAULTED - _STRONG_INLINE _CONSTEXPR atomic(T* _Ptr) -- : atomic_address(_Ptr) -+ : atomic_address((void*)_Ptr) - { - } - _STRONG_INLINE T* operator+=(ptrdiff_t _V) volatile diff --git a/config.tests/common/atomicfptr/qnx66.txt b/config.tests/common/atomicfptr/qnx66.txt deleted file mode 100644 index b4ea9d65b5..0000000000 --- a/config.tests/common/atomicfptr/qnx66.txt +++ /dev/null @@ -1,3 +0,0 @@ -Patch is available from QNX. Please see - -http://www.qnx.com/download/feature.html?programid=27555 diff --git a/config.tests/common/avx512/avx512.cpp b/config.tests/common/avx512/avx512.cpp deleted file mode 100644 index ca1a5d1357..0000000000 --- a/config.tests/common/avx512/avx512.cpp +++ /dev/null @@ -1,103 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 Intel Corporation. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the configuration of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include - -#ifndef AVX512WANT -# error ".pro file must define AVX512WANT macro to the AVX-512 feature to be tested" -#endif - -// The following checks if __AVXx__ is defined, where x is the value in -// AVX512WANT -#define HAS2(x) __AVX512 ## x ## __ -#define HAS(x) HAS2(x) -#if !HAS(AVX512WANT) -# error "Feature not supported" -#endif - -int main(int, char**argv) -{ - /* AVX512 Foundation */ - __m512i i; - __m512d d; - __m512 f; - __mmask16 m = ~1; - i = _mm512_maskz_loadu_epi32(0, argv); - d = _mm512_loadu_pd((double *)argv + 64); - f = _mm512_loadu_ps((float *)argv + 128); - -#ifdef __AVX512ER__ - /* AVX512 Exponential and Reciprocal */ - f = _mm512_exp2a23_round_ps(f, 8); -#endif -#ifdef __AVX512CD__ - /* AVX512 Conflict Detection */ - i = _mm512_maskz_conflict_epi32(m, i); -#endif -#ifdef __AVX512PF__ - /* AVX512 Prefetch */ - _mm512_mask_prefetch_i64scatter_pd(argv, 0xf, i, 2, 2); -#endif -#ifdef __AVX512DQ__ - /* AVX512 Doubleword and Quadword support */ - m = _mm512_movepi32_mask(i); -#endif -#ifdef __AVX512BW__ - /* AVX512 Byte and Word support */ - i = _mm512_mask_loadu_epi8(i, m, argv - 8); -#endif -#ifdef __AVX512VL__ - /* AVX512 Vector Length */ - __m256i i2 = _mm256_maskz_loadu_epi32(0, argv); - _mm256_mask_storeu_epi32(argv + 1, m, i2); -#endif -#ifdef __AVX512IFMA__ - /* AVX512 Integer Fused Multiply-Add */ - i = _mm512_madd52lo_epu64(i, i, i); -#endif -#ifdef __AVX512VBMI__ - /* AVX512 Vector Byte Manipulation Instructions */ - i = _mm512_permutexvar_epi8(i, i); -#endif - - _mm512_mask_storeu_epi64(argv, m, i); - _mm512_mask_storeu_ps(argv + 64, m, f); - _mm512_mask_storeu_pd(argv + 128, m, d); - return 0; -} diff --git a/config.tests/common/avx512/avx512.pro b/config.tests/common/avx512/avx512.pro deleted file mode 100644 index 1edf5e5432..0000000000 --- a/config.tests/common/avx512/avx512.pro +++ /dev/null @@ -1,10 +0,0 @@ -SOURCES = avx512.cpp - -!defined(AVX512, "var"): error("You must set the AVX512 variable!") - -varname = QMAKE_CFLAGS_AVX512$$AVX512 -value = $$eval($$varname) -!defined($$varname, "var"): error("This compiler does not support AVX512") - -QMAKE_CXXFLAGS += $$value -DEFINES += AVX512WANT=$$AVX512 diff --git a/config.tests/common/verifyspec/verifyspec.cpp b/config.tests/common/verifyspec/verifyspec.cpp deleted file mode 100644 index bd5560bf02..0000000000 --- a/config.tests/common/verifyspec/verifyspec.cpp +++ /dev/null @@ -1 +0,0 @@ -int main(int, char **) {} diff --git a/config.tests/common/verifyspec/verifyspec.pro b/config.tests/common/verifyspec/verifyspec.pro deleted file mode 100644 index 11a280e4ce..0000000000 --- a/config.tests/common/verifyspec/verifyspec.pro +++ /dev/null @@ -1,37 +0,0 @@ -SOURCES = verifyspec.cpp - -# Provide a function to be used by mkspecs -defineTest(deviceSanityCheckCompiler) { - equals(QMAKE_HOST.os, Windows): \ - sfx = .exe - else: \ - sfx = - - # Build the compiler filename using the first value in QMAKE_CXX in order to - # support tools like ccache, which give QMAKE_CXX values of the form: - # ccache - compiler = $$first(QMAKE_CXX)$$sfx - - # Check if the binary exists with an absolute path. Do this check - # before the CROSS_COMPILE empty check below to allow the mkspec - # to derive the compiler path from other device options. - exists($$compiler): return() - - # Check for possible reasons of failure - # check if CROSS_COMPILE device-option is set - isEmpty(CROSS_COMPILE): \ - error("CROSS_COMPILE needs to be set via -device-option CROSS_COMPILE=") - - # Check if QMAKE_CXX points to an executable. - ensurePathEnv() - for (dir, QMAKE_PATH_ENV) { - exists($$dir/$${compiler}): \ - return() - } - - # QMAKE_CXX does not point to a compiler. - error("Compiler $$QMAKE_CXX not found. Check the value of CROSS_COMPILE -device-option") -} - -defined(qtConfSanitizeMkspec, test): \ - qtConfSanitizeMkspec() diff --git a/config.tests/common/xlocalescanprint/qglobal.h b/config.tests/common/xlocalescanprint/qglobal.h deleted file mode 100644 index 98de822847..0000000000 --- a/config.tests/common/xlocalescanprint/qglobal.h +++ /dev/null @@ -1,43 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the config.tests of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QGLOBAL_H -#define QGLOBAL_H - -#endif diff --git a/config.tests/common/xlocalescanprint/xlocalescanprint.cpp b/config.tests/common/xlocalescanprint/xlocalescanprint.cpp deleted file mode 100644 index 2f1f28f74e..0000000000 --- a/config.tests/common/xlocalescanprint/xlocalescanprint.cpp +++ /dev/null @@ -1,62 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the config.tests of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#define QT_BEGIN_NAMESPACE -#define QT_END_NAMESPACE - -#ifdef _MSVC_VER -#define Q_CC_MSVC _MSVC_VER -#endif - -#define QT_NO_DOUBLECONVERSION - -#include "../../../src/corelib/tools/qdoublescanprint_p.h" - -int main(int argc, char **argv) -{ -#ifdef _MSVC_VER - _locale_t invalidLocale = NULL; -#else - locale_t invalidLocale = NULL; -#endif - double a = 3.4; - qDoubleSnprintf(argv[0], 1, invalidLocale, "invalid format", a); - qDoubleSscanf(argv[0], invalidLocale, "invalid format", &a, &argc); - return 0; -} diff --git a/config.tests/common/xlocalescanprint/xlocalescanprint.pro b/config.tests/common/xlocalescanprint/xlocalescanprint.pro deleted file mode 100644 index a37a01f227..0000000000 --- a/config.tests/common/xlocalescanprint/xlocalescanprint.pro +++ /dev/null @@ -1,3 +0,0 @@ -SOURCES = xlocalescanprint.cpp -CONFIG -= qt -CONFIG += console diff --git a/config.tests/corewlan/corewlan.pro b/config.tests/corewlan/corewlan.pro new file mode 100644 index 0000000000..97e864f476 --- /dev/null +++ b/config.tests/corewlan/corewlan.pro @@ -0,0 +1,2 @@ +OBJECTIVE_SOURCES = corewlantest.mm +CONFIG -= qt diff --git a/config.tests/corewlan/corewlantest.mm b/config.tests/corewlan/corewlantest.mm new file mode 100644 index 0000000000..73b4d0d145 --- /dev/null +++ b/config.tests/corewlan/corewlantest.mm @@ -0,0 +1,47 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the config.tests of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include + +int main() +{ + [CWInterface interfaceWithName:@"en2"]; + return 0; +} diff --git a/config.tests/gnu-libiconv/gnu-libiconv.cpp b/config.tests/gnu-libiconv/gnu-libiconv.cpp new file mode 100644 index 0000000000..fe4b87b923 --- /dev/null +++ b/config.tests/gnu-libiconv/gnu-libiconv.cpp @@ -0,0 +1,54 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the config.tests of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include + +int main(int, char **) +{ + iconv_t x = iconv_open("", ""); + + const char *inp; + char *outp; + size_t inbytes, outbytes; + iconv(x, &inp, &inbytes, &outp, &outbytes); + + iconv_close(x); + + return 0; +} diff --git a/config.tests/gnu-libiconv/gnu-libiconv.pro b/config.tests/gnu-libiconv/gnu-libiconv.pro new file mode 100644 index 0000000000..4008f882eb --- /dev/null +++ b/config.tests/gnu-libiconv/gnu-libiconv.pro @@ -0,0 +1,2 @@ +SOURCES = gnu-libiconv.cpp +CONFIG -= qt dylib diff --git a/config.tests/iconv/iconv.cpp b/config.tests/iconv/iconv.cpp new file mode 100644 index 0000000000..be4236436f --- /dev/null +++ b/config.tests/iconv/iconv.cpp @@ -0,0 +1,54 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the config.tests of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include + +int main(int, char **) +{ + iconv_t x = iconv_open("", ""); + + char *inp; + char *outp; + size_t inbytes, outbytes; + iconv(x, &inp, &inbytes, &outp, &outbytes); + + iconv_close(x); + + return 0; +} diff --git a/config.tests/iconv/iconv.pro b/config.tests/iconv/iconv.pro new file mode 100644 index 0000000000..65273ccc94 --- /dev/null +++ b/config.tests/iconv/iconv.pro @@ -0,0 +1,3 @@ +SOURCES = iconv.cpp +CONFIG -= qt dylib +mac|mingw|openbsd|qnx|haiku:LIBS += -liconv diff --git a/config.tests/mac/corewlan/corewlan.pro b/config.tests/mac/corewlan/corewlan.pro deleted file mode 100644 index 97e864f476..0000000000 --- a/config.tests/mac/corewlan/corewlan.pro +++ /dev/null @@ -1,2 +0,0 @@ -OBJECTIVE_SOURCES = corewlantest.mm -CONFIG -= qt diff --git a/config.tests/mac/corewlan/corewlantest.mm b/config.tests/mac/corewlan/corewlantest.mm deleted file mode 100644 index 73b4d0d145..0000000000 --- a/config.tests/mac/corewlan/corewlantest.mm +++ /dev/null @@ -1,47 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the config.tests of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include -#include - -int main() -{ - [CWInterface interfaceWithName:@"en2"]; - return 0; -} diff --git a/config.tests/openssl/openssl.cpp b/config.tests/openssl/openssl.cpp new file mode 100644 index 0000000000..d33b62389c --- /dev/null +++ b/config.tests/openssl/openssl.cpp @@ -0,0 +1,54 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the config.tests of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include + +#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x0090700fL +# error "OpenSSL >= 0.9.7 is required" +#endif + +#include + +#if OPENSSL_VERSION_NUMBER-0 >= 0x10002000L && !defined(OPENSSL_NO_EC) && !defined(SSL_CTRL_SET_CURVES) +# error "OpenSSL was reported as >= 1.0.2 but is missing required features, possibly it's libressl which is unsupported" +#endif + +int main() +{ +} diff --git a/config.tests/openssl/openssl.pro b/config.tests/openssl/openssl.pro new file mode 100644 index 0000000000..a023aee4aa --- /dev/null +++ b/config.tests/openssl/openssl.pro @@ -0,0 +1,2 @@ +SOURCES = openssl.cpp +CONFIG -= x11 qt diff --git a/config.tests/stl/stl.pro b/config.tests/stl/stl.pro new file mode 100644 index 0000000000..7303e8d31c --- /dev/null +++ b/config.tests/stl/stl.pro @@ -0,0 +1,2 @@ +SOURCES = stltest.cpp +CONFIG -= qt dylib diff --git a/config.tests/stl/stltest.cpp b/config.tests/stl/stltest.cpp new file mode 100644 index 0000000000..a7a36ba0d3 --- /dev/null +++ b/config.tests/stl/stltest.cpp @@ -0,0 +1,149 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the config.tests of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/* Sample program for configure to test STL support on target +platforms. We are mainly concerned with being able to instantiate +templates for common STL container classes. +*/ + +#include +#include +#include +#include +#include +#include + +// something mean to see if the compiler and C++ standard lib are good enough +template +class DummyClass +{ + // everything in std namespace ? + typedef std::bidirectional_iterator_tag i; + typedef std::ptrdiff_t d; + // typename implemented ? + typedef typename std::map::iterator MyIterator; +}; + +// extracted from QVector's strict iterator +template +class DummyIterator +{ + typedef DummyIterator iterator; +public: + T *i; + typedef std::random_access_iterator_tag iterator_category; + typedef std::ptrdiff_t difference_type; + typedef T value_type; + typedef T *pointer; + typedef T &reference; + + inline DummyIterator() : i(0) {} + inline DummyIterator(T *n) : i(n) {} + inline DummyIterator(const DummyIterator &o): i(o.i){} + inline T &operator*() const { return *i; } + inline T *operator->() const { return i; } + inline T &operator[](int j) const { return *(i + j); } + inline bool operator==(const DummyIterator &o) const { return i == o.i; } + inline bool operator!=(const DummyIterator &o) const { return i != o.i; } + inline bool operator<(const DummyIterator& other) const { return i < other.i; } + inline bool operator<=(const DummyIterator& other) const { return i <= other.i; } + inline bool operator>(const DummyIterator& other) const { return i > other.i; } + inline bool operator>=(const DummyIterator& other) const { return i >= other.i; } + inline DummyIterator &operator++() { ++i; return *this; } + inline DummyIterator operator++(int) { T *n = i; ++i; return n; } + inline DummyIterator &operator--() { i--; return *this; } + inline DummyIterator operator--(int) { T *n = i; i--; return n; } + inline DummyIterator &operator+=(int j) { i+=j; return *this; } + inline DummyIterator &operator-=(int j) { i-=j; return *this; } + inline DummyIterator operator+(int j) const { return DummyIterator(i+j); } + inline DummyIterator operator-(int j) const { return DummyIterator(i-j); } + inline int operator-(DummyIterator j) const { return i - j.i; } +}; + +int main() +{ + std::vector v1; + v1.push_back( 0 ); + v1.push_back( 1 ); + v1.push_back( 2 ); + v1.push_back( 3 ); + v1.push_back( 4 ); + int v1size = v1.size(); + v1size = 0; + int v1capacity = v1.capacity(); + v1capacity = 0; + + std::vector::iterator v1it = std::find( v1.begin(), v1.end(), 99 ); + bool v1notfound = (v1it == v1.end()); + v1notfound = false; + + v1it = std::find( v1.begin(), v1.end(), 3 ); + bool v1found = (v1it != v1.end()); + v1found = false; + + std::vector v2; + std::copy( v1.begin(), v1it, std::back_inserter( v2 ) ); + int v2size = v2.size(); + v2size = 0; + + std::map m1; + m1.insert( std::make_pair( 1, 2.0 ) ); + m1.insert( std::make_pair( 3, 2.0 ) ); + m1.insert( std::make_pair( 5, 2.0 ) ); + m1.insert( std::make_pair( 7, 2.0 ) ); + int m1size = m1.size(); + m1size = 0; + std::map::iterator m1it = m1.begin(); + for ( ; m1it != m1.end(); ++m1it ) { + int first = (*m1it).first; + first = 0; + double second = (*m1it).second; + second = 0.0; + } + std::map< int, double > m2( m1 ); + int m2size = m2.size(); + m2size = 0; + + DummyIterator it1, it2; + int n = std::distance(it1, it2); + std::advance(it1, 3); + + return 0; +} + diff --git a/config.tests/sun-libiconv/sun-libiconv.pro b/config.tests/sun-libiconv/sun-libiconv.pro new file mode 100644 index 0000000000..923afc7dd2 --- /dev/null +++ b/config.tests/sun-libiconv/sun-libiconv.pro @@ -0,0 +1,2 @@ +SOURCES = ../gnu-libiconv/gnu-libiconv.cpp +CONFIG -= qt dylib diff --git a/config.tests/unix/gnu-libiconv/gnu-libiconv.cpp b/config.tests/unix/gnu-libiconv/gnu-libiconv.cpp deleted file mode 100644 index fe4b87b923..0000000000 --- a/config.tests/unix/gnu-libiconv/gnu-libiconv.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the config.tests of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include - -int main(int, char **) -{ - iconv_t x = iconv_open("", ""); - - const char *inp; - char *outp; - size_t inbytes, outbytes; - iconv(x, &inp, &inbytes, &outp, &outbytes); - - iconv_close(x); - - return 0; -} diff --git a/config.tests/unix/gnu-libiconv/gnu-libiconv.pro b/config.tests/unix/gnu-libiconv/gnu-libiconv.pro deleted file mode 100644 index 4008f882eb..0000000000 --- a/config.tests/unix/gnu-libiconv/gnu-libiconv.pro +++ /dev/null @@ -1,2 +0,0 @@ -SOURCES = gnu-libiconv.cpp -CONFIG -= qt dylib diff --git a/config.tests/unix/iconv/iconv.cpp b/config.tests/unix/iconv/iconv.cpp deleted file mode 100644 index be4236436f..0000000000 --- a/config.tests/unix/iconv/iconv.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the config.tests of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include - -int main(int, char **) -{ - iconv_t x = iconv_open("", ""); - - char *inp; - char *outp; - size_t inbytes, outbytes; - iconv(x, &inp, &inbytes, &outp, &outbytes); - - iconv_close(x); - - return 0; -} diff --git a/config.tests/unix/iconv/iconv.pro b/config.tests/unix/iconv/iconv.pro deleted file mode 100644 index 65273ccc94..0000000000 --- a/config.tests/unix/iconv/iconv.pro +++ /dev/null @@ -1,3 +0,0 @@ -SOURCES = iconv.cpp -CONFIG -= qt dylib -mac|mingw|openbsd|qnx|haiku:LIBS += -liconv diff --git a/config.tests/unix/openssl/openssl.cpp b/config.tests/unix/openssl/openssl.cpp deleted file mode 100644 index d33b62389c..0000000000 --- a/config.tests/unix/openssl/openssl.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the config.tests of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include - -#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x0090700fL -# error "OpenSSL >= 0.9.7 is required" -#endif - -#include - -#if OPENSSL_VERSION_NUMBER-0 >= 0x10002000L && !defined(OPENSSL_NO_EC) && !defined(SSL_CTRL_SET_CURVES) -# error "OpenSSL was reported as >= 1.0.2 but is missing required features, possibly it's libressl which is unsupported" -#endif - -int main() -{ -} diff --git a/config.tests/unix/openssl/openssl.pro b/config.tests/unix/openssl/openssl.pro deleted file mode 100644 index a023aee4aa..0000000000 --- a/config.tests/unix/openssl/openssl.pro +++ /dev/null @@ -1,2 +0,0 @@ -SOURCES = openssl.cpp -CONFIG -= x11 qt diff --git a/config.tests/unix/stl/stl.pro b/config.tests/unix/stl/stl.pro deleted file mode 100644 index 7303e8d31c..0000000000 --- a/config.tests/unix/stl/stl.pro +++ /dev/null @@ -1,2 +0,0 @@ -SOURCES = stltest.cpp -CONFIG -= qt dylib diff --git a/config.tests/unix/stl/stltest.cpp b/config.tests/unix/stl/stltest.cpp deleted file mode 100644 index a7a36ba0d3..0000000000 --- a/config.tests/unix/stl/stltest.cpp +++ /dev/null @@ -1,149 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the config.tests of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/* Sample program for configure to test STL support on target -platforms. We are mainly concerned with being able to instantiate -templates for common STL container classes. -*/ - -#include -#include -#include -#include -#include -#include - -// something mean to see if the compiler and C++ standard lib are good enough -template -class DummyClass -{ - // everything in std namespace ? - typedef std::bidirectional_iterator_tag i; - typedef std::ptrdiff_t d; - // typename implemented ? - typedef typename std::map::iterator MyIterator; -}; - -// extracted from QVector's strict iterator -template -class DummyIterator -{ - typedef DummyIterator iterator; -public: - T *i; - typedef std::random_access_iterator_tag iterator_category; - typedef std::ptrdiff_t difference_type; - typedef T value_type; - typedef T *pointer; - typedef T &reference; - - inline DummyIterator() : i(0) {} - inline DummyIterator(T *n) : i(n) {} - inline DummyIterator(const DummyIterator &o): i(o.i){} - inline T &operator*() const { return *i; } - inline T *operator->() const { return i; } - inline T &operator[](int j) const { return *(i + j); } - inline bool operator==(const DummyIterator &o) const { return i == o.i; } - inline bool operator!=(const DummyIterator &o) const { return i != o.i; } - inline bool operator<(const DummyIterator& other) const { return i < other.i; } - inline bool operator<=(const DummyIterator& other) const { return i <= other.i; } - inline bool operator>(const DummyIterator& other) const { return i > other.i; } - inline bool operator>=(const DummyIterator& other) const { return i >= other.i; } - inline DummyIterator &operator++() { ++i; return *this; } - inline DummyIterator operator++(int) { T *n = i; ++i; return n; } - inline DummyIterator &operator--() { i--; return *this; } - inline DummyIterator operator--(int) { T *n = i; i--; return n; } - inline DummyIterator &operator+=(int j) { i+=j; return *this; } - inline DummyIterator &operator-=(int j) { i-=j; return *this; } - inline DummyIterator operator+(int j) const { return DummyIterator(i+j); } - inline DummyIterator operator-(int j) const { return DummyIterator(i-j); } - inline int operator-(DummyIterator j) const { return i - j.i; } -}; - -int main() -{ - std::vector v1; - v1.push_back( 0 ); - v1.push_back( 1 ); - v1.push_back( 2 ); - v1.push_back( 3 ); - v1.push_back( 4 ); - int v1size = v1.size(); - v1size = 0; - int v1capacity = v1.capacity(); - v1capacity = 0; - - std::vector::iterator v1it = std::find( v1.begin(), v1.end(), 99 ); - bool v1notfound = (v1it == v1.end()); - v1notfound = false; - - v1it = std::find( v1.begin(), v1.end(), 3 ); - bool v1found = (v1it != v1.end()); - v1found = false; - - std::vector v2; - std::copy( v1.begin(), v1it, std::back_inserter( v2 ) ); - int v2size = v2.size(); - v2size = 0; - - std::map m1; - m1.insert( std::make_pair( 1, 2.0 ) ); - m1.insert( std::make_pair( 3, 2.0 ) ); - m1.insert( std::make_pair( 5, 2.0 ) ); - m1.insert( std::make_pair( 7, 2.0 ) ); - int m1size = m1.size(); - m1size = 0; - std::map::iterator m1it = m1.begin(); - for ( ; m1it != m1.end(); ++m1it ) { - int first = (*m1it).first; - first = 0; - double second = (*m1it).second; - second = 0.0; - } - std::map< int, double > m2( m1 ); - int m2size = m2.size(); - m2size = 0; - - DummyIterator it1, it2; - int n = std::distance(it1, it2); - std::advance(it1, 3); - - return 0; -} - diff --git a/config.tests/unix/sun-libiconv/sun-libiconv.pro b/config.tests/unix/sun-libiconv/sun-libiconv.pro deleted file mode 100644 index 923afc7dd2..0000000000 --- a/config.tests/unix/sun-libiconv/sun-libiconv.pro +++ /dev/null @@ -1,2 +0,0 @@ -SOURCES = ../gnu-libiconv/gnu-libiconv.cpp -CONFIG -= qt dylib diff --git a/config.tests/verifyspec/verifyspec.cpp b/config.tests/verifyspec/verifyspec.cpp new file mode 100644 index 0000000000..bd5560bf02 --- /dev/null +++ b/config.tests/verifyspec/verifyspec.cpp @@ -0,0 +1 @@ +int main(int, char **) {} diff --git a/config.tests/verifyspec/verifyspec.pro b/config.tests/verifyspec/verifyspec.pro new file mode 100644 index 0000000000..11a280e4ce --- /dev/null +++ b/config.tests/verifyspec/verifyspec.pro @@ -0,0 +1,37 @@ +SOURCES = verifyspec.cpp + +# Provide a function to be used by mkspecs +defineTest(deviceSanityCheckCompiler) { + equals(QMAKE_HOST.os, Windows): \ + sfx = .exe + else: \ + sfx = + + # Build the compiler filename using the first value in QMAKE_CXX in order to + # support tools like ccache, which give QMAKE_CXX values of the form: + # ccache + compiler = $$first(QMAKE_CXX)$$sfx + + # Check if the binary exists with an absolute path. Do this check + # before the CROSS_COMPILE empty check below to allow the mkspec + # to derive the compiler path from other device options. + exists($$compiler): return() + + # Check for possible reasons of failure + # check if CROSS_COMPILE device-option is set + isEmpty(CROSS_COMPILE): \ + error("CROSS_COMPILE needs to be set via -device-option CROSS_COMPILE=") + + # Check if QMAKE_CXX points to an executable. + ensurePathEnv() + for (dir, QMAKE_PATH_ENV) { + exists($$dir/$${compiler}): \ + return() + } + + # QMAKE_CXX does not point to a compiler. + error("Compiler $$QMAKE_CXX not found. Check the value of CROSS_COMPILE -device-option") +} + +defined(qtConfSanitizeMkspec, test): \ + qtConfSanitizeMkspec() diff --git a/config.tests/xlocalescanprint/qglobal.h b/config.tests/xlocalescanprint/qglobal.h new file mode 100644 index 0000000000..98de822847 --- /dev/null +++ b/config.tests/xlocalescanprint/qglobal.h @@ -0,0 +1,43 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the config.tests of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGLOBAL_H +#define QGLOBAL_H + +#endif diff --git a/config.tests/xlocalescanprint/xlocalescanprint.cpp b/config.tests/xlocalescanprint/xlocalescanprint.cpp new file mode 100644 index 0000000000..2f1f28f74e --- /dev/null +++ b/config.tests/xlocalescanprint/xlocalescanprint.cpp @@ -0,0 +1,62 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the config.tests of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#define QT_BEGIN_NAMESPACE +#define QT_END_NAMESPACE + +#ifdef _MSVC_VER +#define Q_CC_MSVC _MSVC_VER +#endif + +#define QT_NO_DOUBLECONVERSION + +#include "../../../src/corelib/tools/qdoublescanprint_p.h" + +int main(int argc, char **argv) +{ +#ifdef _MSVC_VER + _locale_t invalidLocale = NULL; +#else + locale_t invalidLocale = NULL; +#endif + double a = 3.4; + qDoubleSnprintf(argv[0], 1, invalidLocale, "invalid format", a); + qDoubleSscanf(argv[0], invalidLocale, "invalid format", &a, &argc); + return 0; +} diff --git a/config.tests/xlocalescanprint/xlocalescanprint.pro b/config.tests/xlocalescanprint/xlocalescanprint.pro new file mode 100644 index 0000000000..a37a01f227 --- /dev/null +++ b/config.tests/xlocalescanprint/xlocalescanprint.pro @@ -0,0 +1,3 @@ +SOURCES = xlocalescanprint.cpp +CONFIG -= qt +CONFIG += console -- cgit v1.2.3