This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by Squid Web Proxy configure 6.6, which was generated by GNU Autoconf 2.71. Invocation command line was $ ./configure --target=mips64-buildroot-linux-gnu --host=mips64-buildroot-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var --program-prefix= --disable-gtk-doc --disable-gtk-doc-html --disable-doc --disable-docs --disable-documentation --with-xmlto=no --with-fop=no --disable-dependency-tracking --enable-ipv6 --disable-nls --enable-static --enable-shared --enable-async-io=8 --enable-linux-netfilter --enable-removal-policies=lru,heap --with-filedescriptors=1024 --disable-ident-lookups '--enable-auth-basic=fake getpwnam' --enable-auth-digest=file --enable-auth-negotiate=wrapper --enable-auth-ntlm=fake --disable-strict-error-checking --enable-external-acl-helpers=file_userip --disable-ltdl-install --without-included-ltdl --with-logdir=/var/log/squid/ --with-pidfile=/var/run/squid.pid --with-swapdir=/var/cache/squid/ --with-default-user=squid --without-mit-krb5 --with-openssl --without-gnutls --without-systemd ## --------- ## ## Platform. ## ## --------- ## hostname = br-autobuild-1.osuosl.org uname -m = x86_64 uname -r = 6.0.11-300.fc37.x86_64 uname -s = Linux uname -v = #1 SMP PREEMPT_DYNAMIC Fri Dec 2 20:47:45 UTC 2022 /usr/bin/uname -p = x86_64 /bin/uname -X = unknown /bin/arch = x86_64 /usr/bin/arch -k = unknown /usr/convex/getsysinfo = unknown /usr/bin/hostinfo = unknown /bin/machine = unknown /usr/bin/oslevel = unknown /bin/universe = unknown PATH: /home/buildroot/autobuild/instance-0/output-1/host/bin/ PATH: /home/buildroot/autobuild/instance-0/output-1/host/sbin/ PATH: /usr/local/sbin/ PATH: /usr/local/bin/ PATH: /usr/sbin/ PATH: /usr/bin/ ## ----------- ## ## Core tests. ## ## ----------- ## configure:4023: looking for aux files: ltmain.sh compile config.guess config.sub missing install-sh configure:4036: trying ./cfgaux/ configure:4065: ./cfgaux/ltmain.sh found configure:4065: ./cfgaux/compile found configure:4065: ./cfgaux/config.guess found configure:4065: ./cfgaux/config.sub found configure:4065: ./cfgaux/missing found configure:4047: ./cfgaux/install-sh found configure:4199: checking for a BSD-compatible install configure:4272: result: /usr/bin/install -c configure:4283: checking whether build environment is sane configure:4338: result: yes configure:4394: checking for mips64-buildroot-linux-gnu-strip configure:4426: result: /bin/true configure:4497: checking for a race-free mkdir -p configure:4541: result: /usr/bin/mkdir -p configure:4548: checking for gawk configure:4569: found /home/buildroot/autobuild/instance-0/output-1/host/bin/gawk configure:4580: result: gawk configure:4591: checking whether make sets $(MAKE) configure:4614: result: yes configure:4644: checking whether make supports nested variables configure:4662: result: yes configure:4747: checking whether UID '1001' is supported by ustar format configure:4750: result: yes configure:4757: checking whether GID '1001' is supported by ustar format configure:4760: result: yes configure:4768: checking how to create a ustar tar archive configure:4779: tar --version tar (GNU tar) 1.34 Copyright (C) 2021 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by John Gilmore and Jay Fenlason. configure:4782: $? = 0 configure:4822: tardir=conftest.dir && eval tar --format=ustar -chf - "$tardir" >conftest.tar configure:4825: $? = 0 configure:4829: tar -xf - &5 mips-img-linux-gnu-gcc (Codescape GNU Tools 2018.09-02 for MIPS IMG Linux) 6.3.0 Copyright (C) 2016 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. configure:5961: $? = 0 configure:5950: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -v >&5 Using built-in specs. COLLECT_GCC=/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/mips-img-linux-gnu-gcc COLLECT_LTO_WRAPPER=/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../libexec/gcc/mips-img-linux-gnu/6.3.0/lto-wrapper Target: mips-img-linux-gnu Configured with: /scratch/overtest/root/69281/240198/shared/gcc/configure --prefix=/scratch/overtest/root/69281/240300/shared/mips-img-linux-gnu/2018.09-02 --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-libssp --disable-libmudflap --disable-decimal-float --with-mips-plt --target=mips-img-linux-gnu --enable-languages=c,c++,fortran --with-sysroot=/scratch/overtest/root/69281/240300/shared/mips-img-linux-gnu/2018.09-02/sysroot --enable-__cxa_atexit --with-bugurl=http://mips.com/mips-sdk-support/ --with-pkgversion='Codescape GNU Tools 2018.09-02 for MIPS IMG Linux' Thread model: posix gcc version 6.3.0 (Codescape GNU Tools 2018.09-02 for MIPS IMG Linux) COMPILER_PATH=/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../libexec/gcc/mips-img-linux-gnu/6.3.0/:/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../libexec/gcc/:/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips-img-linux-gnu/6.3.0/../../../../mips-img-linux-gnu/bin/ LIBRARY_PATH=/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips-img-linux-gnu/6.3.0/mips-r6-hard/lib64/:/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips-img-linux-gnu/6.3.0/../../../../mips-img-linux-gnu/lib/mips-r6-hard/lib64/:/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips-img-linux-gnu/6.3.0/:/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/:/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips-img-linux-gnu/6.3.0/../../../../mips-img-linux-gnu/lib/:/home/buildroot/autobuild/instance-0/output-1/host/mips64-buildroot-linux-gnu/sysroot/mips-r6-hard/lib64/:/home/buildroot/autobuild/instance-0/output-1/host/mips64-buildroot-linux-gnu/sysroot/mips-r6-hard/usr/lib64/ COLLECT_GCC_OPTIONS='-mabi=64' '-mnan=2008' '-EB' '-fdebug-prefix-map=/home/buildroot/autobuild/instance-0/output-1=buildroot' '-D' '__FILE__=""' '-D' '__BASE_FILE__=""' '-Wno-builtin-macro-redefined' '-D' 'BR_NEED_SOURCE_DATE_EPOCH' '-march=i6400' '-v' '-mllsc' '-mips64r6' '-mhard-float' '-msynci' '-mno-shared' ... rest of stderr output deleted ... configure:5961: $? = 1 configure:5950: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -V >&5 mips-img-linux-gnu-gcc: error: unrecognized command line option '-V' configure:5961: $? = 1 configure:5950: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -qversion >&5 mips-img-linux-gnu-gcc: error: unrecognized command line option '-qversion'; did you mean '--version'? configure:5961: $? = 1 configure:5950: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -version >&5 mips-img-linux-gnu-gcc: error: unrecognized command line option '-version' configure:5961: $? = 1 configure:5981: checking whether the C compiler works configure:6003: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -g conftest.c -latomic >&5 configure:6007: $? = 0 configure:6057: result: yes configure:6060: checking for C compiler default output file name configure:6062: result: a.out configure:6068: checking for suffix of executables configure:6075: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -g conftest.c -latomic >&5 configure:6079: $? = 0 configure:6102: result: configure:6124: checking whether we are cross compiling configure:6162: result: yes configure:6167: checking for suffix of object files configure:6190: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:6194: $? = 0 configure:6216: result: o configure:6220: checking whether the compiler supports GNU C configure:6240: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:6240: $? = 0 configure:6250: result: yes configure:6261: checking whether /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc accepts -g configure:6282: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -c -g -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:6282: $? = 0 configure:6326: result: yes configure:6346: checking for /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc option to enable C11 features configure:6361: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:6361: $? = 0 configure:6379: result: none needed configure:6495: checking whether /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc understands -c and -o together configure:6518: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -c conftest.c -o conftest2.o configure:6521: $? = 0 configure:6518: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -c conftest.c -o conftest2.o configure:6521: $? = 0 configure:6533: result: yes configure:6553: checking whether make supports the include directive configure:6568: make -f confmf.GNU && cat confinc.out make[1]: Entering directory '/home/buildroot/autobuild/instance-0/output-1/build/squid-6.6' make[1]: Leaving directory '/home/buildroot/autobuild/instance-0/output-1/build/squid-6.6' this is the am__doit target configure:6571: $? = 0 configure:6590: result: yes (GNU style) configure:6616: checking dependency style of /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc configure:6728: result: none configure:6872: checking for C++ compiler version configure:6881: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ --version >&5 mips-img-linux-gnu-g++ (Codescape GNU Tools 2018.09-02 for MIPS IMG Linux) 6.3.0 Copyright (C) 2016 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. configure:6892: $? = 0 configure:6881: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ -v >&5 Using built-in specs. COLLECT_GCC=/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/mips-img-linux-gnu-g++ COLLECT_LTO_WRAPPER=/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../libexec/gcc/mips-img-linux-gnu/6.3.0/lto-wrapper Target: mips-img-linux-gnu Configured with: /scratch/overtest/root/69281/240198/shared/gcc/configure --prefix=/scratch/overtest/root/69281/240300/shared/mips-img-linux-gnu/2018.09-02 --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-libssp --disable-libmudflap --disable-decimal-float --with-mips-plt --target=mips-img-linux-gnu --enable-languages=c,c++,fortran --with-sysroot=/scratch/overtest/root/69281/240300/shared/mips-img-linux-gnu/2018.09-02/sysroot --enable-__cxa_atexit --with-bugurl=http://mips.com/mips-sdk-support/ --with-pkgversion='Codescape GNU Tools 2018.09-02 for MIPS IMG Linux' Thread model: posix gcc version 6.3.0 (Codescape GNU Tools 2018.09-02 for MIPS IMG Linux) COMPILER_PATH=/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../libexec/gcc/mips-img-linux-gnu/6.3.0/:/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../libexec/gcc/:/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips-img-linux-gnu/6.3.0/../../../../mips-img-linux-gnu/bin/ LIBRARY_PATH=/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips-img-linux-gnu/6.3.0/mips-r6-hard/lib64/:/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips-img-linux-gnu/6.3.0/../../../../mips-img-linux-gnu/lib/mips-r6-hard/lib64/:/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips-img-linux-gnu/6.3.0/:/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/:/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips-img-linux-gnu/6.3.0/../../../../mips-img-linux-gnu/lib/:/home/buildroot/autobuild/instance-0/output-1/host/mips64-buildroot-linux-gnu/sysroot/mips-r6-hard/lib64/:/home/buildroot/autobuild/instance-0/output-1/host/mips64-buildroot-linux-gnu/sysroot/mips-r6-hard/usr/lib64/ COLLECT_GCC_OPTIONS='-mabi=64' '-mnan=2008' '-EB' '-fdebug-prefix-map=/home/buildroot/autobuild/instance-0/output-1=buildroot' '-D' '__FILE__=""' '-D' '__BASE_FILE__=""' '-Wno-builtin-macro-redefined' '-D' 'BR_NEED_SOURCE_DATE_EPOCH' '-march=i6400' '-v' '-shared-libgcc' '-mllsc' '-mips64r6' '-mhard-float' '-msynci' '-mno-shared' ... rest of stderr output deleted ... configure:6892: $? = 1 configure:6881: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ -V >&5 mips-img-linux-gnu-g++: error: unrecognized command line option '-V' configure:6892: $? = 1 configure:6881: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ -qversion >&5 mips-img-linux-gnu-g++: error: unrecognized command line option '-qversion'; did you mean '--version'? configure:6892: $? = 1 configure:6896: checking whether the compiler supports GNU C++ configure:6916: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.cpp >&5 configure:6916: $? = 0 configure:6926: result: yes configure:6937: checking whether /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ accepts -g configure:6958: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ -c -g -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.cpp >&5 configure:6958: $? = 0 configure:7002: result: yes configure:7022: checking for /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ option to enable C++11 features configure:7037: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.cpp >&5 configure:7037: $? = 0 configure:7055: result: none needed configure:7121: checking dependency style of /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ configure:7233: result: none configure:7255: checking for stdio.h configure:7255: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:7255: $? = 0 configure:7255: result: yes configure:7255: checking for stdlib.h configure:7255: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:7255: $? = 0 configure:7255: result: yes configure:7255: checking for string.h configure:7255: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:7255: $? = 0 configure:7255: result: yes configure:7255: checking for inttypes.h configure:7255: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:7255: $? = 0 configure:7255: result: yes configure:7255: checking for stdint.h configure:7255: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:7255: $? = 0 configure:7255: result: yes configure:7255: checking for strings.h configure:7255: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:7255: $? = 0 configure:7255: result: yes configure:7255: checking for sys/stat.h configure:7255: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:7255: $? = 0 configure:7255: result: yes configure:7255: checking for sys/types.h configure:7255: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:7255: $? = 0 configure:7255: result: yes configure:7255: checking for unistd.h configure:7255: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:7255: $? = 0 configure:7255: result: yes configure:7255: checking for wchar.h configure:7255: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:7255: $? = 0 configure:7255: result: yes configure:7255: checking for minix/config.h configure:7255: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:49:26: fatal error: minix/config.h: No such file or directory #include ^ compilation terminated. configure:7255: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "Squid Web Proxy" | #define PACKAGE_TARNAME "squid" | #define PACKAGE_VERSION "6.6" | #define PACKAGE_STRING "Squid Web Proxy 6.6" | #define PACKAGE_BUGREPORT "https://bugs.squid-cache.org/" | #define PACKAGE_URL "" | #define PACKAGE "squid" | #define VERSION "6.6" | #define HAVE_STDIO_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_WCHAR_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_STDIO_H | # include | #endif | #ifdef HAVE_STDLIB_H | # include | #endif | #ifdef HAVE_STRING_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:7255: result: no configure:7286: checking whether it is safe to define __EXTENSIONS__ configure:7305: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:7305: $? = 0 configure:7313: result: yes configure:7316: checking whether _XOPEN_SOURCE should be defined configure:7338: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:7338: $? = 0 configure:7365: result: no configure:7446: CPU arch native optimization enabled: auto configure:7453: checking whether compiler accepts -march=native configure:7490: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -march=native -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -g conftest.cpp -latomic >&5 cc1plus: error: unrecognized argument in option '-march=native' cc1plus: note: valid arguments to '-march=' are: 10000 1004kc 1004kf 1004kf1_1 1004kf2_1 10k 12000 12k 14000 14k 16000 16k 2000 20kc 24kc 24kec 24kef 24kef1_1 24kef2_1 24kefx 24kex 24kf 24kf1_1 24kf2_1 24kfx 24kx 2k 3000 34kc 34kf 34kf1_1 34kf2_1 34kfx 34kn 34kx 3900 3k 4000 4100 4111 4120 4130 4300 4400 4600 4650 4700 4k 4kc 4kec 4kem 4kep 4km 4kp 4ksc 4ksd 5000 5400 5500 5900 5k 5kc 5kf 6000 6k 7000 74kc 74kf 74kf1_1 74kf2_1 74kf3_2 74kfx 74kx 7k 8000 8k 9000 9k from-abi i6400 i6500 interaptiv interaptiv-mr2 loongson2e loongson2f loongson3a m14k m14kc m14ke m14kec m4k m5100 m5101 m6201 mips1 mips2 mips3 mips32 mips32r2 mips32r3 mips32r5 mips32r6 mips4 mips64 mips64r2 mips64r3 mips64r5 mips64r6 octeon octeon+ octeon2 octeon3 orion p5600 p6600 r10000 r1004kc r1004kf r1004kf1_1 r1004kf2_1 r10k r12000 r12k r14000 r14k r16000 r16k r2000 r20kc r24kc r24kec r24kef r24kef1_1 r24kef2_1 r24kefx r24kex r24kf r24kf1_1 r24kf2_1 r24kfx r24kx r2k r3000 r34kc r34kf r34kf1_1 r34kf2_1 r34kfx r34kn r34kx r3900 r3k r4000 r4100 r4111 r4120 r4130 r4300 r4400 r4600 r4650 r4700 r4k r4kc r4kec r4kem r4kep r4km r4kp r4ksc r4ksd r5000 r5400 r5500 r5900 r5k r5kc r5kf r6000 r6k r7000 r74kc r74kf r74kf1_1 r74kf2_1 r74kf3_2 r74kfx r74kx r7k r8000 r8k r9000 r9k rm7000 rm7k rm9000 rm9k sb1 sb1a sr71000 sr71k vr4100 vr4111 vr4120 vr4130 vr4300 vr5000 vr5400 vr5500 vr5k xlp xlr conftest.cpp:1:0: error: '-march=mips32r6' is not compatible with the selected ABI /* confdefs.h */ configure:7490: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "Squid Web Proxy" | #define PACKAGE_TARNAME "squid" | #define PACKAGE_VERSION "6.6" | #define PACKAGE_STRING "Squid Web Proxy 6.6" | #define PACKAGE_BUGREPORT "https://bugs.squid-cache.org/" | #define PACKAGE_URL "" | #define PACKAGE "squid" | #define VERSION "6.6" | #define HAVE_STDIO_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_WCHAR_H 1 | #define STDC_HEADERS 1 | #define _ALL_SOURCE 1 | #define _DARWIN_C_SOURCE 1 | #define _GNU_SOURCE 1 | #define _HPUX_ALT_XOPEN_SOCKET_API 1 | #define _NETBSD_SOURCE 1 | #define _OPENBSD_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 | #define __STDC_WANT_IEC_60559_BFP_EXT__ 1 | #define __STDC_WANT_IEC_60559_DFP_EXT__ 1 | #define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1 | #define __STDC_WANT_IEC_60559_TYPES_EXT__ 1 | #define __STDC_WANT_LIB_EXT2__ 1 | #define __STDC_WANT_MATH_SPEC_FUNCS__ 1 | #define _TANDEM_SOURCE 1 | #define __EXTENSIONS__ 1 | /* end confdefs.h. */ | | int | main (void) | { | | ; | return 0; | } configure:7529: result: no configure:7558: checking whether /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ supports C++17 features with -std=c++17 configure:8359: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ -std=c++17 -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.cpp >&5 conftest.cpp:460:2: error: #error "This is not a C++17 compiler" #error "This is not a C++17 compiler" ^~~~~ configure:8359: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "Squid Web Proxy" | #define PACKAGE_TARNAME "squid" | #define PACKAGE_VERSION "6.6" | #define PACKAGE_STRING "Squid Web Proxy 6.6" | #define PACKAGE_BUGREPORT "https://bugs.squid-cache.org/" | #define PACKAGE_URL "" | #define PACKAGE "squid" | #define VERSION "6.6" | #define HAVE_STDIO_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_WCHAR_H 1 | #define STDC_HEADERS 1 | #define _ALL_SOURCE 1 | #define _DARWIN_C_SOURCE 1 | #define _GNU_SOURCE 1 | #define _HPUX_ALT_XOPEN_SOCKET_API 1 | #define _NETBSD_SOURCE 1 | #define _OPENBSD_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 | #define __STDC_WANT_IEC_60559_BFP_EXT__ 1 | #define __STDC_WANT_IEC_60559_DFP_EXT__ 1 | #define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1 | #define __STDC_WANT_IEC_60559_TYPES_EXT__ 1 | #define __STDC_WANT_LIB_EXT2__ 1 | #define __STDC_WANT_MATH_SPEC_FUNCS__ 1 | #define _TANDEM_SOURCE 1 | #define __EXTENSIONS__ 1 | /* end confdefs.h. */ | | | // If the compiler admits that it is not ready for C++11, why torture it? | // Hopefully, this will speed up the test. | | #ifndef __cplusplus | | #error "This is not a C++ compiler" | | // MSVC always sets __cplusplus to 199711L in older versions; newer versions | // only set it correctly if /Zc:__cplusplus is specified as well as a | // /std:c++NN switch: | // https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ | #elif __cplusplus < 201103L && !defined _MSC_VER | | #error "This is not a C++11 compiler" | | #else | | namespace cxx11 | { | | namespace test_static_assert | { | | template | struct check | { | static_assert(sizeof(int) <= sizeof(T), "not big enough"); | }; | | } | | namespace test_final_override | { | | struct Base | { | virtual ~Base() {} | virtual void f() {} | }; | | struct Derived : public Base | { | virtual ~Derived() override {} | virtual void f() override {} | }; | | } | | namespace test_double_right_angle_brackets | { | | template < typename T > | struct check {}; | | typedef check single_type; | typedef check> double_type; | typedef check>> triple_type; | typedef check>>> quadruple_type; | | } | | namespace test_decltype | { | | int | f() | { | int a = 1; | decltype(a) b = 2; | return a + b; | } | | } | | namespace test_type_deduction | { | | template < typename T1, typename T2 > | struct is_same | { | static const bool value = false; | }; | | template < typename T > | struct is_same | { | static const bool value = true; | }; | | template < typename T1, typename T2 > | auto | add(T1 a1, T2 a2) -> decltype(a1 + a2) | { | return a1 + a2; | } | | int | test(const int c, volatile int v) | { | static_assert(is_same::value == true, ""); | static_assert(is_same::value == false, ""); | static_assert(is_same::value == false, ""); | auto ac = c; | auto av = v; | auto sumi = ac + av + 'x'; | auto sumf = ac + av + 1.0; | static_assert(is_same::value == true, ""); | static_assert(is_same::value == true, ""); | static_assert(is_same::value == true, ""); | static_assert(is_same::value == false, ""); | static_assert(is_same::value == true, ""); | return (sumf > 0.0) ? sumi : add(c, v); | } | | } | | namespace test_noexcept | { | | int f() { return 0; } | int g() noexcept { return 0; } | | static_assert(noexcept(f()) == false, ""); | static_assert(noexcept(g()) == true, ""); | | } | | namespace test_constexpr | { | | template < typename CharT > | unsigned long constexpr | strlen_c_r(const CharT *const s, const unsigned long acc) noexcept | { | return *s ? strlen_c_r(s + 1, acc + 1) : acc; | } | | template < typename CharT > | unsigned long constexpr | strlen_c(const CharT *const s) noexcept | { | return strlen_c_r(s, 0UL); | } | | static_assert(strlen_c("") == 0UL, ""); | static_assert(strlen_c("1") == 1UL, ""); | static_assert(strlen_c("example") == 7UL, ""); | static_assert(strlen_c("another\0example") == 7UL, ""); | | } | | namespace test_rvalue_references | { | | template < int N > | struct answer | { | static constexpr int value = N; | }; | | answer<1> f(int&) { return answer<1>(); } | answer<2> f(const int&) { return answer<2>(); } | answer<3> f(int&&) { return answer<3>(); } | | void | test() | { | int i = 0; | const int c = 0; | static_assert(decltype(f(i))::value == 1, ""); | static_assert(decltype(f(c))::value == 2, ""); | static_assert(decltype(f(0))::value == 3, ""); | } | | } | | namespace test_uniform_initialization | { | | struct test | { | static const int zero {}; | static const int one {1}; | }; | | static_assert(test::zero == 0, ""); | static_assert(test::one == 1, ""); | | } | | namespace test_lambdas | { | | void | test1() | { | auto lambda1 = [](){}; | auto lambda2 = lambda1; | lambda1(); | lambda2(); | } | | int | test2() | { | auto a = [](int i, int j){ return i + j; }(1, 2); | auto b = []() -> int { return '0'; }(); | auto c = [=](){ return a + b; }(); | auto d = [&](){ return c; }(); | auto e = [a, &b](int x) mutable { | const auto identity = [](int y){ return y; }; | for (auto i = 0; i < a; ++i) | a += b--; | return x + identity(a + b); | }(0); | return a + b + c + d + e; | } | | int | test3() | { | const auto nullary = [](){ return 0; }; | const auto unary = [](int x){ return x; }; | using nullary_t = decltype(nullary); | using unary_t = decltype(unary); | const auto higher1st = [](nullary_t f){ return f(); }; | const auto higher2nd = [unary](nullary_t f1){ | return [unary, f1](unary_t f2){ return f2(unary(f1())); }; | }; | return higher1st(nullary) + higher2nd(nullary)(unary); | } | | } | | namespace test_variadic_templates | { | | template | struct sum; | | template | struct sum | { | static constexpr auto value = N0 + sum::value; | }; | | template <> | struct sum<> | { | static constexpr auto value = 0; | }; | | static_assert(sum<>::value == 0, ""); | static_assert(sum<1>::value == 1, ""); | static_assert(sum<23>::value == 23, ""); | static_assert(sum<1, 2>::value == 3, ""); | static_assert(sum<5, 5, 11>::value == 21, ""); | static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); | | } | | // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae | // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function | // because of this. | namespace test_template_alias_sfinae | { | | struct foo {}; | | template | using member = typename T::member_type; | | template | void func(...) {} | | template | void func(member*) {} | | void test(); | | void test() { func(0); } | | } | | } // namespace cxx11 | | #endif // __cplusplus >= 201103L | | | | | // If the compiler admits that it is not ready for C++14, why torture it? | // Hopefully, this will speed up the test. | | #ifndef __cplusplus | | #error "This is not a C++ compiler" | | #elif __cplusplus < 201402L && !defined _MSC_VER | | #error "This is not a C++14 compiler" | | #else | | namespace cxx14 | { | | namespace test_polymorphic_lambdas | { | | int | test() | { | const auto lambda = [](auto&&... args){ | const auto istiny = [](auto x){ | return (sizeof(x) == 1UL) ? 1 : 0; | }; | const int aretiny[] = { istiny(args)... }; | return aretiny[0]; | }; | return lambda(1, 1L, 1.0f, '1'); | } | | } | | namespace test_binary_literals | { | | constexpr auto ivii = 0b0000000000101010; | static_assert(ivii == 42, "wrong value"); | | } | | namespace test_generalized_constexpr | { | | template < typename CharT > | constexpr unsigned long | strlen_c(const CharT *const s) noexcept | { | auto length = 0UL; | for (auto p = s; *p; ++p) | ++length; | return length; | } | | static_assert(strlen_c("") == 0UL, ""); | static_assert(strlen_c("x") == 1UL, ""); | static_assert(strlen_c("test") == 4UL, ""); | static_assert(strlen_c("another\0test") == 7UL, ""); | | } | | namespace test_lambda_init_capture | { | | int | test() | { | auto x = 0; | const auto lambda1 = [a = x](int b){ return a + b; }; | const auto lambda2 = [a = lambda1(x)](){ return a; }; | return lambda2(); | } | | } | | namespace test_digit_separators | { | | constexpr auto ten_million = 100'000'000; | static_assert(ten_million == 100000000, ""); | | } | | namespace test_return_type_deduction | { | | auto f(int& x) { return x; } | decltype(auto) g(int& x) { return x; } | | template < typename T1, typename T2 > | struct is_same | { | static constexpr auto value = false; | }; | | template < typename T > | struct is_same | { | static constexpr auto value = true; | }; | | int | test() | { | auto x = 0; | static_assert(is_same::value, ""); | static_assert(is_same::value, ""); | return x; | } | | } | | } // namespace cxx14 | | #endif // __cplusplus >= 201402L | | | | | // If the compiler admits that it is not ready for C++17, why torture it? | // Hopefully, this will speed up the test. | | #ifndef __cplusplus | | #error "This is not a C++ compiler" | | #elif __cplusplus < 201703L && !defined _MSC_VER | | #error "This is not a C++17 compiler" | | #else | | #include | #include | #include | | namespace cxx17 | { | | namespace test_constexpr_lambdas | { | | constexpr int foo = [](){return 42;}(); | | } | | namespace test::nested_namespace::definitions | { | | } | | namespace test_fold_expression | { | | template | int multiply(Args... args) | { | return (args * ... * 1); | } | | template | bool all(Args... args) | { | return (args && ...); | } | | } | | namespace test_extended_static_assert | { | | static_assert (true); | | } | | namespace test_auto_brace_init_list | { | | auto foo = {5}; | auto bar {5}; | | static_assert(std::is_same, decltype(foo)>::value); | static_assert(std::is_same::value); | } | | namespace test_typename_in_template_template_parameter | { | | template typename X> struct D; | | } | | namespace test_fallthrough_nodiscard_maybe_unused_attributes | { | | int f1() | { | return 42; | } | | [[nodiscard]] int f2() | { | [[maybe_unused]] auto unused = f1(); | | switch (f1()) | { | case 17: | f1(); | [[fallthrough]]; | case 42: | f1(); | } | return f1(); | } | | } | | namespace test_extended_aggregate_initialization | { | | struct base1 | { | int b1, b2 = 42; | }; | | struct base2 | { | base2() { | b3 = 42; | } | int b3; | }; | | struct derived : base1, base2 | { | int d; | }; | | derived d1 {{1, 2}, {}, 4}; // full initialization | derived d2 {{}, {}, 4}; // value-initialized bases | | } | | namespace test_general_range_based_for_loop | { | | struct iter | { | int i; | | int& operator* () | { | return i; | } | | const int& operator* () const | { | return i; | } | | iter& operator++() | { | ++i; | return *this; | } | }; | | struct sentinel | { | int i; | }; | | bool operator== (const iter& i, const sentinel& s) | { | return i.i == s.i; | } | | bool operator!= (const iter& i, const sentinel& s) | { | return !(i == s); | } | | struct range | { | iter begin() const | { | return {0}; | } | | sentinel end() const | { | return {5}; | } | }; | | void f() | { | range r {}; | | for (auto i : r) | { | [[maybe_unused]] auto v = i; | } | } | | } | | namespace test_lambda_capture_asterisk_this_by_value | { | | struct t | { | int i; | int foo() | { | return [*this]() | { | return i; | }(); | } | }; | | } | | namespace test_enum_class_construction | { | | enum class byte : unsigned char | {}; | | byte foo {42}; | | } | | namespace test_constexpr_if | { | | template | int f () | { | if constexpr(cond) | { | return 13; | } | else | { | return 42; | } | } | | } | | namespace test_selection_statement_with_initializer | { | | int f() | { | return 13; | } | | int f2() | { | if (auto i = f(); i > 0) | { | return 3; | } | | switch (auto i = f(); i + 4) | { | case 17: | return 2; | | default: | return 1; | } | } | | } | | namespace test_template_argument_deduction_for_class_templates | { | | template | struct pair | { | pair (T1 p1, T2 p2) | : m1 {p1}, | m2 {p2} | {} | | T1 m1; | T2 m2; | }; | | void f() | { | [[maybe_unused]] auto p = pair{13, 42u}; | } | | } | | namespace test_non_type_auto_template_parameters | { | | template | struct B | {}; | | B<5> b1; | B<'a'> b2; | | } | | namespace test_structured_bindings | { | | int arr[2] = { 1, 2 }; | std::pair pr = { 1, 2 }; | | auto f1() -> int(&)[2] | { | return arr; | } | | auto f2() -> std::pair& | { | return pr; | } | | struct S | { | int x1 : 2; | volatile double y1; | }; | | S f3() | { | return {}; | } | | auto [ x1, y1 ] = f1(); | auto& [ xr1, yr1 ] = f1(); | auto [ x2, y2 ] = f2(); | auto& [ xr2, yr2 ] = f2(); | const auto [ x3, y3 ] = f3(); | | } | | namespace test_exception_spec_type_system | { | | struct Good {}; | struct Bad {}; | | void g1() noexcept; | void g2(); | | template | Bad | f(T*, T*); | | template | Good | f(T1*, T2*); | | static_assert (std::is_same_v); | | } | | namespace test_inline_variables | { | | template void f(T) | {} | | template inline T g(T) | { | return T{}; | } | | template<> inline void f<>(int) | {} | | template<> int g<>(int) | { | return 5; | } | | } | | } // namespace cxx17 | | #endif // __cplusplus < 201703L && !defined _MSC_VER | | | configure:8369: result: no configure:7558: checking whether /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ supports C++17 features with +std=c++17 configure:8359: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ +std=c++17 -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.cpp >&5 mips-img-linux-gnu-g++: error: +std=c++17: No such file or directory configure:8359: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "Squid Web Proxy" | #define PACKAGE_TARNAME "squid" | #define PACKAGE_VERSION "6.6" | #define PACKAGE_STRING "Squid Web Proxy 6.6" | #define PACKAGE_BUGREPORT "https://bugs.squid-cache.org/" | #define PACKAGE_URL "" | #define PACKAGE "squid" | #define VERSION "6.6" | #define HAVE_STDIO_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_WCHAR_H 1 | #define STDC_HEADERS 1 | #define _ALL_SOURCE 1 | #define _DARWIN_C_SOURCE 1 | #define _GNU_SOURCE 1 | #define _HPUX_ALT_XOPEN_SOCKET_API 1 | #define _NETBSD_SOURCE 1 | #define _OPENBSD_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 | #define __STDC_WANT_IEC_60559_BFP_EXT__ 1 | #define __STDC_WANT_IEC_60559_DFP_EXT__ 1 | #define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1 | #define __STDC_WANT_IEC_60559_TYPES_EXT__ 1 | #define __STDC_WANT_LIB_EXT2__ 1 | #define __STDC_WANT_MATH_SPEC_FUNCS__ 1 | #define _TANDEM_SOURCE 1 | #define __EXTENSIONS__ 1 | /* end confdefs.h. */ | | | // If the compiler admits that it is not ready for C++11, why torture it? | // Hopefully, this will speed up the test. | | #ifndef __cplusplus | | #error "This is not a C++ compiler" | | // MSVC always sets __cplusplus to 199711L in older versions; newer versions | // only set it correctly if /Zc:__cplusplus is specified as well as a | // /std:c++NN switch: | // https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ | #elif __cplusplus < 201103L && !defined _MSC_VER | | #error "This is not a C++11 compiler" | | #else | | namespace cxx11 | { | | namespace test_static_assert | { | | template | struct check | { | static_assert(sizeof(int) <= sizeof(T), "not big enough"); | }; | | } | | namespace test_final_override | { | | struct Base | { | virtual ~Base() {} | virtual void f() {} | }; | | struct Derived : public Base | { | virtual ~Derived() override {} | virtual void f() override {} | }; | | } | | namespace test_double_right_angle_brackets | { | | template < typename T > | struct check {}; | | typedef check single_type; | typedef check> double_type; | typedef check>> triple_type; | typedef check>>> quadruple_type; | | } | | namespace test_decltype | { | | int | f() | { | int a = 1; | decltype(a) b = 2; | return a + b; | } | | } | | namespace test_type_deduction | { | | template < typename T1, typename T2 > | struct is_same | { | static const bool value = false; | }; | | template < typename T > | struct is_same | { | static const bool value = true; | }; | | template < typename T1, typename T2 > | auto | add(T1 a1, T2 a2) -> decltype(a1 + a2) | { | return a1 + a2; | } | | int | test(const int c, volatile int v) | { | static_assert(is_same::value == true, ""); | static_assert(is_same::value == false, ""); | static_assert(is_same::value == false, ""); | auto ac = c; | auto av = v; | auto sumi = ac + av + 'x'; | auto sumf = ac + av + 1.0; | static_assert(is_same::value == true, ""); | static_assert(is_same::value == true, ""); | static_assert(is_same::value == true, ""); | static_assert(is_same::value == false, ""); | static_assert(is_same::value == true, ""); | return (sumf > 0.0) ? sumi : add(c, v); | } | | } | | namespace test_noexcept | { | | int f() { return 0; } | int g() noexcept { return 0; } | | static_assert(noexcept(f()) == false, ""); | static_assert(noexcept(g()) == true, ""); | | } | | namespace test_constexpr | { | | template < typename CharT > | unsigned long constexpr | strlen_c_r(const CharT *const s, const unsigned long acc) noexcept | { | return *s ? strlen_c_r(s + 1, acc + 1) : acc; | } | | template < typename CharT > | unsigned long constexpr | strlen_c(const CharT *const s) noexcept | { | return strlen_c_r(s, 0UL); | } | | static_assert(strlen_c("") == 0UL, ""); | static_assert(strlen_c("1") == 1UL, ""); | static_assert(strlen_c("example") == 7UL, ""); | static_assert(strlen_c("another\0example") == 7UL, ""); | | } | | namespace test_rvalue_references | { | | template < int N > | struct answer | { | static constexpr int value = N; | }; | | answer<1> f(int&) { return answer<1>(); } | answer<2> f(const int&) { return answer<2>(); } | answer<3> f(int&&) { return answer<3>(); } | | void | test() | { | int i = 0; | const int c = 0; | static_assert(decltype(f(i))::value == 1, ""); | static_assert(decltype(f(c))::value == 2, ""); | static_assert(decltype(f(0))::value == 3, ""); | } | | } | | namespace test_uniform_initialization | { | | struct test | { | static const int zero {}; | static const int one {1}; | }; | | static_assert(test::zero == 0, ""); | static_assert(test::one == 1, ""); | | } | | namespace test_lambdas | { | | void | test1() | { | auto lambda1 = [](){}; | auto lambda2 = lambda1; | lambda1(); | lambda2(); | } | | int | test2() | { | auto a = [](int i, int j){ return i + j; }(1, 2); | auto b = []() -> int { return '0'; }(); | auto c = [=](){ return a + b; }(); | auto d = [&](){ return c; }(); | auto e = [a, &b](int x) mutable { | const auto identity = [](int y){ return y; }; | for (auto i = 0; i < a; ++i) | a += b--; | return x + identity(a + b); | }(0); | return a + b + c + d + e; | } | | int | test3() | { | const auto nullary = [](){ return 0; }; | const auto unary = [](int x){ return x; }; | using nullary_t = decltype(nullary); | using unary_t = decltype(unary); | const auto higher1st = [](nullary_t f){ return f(); }; | const auto higher2nd = [unary](nullary_t f1){ | return [unary, f1](unary_t f2){ return f2(unary(f1())); }; | }; | return higher1st(nullary) + higher2nd(nullary)(unary); | } | | } | | namespace test_variadic_templates | { | | template | struct sum; | | template | struct sum | { | static constexpr auto value = N0 + sum::value; | }; | | template <> | struct sum<> | { | static constexpr auto value = 0; | }; | | static_assert(sum<>::value == 0, ""); | static_assert(sum<1>::value == 1, ""); | static_assert(sum<23>::value == 23, ""); | static_assert(sum<1, 2>::value == 3, ""); | static_assert(sum<5, 5, 11>::value == 21, ""); | static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); | | } | | // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae | // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function | // because of this. | namespace test_template_alias_sfinae | { | | struct foo {}; | | template | using member = typename T::member_type; | | template | void func(...) {} | | template | void func(member*) {} | | void test(); | | void test() { func(0); } | | } | | } // namespace cxx11 | | #endif // __cplusplus >= 201103L | | | | | // If the compiler admits that it is not ready for C++14, why torture it? | // Hopefully, this will speed up the test. | | #ifndef __cplusplus | | #error "This is not a C++ compiler" | | #elif __cplusplus < 201402L && !defined _MSC_VER | | #error "This is not a C++14 compiler" | | #else | | namespace cxx14 | { | | namespace test_polymorphic_lambdas | { | | int | test() | { | const auto lambda = [](auto&&... args){ | const auto istiny = [](auto x){ | return (sizeof(x) == 1UL) ? 1 : 0; | }; | const int aretiny[] = { istiny(args)... }; | return aretiny[0]; | }; | return lambda(1, 1L, 1.0f, '1'); | } | | } | | namespace test_binary_literals | { | | constexpr auto ivii = 0b0000000000101010; | static_assert(ivii == 42, "wrong value"); | | } | | namespace test_generalized_constexpr | { | | template < typename CharT > | constexpr unsigned long | strlen_c(const CharT *const s) noexcept | { | auto length = 0UL; | for (auto p = s; *p; ++p) | ++length; | return length; | } | | static_assert(strlen_c("") == 0UL, ""); | static_assert(strlen_c("x") == 1UL, ""); | static_assert(strlen_c("test") == 4UL, ""); | static_assert(strlen_c("another\0test") == 7UL, ""); | | } | | namespace test_lambda_init_capture | { | | int | test() | { | auto x = 0; | const auto lambda1 = [a = x](int b){ return a + b; }; | const auto lambda2 = [a = lambda1(x)](){ return a; }; | return lambda2(); | } | | } | | namespace test_digit_separators | { | | constexpr auto ten_million = 100'000'000; | static_assert(ten_million == 100000000, ""); | | } | | namespace test_return_type_deduction | { | | auto f(int& x) { return x; } | decltype(auto) g(int& x) { return x; } | | template < typename T1, typename T2 > | struct is_same | { | static constexpr auto value = false; | }; | | template < typename T > | struct is_same | { | static constexpr auto value = true; | }; | | int | test() | { | auto x = 0; | static_assert(is_same::value, ""); | static_assert(is_same::value, ""); | return x; | } | | } | | } // namespace cxx14 | | #endif // __cplusplus >= 201402L | | | | | // If the compiler admits that it is not ready for C++17, why torture it? | // Hopefully, this will speed up the test. | | #ifndef __cplusplus | | #error "This is not a C++ compiler" | | #elif __cplusplus < 201703L && !defined _MSC_VER | | #error "This is not a C++17 compiler" | | #else | | #include | #include | #include | | namespace cxx17 | { | | namespace test_constexpr_lambdas | { | | constexpr int foo = [](){return 42;}(); | | } | | namespace test::nested_namespace::definitions | { | | } | | namespace test_fold_expression | { | | template | int multiply(Args... args) | { | return (args * ... * 1); | } | | template | bool all(Args... args) | { | return (args && ...); | } | | } | | namespace test_extended_static_assert | { | | static_assert (true); | | } | | namespace test_auto_brace_init_list | { | | auto foo = {5}; | auto bar {5}; | | static_assert(std::is_same, decltype(foo)>::value); | static_assert(std::is_same::value); | } | | namespace test_typename_in_template_template_parameter | { | | template typename X> struct D; | | } | | namespace test_fallthrough_nodiscard_maybe_unused_attributes | { | | int f1() | { | return 42; | } | | [[nodiscard]] int f2() | { | [[maybe_unused]] auto unused = f1(); | | switch (f1()) | { | case 17: | f1(); | [[fallthrough]]; | case 42: | f1(); | } | return f1(); | } | | } | | namespace test_extended_aggregate_initialization | { | | struct base1 | { | int b1, b2 = 42; | }; | | struct base2 | { | base2() { | b3 = 42; | } | int b3; | }; | | struct derived : base1, base2 | { | int d; | }; | | derived d1 {{1, 2}, {}, 4}; // full initialization | derived d2 {{}, {}, 4}; // value-initialized bases | | } | | namespace test_general_range_based_for_loop | { | | struct iter | { | int i; | | int& operator* () | { | return i; | } | | const int& operator* () const | { | return i; | } | | iter& operator++() | { | ++i; | return *this; | } | }; | | struct sentinel | { | int i; | }; | | bool operator== (const iter& i, const sentinel& s) | { | return i.i == s.i; | } | | bool operator!= (const iter& i, const sentinel& s) | { | return !(i == s); | } | | struct range | { | iter begin() const | { | return {0}; | } | | sentinel end() const | { | return {5}; | } | }; | | void f() | { | range r {}; | | for (auto i : r) | { | [[maybe_unused]] auto v = i; | } | } | | } | | namespace test_lambda_capture_asterisk_this_by_value | { | | struct t | { | int i; | int foo() | { | return [*this]() | { | return i; | }(); | } | }; | | } | | namespace test_enum_class_construction | { | | enum class byte : unsigned char | {}; | | byte foo {42}; | | } | | namespace test_constexpr_if | { | | template | int f () | { | if constexpr(cond) | { | return 13; | } | else | { | return 42; | } | } | | } | | namespace test_selection_statement_with_initializer | { | | int f() | { | return 13; | } | | int f2() | { | if (auto i = f(); i > 0) | { | return 3; | } | | switch (auto i = f(); i + 4) | { | case 17: | return 2; | | default: | return 1; | } | } | | } | | namespace test_template_argument_deduction_for_class_templates | { | | template | struct pair | { | pair (T1 p1, T2 p2) | : m1 {p1}, | m2 {p2} | {} | | T1 m1; | T2 m2; | }; | | void f() | { | [[maybe_unused]] auto p = pair{13, 42u}; | } | | } | | namespace test_non_type_auto_template_parameters | { | | template | struct B | {}; | | B<5> b1; | B<'a'> b2; | | } | | namespace test_structured_bindings | { | | int arr[2] = { 1, 2 }; | std::pair pr = { 1, 2 }; | | auto f1() -> int(&)[2] | { | return arr; | } | | auto f2() -> std::pair& | { | return pr; | } | | struct S | { | int x1 : 2; | volatile double y1; | }; | | S f3() | { | return {}; | } | | auto [ x1, y1 ] = f1(); | auto& [ xr1, yr1 ] = f1(); | auto [ x2, y2 ] = f2(); | auto& [ xr2, yr2 ] = f2(); | const auto [ x3, y3 ] = f3(); | | } | | namespace test_exception_spec_type_system | { | | struct Good {}; | struct Bad {}; | | void g1() noexcept; | void g2(); | | template | Bad | f(T*, T*); | | template | Good | f(T1*, T2*); | | static_assert (std::is_same_v); | | } | | namespace test_inline_variables | { | | template void f(T) | {} | | template inline T g(T) | { | return T{}; | } | | template<> inline void f<>(int) | {} | | template<> int g<>(int) | { | return 5; | } | | } | | } // namespace cxx17 | | #endif // __cplusplus < 201703L && !defined _MSC_VER | | | configure:8369: result: no configure:7558: checking whether /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ supports C++17 features with -h std=c++17 configure:8359: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ -h std=c++17 -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.cpp >&5 conftest.cpp:460:2: error: #error "This is not a C++17 compiler" #error "This is not a C++17 compiler" ^~~~~ configure:8359: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "Squid Web Proxy" | #define PACKAGE_TARNAME "squid" | #define PACKAGE_VERSION "6.6" | #define PACKAGE_STRING "Squid Web Proxy 6.6" | #define PACKAGE_BUGREPORT "https://bugs.squid-cache.org/" | #define PACKAGE_URL "" | #define PACKAGE "squid" | #define VERSION "6.6" | #define HAVE_STDIO_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_WCHAR_H 1 | #define STDC_HEADERS 1 | #define _ALL_SOURCE 1 | #define _DARWIN_C_SOURCE 1 | #define _GNU_SOURCE 1 | #define _HPUX_ALT_XOPEN_SOCKET_API 1 | #define _NETBSD_SOURCE 1 | #define _OPENBSD_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 | #define __STDC_WANT_IEC_60559_BFP_EXT__ 1 | #define __STDC_WANT_IEC_60559_DFP_EXT__ 1 | #define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1 | #define __STDC_WANT_IEC_60559_TYPES_EXT__ 1 | #define __STDC_WANT_LIB_EXT2__ 1 | #define __STDC_WANT_MATH_SPEC_FUNCS__ 1 | #define _TANDEM_SOURCE 1 | #define __EXTENSIONS__ 1 | /* end confdefs.h. */ | | | // If the compiler admits that it is not ready for C++11, why torture it? | // Hopefully, this will speed up the test. | | #ifndef __cplusplus | | #error "This is not a C++ compiler" | | // MSVC always sets __cplusplus to 199711L in older versions; newer versions | // only set it correctly if /Zc:__cplusplus is specified as well as a | // /std:c++NN switch: | // https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ | #elif __cplusplus < 201103L && !defined _MSC_VER | | #error "This is not a C++11 compiler" | | #else | | namespace cxx11 | { | | namespace test_static_assert | { | | template | struct check | { | static_assert(sizeof(int) <= sizeof(T), "not big enough"); | }; | | } | | namespace test_final_override | { | | struct Base | { | virtual ~Base() {} | virtual void f() {} | }; | | struct Derived : public Base | { | virtual ~Derived() override {} | virtual void f() override {} | }; | | } | | namespace test_double_right_angle_brackets | { | | template < typename T > | struct check {}; | | typedef check single_type; | typedef check> double_type; | typedef check>> triple_type; | typedef check>>> quadruple_type; | | } | | namespace test_decltype | { | | int | f() | { | int a = 1; | decltype(a) b = 2; | return a + b; | } | | } | | namespace test_type_deduction | { | | template < typename T1, typename T2 > | struct is_same | { | static const bool value = false; | }; | | template < typename T > | struct is_same | { | static const bool value = true; | }; | | template < typename T1, typename T2 > | auto | add(T1 a1, T2 a2) -> decltype(a1 + a2) | { | return a1 + a2; | } | | int | test(const int c, volatile int v) | { | static_assert(is_same::value == true, ""); | static_assert(is_same::value == false, ""); | static_assert(is_same::value == false, ""); | auto ac = c; | auto av = v; | auto sumi = ac + av + 'x'; | auto sumf = ac + av + 1.0; | static_assert(is_same::value == true, ""); | static_assert(is_same::value == true, ""); | static_assert(is_same::value == true, ""); | static_assert(is_same::value == false, ""); | static_assert(is_same::value == true, ""); | return (sumf > 0.0) ? sumi : add(c, v); | } | | } | | namespace test_noexcept | { | | int f() { return 0; } | int g() noexcept { return 0; } | | static_assert(noexcept(f()) == false, ""); | static_assert(noexcept(g()) == true, ""); | | } | | namespace test_constexpr | { | | template < typename CharT > | unsigned long constexpr | strlen_c_r(const CharT *const s, const unsigned long acc) noexcept | { | return *s ? strlen_c_r(s + 1, acc + 1) : acc; | } | | template < typename CharT > | unsigned long constexpr | strlen_c(const CharT *const s) noexcept | { | return strlen_c_r(s, 0UL); | } | | static_assert(strlen_c("") == 0UL, ""); | static_assert(strlen_c("1") == 1UL, ""); | static_assert(strlen_c("example") == 7UL, ""); | static_assert(strlen_c("another\0example") == 7UL, ""); | | } | | namespace test_rvalue_references | { | | template < int N > | struct answer | { | static constexpr int value = N; | }; | | answer<1> f(int&) { return answer<1>(); } | answer<2> f(const int&) { return answer<2>(); } | answer<3> f(int&&) { return answer<3>(); } | | void | test() | { | int i = 0; | const int c = 0; | static_assert(decltype(f(i))::value == 1, ""); | static_assert(decltype(f(c))::value == 2, ""); | static_assert(decltype(f(0))::value == 3, ""); | } | | } | | namespace test_uniform_initialization | { | | struct test | { | static const int zero {}; | static const int one {1}; | }; | | static_assert(test::zero == 0, ""); | static_assert(test::one == 1, ""); | | } | | namespace test_lambdas | { | | void | test1() | { | auto lambda1 = [](){}; | auto lambda2 = lambda1; | lambda1(); | lambda2(); | } | | int | test2() | { | auto a = [](int i, int j){ return i + j; }(1, 2); | auto b = []() -> int { return '0'; }(); | auto c = [=](){ return a + b; }(); | auto d = [&](){ return c; }(); | auto e = [a, &b](int x) mutable { | const auto identity = [](int y){ return y; }; | for (auto i = 0; i < a; ++i) | a += b--; | return x + identity(a + b); | }(0); | return a + b + c + d + e; | } | | int | test3() | { | const auto nullary = [](){ return 0; }; | const auto unary = [](int x){ return x; }; | using nullary_t = decltype(nullary); | using unary_t = decltype(unary); | const auto higher1st = [](nullary_t f){ return f(); }; | const auto higher2nd = [unary](nullary_t f1){ | return [unary, f1](unary_t f2){ return f2(unary(f1())); }; | }; | return higher1st(nullary) + higher2nd(nullary)(unary); | } | | } | | namespace test_variadic_templates | { | | template | struct sum; | | template | struct sum | { | static constexpr auto value = N0 + sum::value; | }; | | template <> | struct sum<> | { | static constexpr auto value = 0; | }; | | static_assert(sum<>::value == 0, ""); | static_assert(sum<1>::value == 1, ""); | static_assert(sum<23>::value == 23, ""); | static_assert(sum<1, 2>::value == 3, ""); | static_assert(sum<5, 5, 11>::value == 21, ""); | static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); | | } | | // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae | // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function | // because of this. | namespace test_template_alias_sfinae | { | | struct foo {}; | | template | using member = typename T::member_type; | | template | void func(...) {} | | template | void func(member*) {} | | void test(); | | void test() { func(0); } | | } | | } // namespace cxx11 | | #endif // __cplusplus >= 201103L | | | | | // If the compiler admits that it is not ready for C++14, why torture it? | // Hopefully, this will speed up the test. | | #ifndef __cplusplus | | #error "This is not a C++ compiler" | | #elif __cplusplus < 201402L && !defined _MSC_VER | | #error "This is not a C++14 compiler" | | #else | | namespace cxx14 | { | | namespace test_polymorphic_lambdas | { | | int | test() | { | const auto lambda = [](auto&&... args){ | const auto istiny = [](auto x){ | return (sizeof(x) == 1UL) ? 1 : 0; | }; | const int aretiny[] = { istiny(args)... }; | return aretiny[0]; | }; | return lambda(1, 1L, 1.0f, '1'); | } | | } | | namespace test_binary_literals | { | | constexpr auto ivii = 0b0000000000101010; | static_assert(ivii == 42, "wrong value"); | | } | | namespace test_generalized_constexpr | { | | template < typename CharT > | constexpr unsigned long | strlen_c(const CharT *const s) noexcept | { | auto length = 0UL; | for (auto p = s; *p; ++p) | ++length; | return length; | } | | static_assert(strlen_c("") == 0UL, ""); | static_assert(strlen_c("x") == 1UL, ""); | static_assert(strlen_c("test") == 4UL, ""); | static_assert(strlen_c("another\0test") == 7UL, ""); | | } | | namespace test_lambda_init_capture | { | | int | test() | { | auto x = 0; | const auto lambda1 = [a = x](int b){ return a + b; }; | const auto lambda2 = [a = lambda1(x)](){ return a; }; | return lambda2(); | } | | } | | namespace test_digit_separators | { | | constexpr auto ten_million = 100'000'000; | static_assert(ten_million == 100000000, ""); | | } | | namespace test_return_type_deduction | { | | auto f(int& x) { return x; } | decltype(auto) g(int& x) { return x; } | | template < typename T1, typename T2 > | struct is_same | { | static constexpr auto value = false; | }; | | template < typename T > | struct is_same | { | static constexpr auto value = true; | }; | | int | test() | { | auto x = 0; | static_assert(is_same::value, ""); | static_assert(is_same::value, ""); | return x; | } | | } | | } // namespace cxx14 | | #endif // __cplusplus >= 201402L | | | | | // If the compiler admits that it is not ready for C++17, why torture it? | // Hopefully, this will speed up the test. | | #ifndef __cplusplus | | #error "This is not a C++ compiler" | | #elif __cplusplus < 201703L && !defined _MSC_VER | | #error "This is not a C++17 compiler" | | #else | | #include | #include | #include | | namespace cxx17 | { | | namespace test_constexpr_lambdas | { | | constexpr int foo = [](){return 42;}(); | | } | | namespace test::nested_namespace::definitions | { | | } | | namespace test_fold_expression | { | | template | int multiply(Args... args) | { | return (args * ... * 1); | } | | template | bool all(Args... args) | { | return (args && ...); | } | | } | | namespace test_extended_static_assert | { | | static_assert (true); | | } | | namespace test_auto_brace_init_list | { | | auto foo = {5}; | auto bar {5}; | | static_assert(std::is_same, decltype(foo)>::value); | static_assert(std::is_same::value); | } | | namespace test_typename_in_template_template_parameter | { | | template typename X> struct D; | | } | | namespace test_fallthrough_nodiscard_maybe_unused_attributes | { | | int f1() | { | return 42; | } | | [[nodiscard]] int f2() | { | [[maybe_unused]] auto unused = f1(); | | switch (f1()) | { | case 17: | f1(); | [[fallthrough]]; | case 42: | f1(); | } | return f1(); | } | | } | | namespace test_extended_aggregate_initialization | { | | struct base1 | { | int b1, b2 = 42; | }; | | struct base2 | { | base2() { | b3 = 42; | } | int b3; | }; | | struct derived : base1, base2 | { | int d; | }; | | derived d1 {{1, 2}, {}, 4}; // full initialization | derived d2 {{}, {}, 4}; // value-initialized bases | | } | | namespace test_general_range_based_for_loop | { | | struct iter | { | int i; | | int& operator* () | { | return i; | } | | const int& operator* () const | { | return i; | } | | iter& operator++() | { | ++i; | return *this; | } | }; | | struct sentinel | { | int i; | }; | | bool operator== (const iter& i, const sentinel& s) | { | return i.i == s.i; | } | | bool operator!= (const iter& i, const sentinel& s) | { | return !(i == s); | } | | struct range | { | iter begin() const | { | return {0}; | } | | sentinel end() const | { | return {5}; | } | }; | | void f() | { | range r {}; | | for (auto i : r) | { | [[maybe_unused]] auto v = i; | } | } | | } | | namespace test_lambda_capture_asterisk_this_by_value | { | | struct t | { | int i; | int foo() | { | return [*this]() | { | return i; | }(); | } | }; | | } | | namespace test_enum_class_construction | { | | enum class byte : unsigned char | {}; | | byte foo {42}; | | } | | namespace test_constexpr_if | { | | template | int f () | { | if constexpr(cond) | { | return 13; | } | else | { | return 42; | } | } | | } | | namespace test_selection_statement_with_initializer | { | | int f() | { | return 13; | } | | int f2() | { | if (auto i = f(); i > 0) | { | return 3; | } | | switch (auto i = f(); i + 4) | { | case 17: | return 2; | | default: | return 1; | } | } | | } | | namespace test_template_argument_deduction_for_class_templates | { | | template | struct pair | { | pair (T1 p1, T2 p2) | : m1 {p1}, | m2 {p2} | {} | | T1 m1; | T2 m2; | }; | | void f() | { | [[maybe_unused]] auto p = pair{13, 42u}; | } | | } | | namespace test_non_type_auto_template_parameters | { | | template | struct B | {}; | | B<5> b1; | B<'a'> b2; | | } | | namespace test_structured_bindings | { | | int arr[2] = { 1, 2 }; | std::pair pr = { 1, 2 }; | | auto f1() -> int(&)[2] | { | return arr; | } | | auto f2() -> std::pair& | { | return pr; | } | | struct S | { | int x1 : 2; | volatile double y1; | }; | | S f3() | { | return {}; | } | | auto [ x1, y1 ] = f1(); | auto& [ xr1, yr1 ] = f1(); | auto [ x2, y2 ] = f2(); | auto& [ xr2, yr2 ] = f2(); | const auto [ x3, y3 ] = f3(); | | } | | namespace test_exception_spec_type_system | { | | struct Good {}; | struct Bad {}; | | void g1() noexcept; | void g2(); | | template | Bad | f(T*, T*); | | template | Good | f(T1*, T2*); | | static_assert (std::is_same_v); | | } | | namespace test_inline_variables | { | | template void f(T) | {} | | template inline T g(T) | { | return T{}; | } | | template<> inline void f<>(int) | {} | | template<> int g<>(int) | { | return 5; | } | | } | | } // namespace cxx17 | | #endif // __cplusplus < 201703L && !defined _MSC_VER | | | configure:8369: result: no configure:7558: checking whether /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ supports C++17 features with -std=c++1z configure:8359: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ -std=c++1z -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.cpp >&5 conftest.cpp:460:2: error: #error "This is not a C++17 compiler" #error "This is not a C++17 compiler" ^~~~~ configure:8359: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "Squid Web Proxy" | #define PACKAGE_TARNAME "squid" | #define PACKAGE_VERSION "6.6" | #define PACKAGE_STRING "Squid Web Proxy 6.6" | #define PACKAGE_BUGREPORT "https://bugs.squid-cache.org/" | #define PACKAGE_URL "" | #define PACKAGE "squid" | #define VERSION "6.6" | #define HAVE_STDIO_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_WCHAR_H 1 | #define STDC_HEADERS 1 | #define _ALL_SOURCE 1 | #define _DARWIN_C_SOURCE 1 | #define _GNU_SOURCE 1 | #define _HPUX_ALT_XOPEN_SOCKET_API 1 | #define _NETBSD_SOURCE 1 | #define _OPENBSD_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 | #define __STDC_WANT_IEC_60559_BFP_EXT__ 1 | #define __STDC_WANT_IEC_60559_DFP_EXT__ 1 | #define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1 | #define __STDC_WANT_IEC_60559_TYPES_EXT__ 1 | #define __STDC_WANT_LIB_EXT2__ 1 | #define __STDC_WANT_MATH_SPEC_FUNCS__ 1 | #define _TANDEM_SOURCE 1 | #define __EXTENSIONS__ 1 | /* end confdefs.h. */ | | | // If the compiler admits that it is not ready for C++11, why torture it? | // Hopefully, this will speed up the test. | | #ifndef __cplusplus | | #error "This is not a C++ compiler" | | // MSVC always sets __cplusplus to 199711L in older versions; newer versions | // only set it correctly if /Zc:__cplusplus is specified as well as a | // /std:c++NN switch: | // https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ | #elif __cplusplus < 201103L && !defined _MSC_VER | | #error "This is not a C++11 compiler" | | #else | | namespace cxx11 | { | | namespace test_static_assert | { | | template | struct check | { | static_assert(sizeof(int) <= sizeof(T), "not big enough"); | }; | | } | | namespace test_final_override | { | | struct Base | { | virtual ~Base() {} | virtual void f() {} | }; | | struct Derived : public Base | { | virtual ~Derived() override {} | virtual void f() override {} | }; | | } | | namespace test_double_right_angle_brackets | { | | template < typename T > | struct check {}; | | typedef check single_type; | typedef check> double_type; | typedef check>> triple_type; | typedef check>>> quadruple_type; | | } | | namespace test_decltype | { | | int | f() | { | int a = 1; | decltype(a) b = 2; | return a + b; | } | | } | | namespace test_type_deduction | { | | template < typename T1, typename T2 > | struct is_same | { | static const bool value = false; | }; | | template < typename T > | struct is_same | { | static const bool value = true; | }; | | template < typename T1, typename T2 > | auto | add(T1 a1, T2 a2) -> decltype(a1 + a2) | { | return a1 + a2; | } | | int | test(const int c, volatile int v) | { | static_assert(is_same::value == true, ""); | static_assert(is_same::value == false, ""); | static_assert(is_same::value == false, ""); | auto ac = c; | auto av = v; | auto sumi = ac + av + 'x'; | auto sumf = ac + av + 1.0; | static_assert(is_same::value == true, ""); | static_assert(is_same::value == true, ""); | static_assert(is_same::value == true, ""); | static_assert(is_same::value == false, ""); | static_assert(is_same::value == true, ""); | return (sumf > 0.0) ? sumi : add(c, v); | } | | } | | namespace test_noexcept | { | | int f() { return 0; } | int g() noexcept { return 0; } | | static_assert(noexcept(f()) == false, ""); | static_assert(noexcept(g()) == true, ""); | | } | | namespace test_constexpr | { | | template < typename CharT > | unsigned long constexpr | strlen_c_r(const CharT *const s, const unsigned long acc) noexcept | { | return *s ? strlen_c_r(s + 1, acc + 1) : acc; | } | | template < typename CharT > | unsigned long constexpr | strlen_c(const CharT *const s) noexcept | { | return strlen_c_r(s, 0UL); | } | | static_assert(strlen_c("") == 0UL, ""); | static_assert(strlen_c("1") == 1UL, ""); | static_assert(strlen_c("example") == 7UL, ""); | static_assert(strlen_c("another\0example") == 7UL, ""); | | } | | namespace test_rvalue_references | { | | template < int N > | struct answer | { | static constexpr int value = N; | }; | | answer<1> f(int&) { return answer<1>(); } | answer<2> f(const int&) { return answer<2>(); } | answer<3> f(int&&) { return answer<3>(); } | | void | test() | { | int i = 0; | const int c = 0; | static_assert(decltype(f(i))::value == 1, ""); | static_assert(decltype(f(c))::value == 2, ""); | static_assert(decltype(f(0))::value == 3, ""); | } | | } | | namespace test_uniform_initialization | { | | struct test | { | static const int zero {}; | static const int one {1}; | }; | | static_assert(test::zero == 0, ""); | static_assert(test::one == 1, ""); | | } | | namespace test_lambdas | { | | void | test1() | { | auto lambda1 = [](){}; | auto lambda2 = lambda1; | lambda1(); | lambda2(); | } | | int | test2() | { | auto a = [](int i, int j){ return i + j; }(1, 2); | auto b = []() -> int { return '0'; }(); | auto c = [=](){ return a + b; }(); | auto d = [&](){ return c; }(); | auto e = [a, &b](int x) mutable { | const auto identity = [](int y){ return y; }; | for (auto i = 0; i < a; ++i) | a += b--; | return x + identity(a + b); | }(0); | return a + b + c + d + e; | } | | int | test3() | { | const auto nullary = [](){ return 0; }; | const auto unary = [](int x){ return x; }; | using nullary_t = decltype(nullary); | using unary_t = decltype(unary); | const auto higher1st = [](nullary_t f){ return f(); }; | const auto higher2nd = [unary](nullary_t f1){ | return [unary, f1](unary_t f2){ return f2(unary(f1())); }; | }; | return higher1st(nullary) + higher2nd(nullary)(unary); | } | | } | | namespace test_variadic_templates | { | | template | struct sum; | | template | struct sum | { | static constexpr auto value = N0 + sum::value; | }; | | template <> | struct sum<> | { | static constexpr auto value = 0; | }; | | static_assert(sum<>::value == 0, ""); | static_assert(sum<1>::value == 1, ""); | static_assert(sum<23>::value == 23, ""); | static_assert(sum<1, 2>::value == 3, ""); | static_assert(sum<5, 5, 11>::value == 21, ""); | static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); | | } | | // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae | // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function | // because of this. | namespace test_template_alias_sfinae | { | | struct foo {}; | | template | using member = typename T::member_type; | | template | void func(...) {} | | template | void func(member*) {} | | void test(); | | void test() { func(0); } | | } | | } // namespace cxx11 | | #endif // __cplusplus >= 201103L | | | | | // If the compiler admits that it is not ready for C++14, why torture it? | // Hopefully, this will speed up the test. | | #ifndef __cplusplus | | #error "This is not a C++ compiler" | | #elif __cplusplus < 201402L && !defined _MSC_VER | | #error "This is not a C++14 compiler" | | #else | | namespace cxx14 | { | | namespace test_polymorphic_lambdas | { | | int | test() | { | const auto lambda = [](auto&&... args){ | const auto istiny = [](auto x){ | return (sizeof(x) == 1UL) ? 1 : 0; | }; | const int aretiny[] = { istiny(args)... }; | return aretiny[0]; | }; | return lambda(1, 1L, 1.0f, '1'); | } | | } | | namespace test_binary_literals | { | | constexpr auto ivii = 0b0000000000101010; | static_assert(ivii == 42, "wrong value"); | | } | | namespace test_generalized_constexpr | { | | template < typename CharT > | constexpr unsigned long | strlen_c(const CharT *const s) noexcept | { | auto length = 0UL; | for (auto p = s; *p; ++p) | ++length; | return length; | } | | static_assert(strlen_c("") == 0UL, ""); | static_assert(strlen_c("x") == 1UL, ""); | static_assert(strlen_c("test") == 4UL, ""); | static_assert(strlen_c("another\0test") == 7UL, ""); | | } | | namespace test_lambda_init_capture | { | | int | test() | { | auto x = 0; | const auto lambda1 = [a = x](int b){ return a + b; }; | const auto lambda2 = [a = lambda1(x)](){ return a; }; | return lambda2(); | } | | } | | namespace test_digit_separators | { | | constexpr auto ten_million = 100'000'000; | static_assert(ten_million == 100000000, ""); | | } | | namespace test_return_type_deduction | { | | auto f(int& x) { return x; } | decltype(auto) g(int& x) { return x; } | | template < typename T1, typename T2 > | struct is_same | { | static constexpr auto value = false; | }; | | template < typename T > | struct is_same | { | static constexpr auto value = true; | }; | | int | test() | { | auto x = 0; | static_assert(is_same::value, ""); | static_assert(is_same::value, ""); | return x; | } | | } | | } // namespace cxx14 | | #endif // __cplusplus >= 201402L | | | | | // If the compiler admits that it is not ready for C++17, why torture it? | // Hopefully, this will speed up the test. | | #ifndef __cplusplus | | #error "This is not a C++ compiler" | | #elif __cplusplus < 201703L && !defined _MSC_VER | | #error "This is not a C++17 compiler" | | #else | | #include | #include | #include | | namespace cxx17 | { | | namespace test_constexpr_lambdas | { | | constexpr int foo = [](){return 42;}(); | | } | | namespace test::nested_namespace::definitions | { | | } | | namespace test_fold_expression | { | | template | int multiply(Args... args) | { | return (args * ... * 1); | } | | template | bool all(Args... args) | { | return (args && ...); | } | | } | | namespace test_extended_static_assert | { | | static_assert (true); | | } | | namespace test_auto_brace_init_list | { | | auto foo = {5}; | auto bar {5}; | | static_assert(std::is_same, decltype(foo)>::value); | static_assert(std::is_same::value); | } | | namespace test_typename_in_template_template_parameter | { | | template typename X> struct D; | | } | | namespace test_fallthrough_nodiscard_maybe_unused_attributes | { | | int f1() | { | return 42; | } | | [[nodiscard]] int f2() | { | [[maybe_unused]] auto unused = f1(); | | switch (f1()) | { | case 17: | f1(); | [[fallthrough]]; | case 42: | f1(); | } | return f1(); | } | | } | | namespace test_extended_aggregate_initialization | { | | struct base1 | { | int b1, b2 = 42; | }; | | struct base2 | { | base2() { | b3 = 42; | } | int b3; | }; | | struct derived : base1, base2 | { | int d; | }; | | derived d1 {{1, 2}, {}, 4}; // full initialization | derived d2 {{}, {}, 4}; // value-initialized bases | | } | | namespace test_general_range_based_for_loop | { | | struct iter | { | int i; | | int& operator* () | { | return i; | } | | const int& operator* () const | { | return i; | } | | iter& operator++() | { | ++i; | return *this; | } | }; | | struct sentinel | { | int i; | }; | | bool operator== (const iter& i, const sentinel& s) | { | return i.i == s.i; | } | | bool operator!= (const iter& i, const sentinel& s) | { | return !(i == s); | } | | struct range | { | iter begin() const | { | return {0}; | } | | sentinel end() const | { | return {5}; | } | }; | | void f() | { | range r {}; | | for (auto i : r) | { | [[maybe_unused]] auto v = i; | } | } | | } | | namespace test_lambda_capture_asterisk_this_by_value | { | | struct t | { | int i; | int foo() | { | return [*this]() | { | return i; | }(); | } | }; | | } | | namespace test_enum_class_construction | { | | enum class byte : unsigned char | {}; | | byte foo {42}; | | } | | namespace test_constexpr_if | { | | template | int f () | { | if constexpr(cond) | { | return 13; | } | else | { | return 42; | } | } | | } | | namespace test_selection_statement_with_initializer | { | | int f() | { | return 13; | } | | int f2() | { | if (auto i = f(); i > 0) | { | return 3; | } | | switch (auto i = f(); i + 4) | { | case 17: | return 2; | | default: | return 1; | } | } | | } | | namespace test_template_argument_deduction_for_class_templates | { | | template | struct pair | { | pair (T1 p1, T2 p2) | : m1 {p1}, | m2 {p2} | {} | | T1 m1; | T2 m2; | }; | | void f() | { | [[maybe_unused]] auto p = pair{13, 42u}; | } | | } | | namespace test_non_type_auto_template_parameters | { | | template | struct B | {}; | | B<5> b1; | B<'a'> b2; | | } | | namespace test_structured_bindings | { | | int arr[2] = { 1, 2 }; | std::pair pr = { 1, 2 }; | | auto f1() -> int(&)[2] | { | return arr; | } | | auto f2() -> std::pair& | { | return pr; | } | | struct S | { | int x1 : 2; | volatile double y1; | }; | | S f3() | { | return {}; | } | | auto [ x1, y1 ] = f1(); | auto& [ xr1, yr1 ] = f1(); | auto [ x2, y2 ] = f2(); | auto& [ xr2, yr2 ] = f2(); | const auto [ x3, y3 ] = f3(); | | } | | namespace test_exception_spec_type_system | { | | struct Good {}; | struct Bad {}; | | void g1() noexcept; | void g2(); | | template | Bad | f(T*, T*); | | template | Good | f(T1*, T2*); | | static_assert (std::is_same_v); | | } | | namespace test_inline_variables | { | | template void f(T) | {} | | template inline T g(T) | { | return T{}; | } | | template<> inline void f<>(int) | {} | | template<> int g<>(int) | { | return 5; | } | | } | | } // namespace cxx17 | | #endif // __cplusplus < 201703L && !defined _MSC_VER | | | configure:8369: result: no configure:7558: checking whether /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ supports C++17 features with +std=c++1z configure:8359: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ +std=c++1z -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.cpp >&5 mips-img-linux-gnu-g++: error: +std=c++1z: No such file or directory configure:8359: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "Squid Web Proxy" | #define PACKAGE_TARNAME "squid" | #define PACKAGE_VERSION "6.6" | #define PACKAGE_STRING "Squid Web Proxy 6.6" | #define PACKAGE_BUGREPORT "https://bugs.squid-cache.org/" | #define PACKAGE_URL "" | #define PACKAGE "squid" | #define VERSION "6.6" | #define HAVE_STDIO_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_WCHAR_H 1 | #define STDC_HEADERS 1 | #define _ALL_SOURCE 1 | #define _DARWIN_C_SOURCE 1 | #define _GNU_SOURCE 1 | #define _HPUX_ALT_XOPEN_SOCKET_API 1 | #define _NETBSD_SOURCE 1 | #define _OPENBSD_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 | #define __STDC_WANT_IEC_60559_BFP_EXT__ 1 | #define __STDC_WANT_IEC_60559_DFP_EXT__ 1 | #define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1 | #define __STDC_WANT_IEC_60559_TYPES_EXT__ 1 | #define __STDC_WANT_LIB_EXT2__ 1 | #define __STDC_WANT_MATH_SPEC_FUNCS__ 1 | #define _TANDEM_SOURCE 1 | #define __EXTENSIONS__ 1 | /* end confdefs.h. */ | | | // If the compiler admits that it is not ready for C++11, why torture it? | // Hopefully, this will speed up the test. | | #ifndef __cplusplus | | #error "This is not a C++ compiler" | | // MSVC always sets __cplusplus to 199711L in older versions; newer versions | // only set it correctly if /Zc:__cplusplus is specified as well as a | // /std:c++NN switch: | // https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ | #elif __cplusplus < 201103L && !defined _MSC_VER | | #error "This is not a C++11 compiler" | | #else | | namespace cxx11 | { | | namespace test_static_assert | { | | template | struct check | { | static_assert(sizeof(int) <= sizeof(T), "not big enough"); | }; | | } | | namespace test_final_override | { | | struct Base | { | virtual ~Base() {} | virtual void f() {} | }; | | struct Derived : public Base | { | virtual ~Derived() override {} | virtual void f() override {} | }; | | } | | namespace test_double_right_angle_brackets | { | | template < typename T > | struct check {}; | | typedef check single_type; | typedef check> double_type; | typedef check>> triple_type; | typedef check>>> quadruple_type; | | } | | namespace test_decltype | { | | int | f() | { | int a = 1; | decltype(a) b = 2; | return a + b; | } | | } | | namespace test_type_deduction | { | | template < typename T1, typename T2 > | struct is_same | { | static const bool value = false; | }; | | template < typename T > | struct is_same | { | static const bool value = true; | }; | | template < typename T1, typename T2 > | auto | add(T1 a1, T2 a2) -> decltype(a1 + a2) | { | return a1 + a2; | } | | int | test(const int c, volatile int v) | { | static_assert(is_same::value == true, ""); | static_assert(is_same::value == false, ""); | static_assert(is_same::value == false, ""); | auto ac = c; | auto av = v; | auto sumi = ac + av + 'x'; | auto sumf = ac + av + 1.0; | static_assert(is_same::value == true, ""); | static_assert(is_same::value == true, ""); | static_assert(is_same::value == true, ""); | static_assert(is_same::value == false, ""); | static_assert(is_same::value == true, ""); | return (sumf > 0.0) ? sumi : add(c, v); | } | | } | | namespace test_noexcept | { | | int f() { return 0; } | int g() noexcept { return 0; } | | static_assert(noexcept(f()) == false, ""); | static_assert(noexcept(g()) == true, ""); | | } | | namespace test_constexpr | { | | template < typename CharT > | unsigned long constexpr | strlen_c_r(const CharT *const s, const unsigned long acc) noexcept | { | return *s ? strlen_c_r(s + 1, acc + 1) : acc; | } | | template < typename CharT > | unsigned long constexpr | strlen_c(const CharT *const s) noexcept | { | return strlen_c_r(s, 0UL); | } | | static_assert(strlen_c("") == 0UL, ""); | static_assert(strlen_c("1") == 1UL, ""); | static_assert(strlen_c("example") == 7UL, ""); | static_assert(strlen_c("another\0example") == 7UL, ""); | | } | | namespace test_rvalue_references | { | | template < int N > | struct answer | { | static constexpr int value = N; | }; | | answer<1> f(int&) { return answer<1>(); } | answer<2> f(const int&) { return answer<2>(); } | answer<3> f(int&&) { return answer<3>(); } | | void | test() | { | int i = 0; | const int c = 0; | static_assert(decltype(f(i))::value == 1, ""); | static_assert(decltype(f(c))::value == 2, ""); | static_assert(decltype(f(0))::value == 3, ""); | } | | } | | namespace test_uniform_initialization | { | | struct test | { | static const int zero {}; | static const int one {1}; | }; | | static_assert(test::zero == 0, ""); | static_assert(test::one == 1, ""); | | } | | namespace test_lambdas | { | | void | test1() | { | auto lambda1 = [](){}; | auto lambda2 = lambda1; | lambda1(); | lambda2(); | } | | int | test2() | { | auto a = [](int i, int j){ return i + j; }(1, 2); | auto b = []() -> int { return '0'; }(); | auto c = [=](){ return a + b; }(); | auto d = [&](){ return c; }(); | auto e = [a, &b](int x) mutable { | const auto identity = [](int y){ return y; }; | for (auto i = 0; i < a; ++i) | a += b--; | return x + identity(a + b); | }(0); | return a + b + c + d + e; | } | | int | test3() | { | const auto nullary = [](){ return 0; }; | const auto unary = [](int x){ return x; }; | using nullary_t = decltype(nullary); | using unary_t = decltype(unary); | const auto higher1st = [](nullary_t f){ return f(); }; | const auto higher2nd = [unary](nullary_t f1){ | return [unary, f1](unary_t f2){ return f2(unary(f1())); }; | }; | return higher1st(nullary) + higher2nd(nullary)(unary); | } | | } | | namespace test_variadic_templates | { | | template | struct sum; | | template | struct sum | { | static constexpr auto value = N0 + sum::value; | }; | | template <> | struct sum<> | { | static constexpr auto value = 0; | }; | | static_assert(sum<>::value == 0, ""); | static_assert(sum<1>::value == 1, ""); | static_assert(sum<23>::value == 23, ""); | static_assert(sum<1, 2>::value == 3, ""); | static_assert(sum<5, 5, 11>::value == 21, ""); | static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); | | } | | // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae | // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function | // because of this. | namespace test_template_alias_sfinae | { | | struct foo {}; | | template | using member = typename T::member_type; | | template | void func(...) {} | | template | void func(member*) {} | | void test(); | | void test() { func(0); } | | } | | } // namespace cxx11 | | #endif // __cplusplus >= 201103L | | | | | // If the compiler admits that it is not ready for C++14, why torture it? | // Hopefully, this will speed up the test. | | #ifndef __cplusplus | | #error "This is not a C++ compiler" | | #elif __cplusplus < 201402L && !defined _MSC_VER | | #error "This is not a C++14 compiler" | | #else | | namespace cxx14 | { | | namespace test_polymorphic_lambdas | { | | int | test() | { | const auto lambda = [](auto&&... args){ | const auto istiny = [](auto x){ | return (sizeof(x) == 1UL) ? 1 : 0; | }; | const int aretiny[] = { istiny(args)... }; | return aretiny[0]; | }; | return lambda(1, 1L, 1.0f, '1'); | } | | } | | namespace test_binary_literals | { | | constexpr auto ivii = 0b0000000000101010; | static_assert(ivii == 42, "wrong value"); | | } | | namespace test_generalized_constexpr | { | | template < typename CharT > | constexpr unsigned long | strlen_c(const CharT *const s) noexcept | { | auto length = 0UL; | for (auto p = s; *p; ++p) | ++length; | return length; | } | | static_assert(strlen_c("") == 0UL, ""); | static_assert(strlen_c("x") == 1UL, ""); | static_assert(strlen_c("test") == 4UL, ""); | static_assert(strlen_c("another\0test") == 7UL, ""); | | } | | namespace test_lambda_init_capture | { | | int | test() | { | auto x = 0; | const auto lambda1 = [a = x](int b){ return a + b; }; | const auto lambda2 = [a = lambda1(x)](){ return a; }; | return lambda2(); | } | | } | | namespace test_digit_separators | { | | constexpr auto ten_million = 100'000'000; | static_assert(ten_million == 100000000, ""); | | } | | namespace test_return_type_deduction | { | | auto f(int& x) { return x; } | decltype(auto) g(int& x) { return x; } | | template < typename T1, typename T2 > | struct is_same | { | static constexpr auto value = false; | }; | | template < typename T > | struct is_same | { | static constexpr auto value = true; | }; | | int | test() | { | auto x = 0; | static_assert(is_same::value, ""); | static_assert(is_same::value, ""); | return x; | } | | } | | } // namespace cxx14 | | #endif // __cplusplus >= 201402L | | | | | // If the compiler admits that it is not ready for C++17, why torture it? | // Hopefully, this will speed up the test. | | #ifndef __cplusplus | | #error "This is not a C++ compiler" | | #elif __cplusplus < 201703L && !defined _MSC_VER | | #error "This is not a C++17 compiler" | | #else | | #include | #include | #include | | namespace cxx17 | { | | namespace test_constexpr_lambdas | { | | constexpr int foo = [](){return 42;}(); | | } | | namespace test::nested_namespace::definitions | { | | } | | namespace test_fold_expression | { | | template | int multiply(Args... args) | { | return (args * ... * 1); | } | | template | bool all(Args... args) | { | return (args && ...); | } | | } | | namespace test_extended_static_assert | { | | static_assert (true); | | } | | namespace test_auto_brace_init_list | { | | auto foo = {5}; | auto bar {5}; | | static_assert(std::is_same, decltype(foo)>::value); | static_assert(std::is_same::value); | } | | namespace test_typename_in_template_template_parameter | { | | template typename X> struct D; | | } | | namespace test_fallthrough_nodiscard_maybe_unused_attributes | { | | int f1() | { | return 42; | } | | [[nodiscard]] int f2() | { | [[maybe_unused]] auto unused = f1(); | | switch (f1()) | { | case 17: | f1(); | [[fallthrough]]; | case 42: | f1(); | } | return f1(); | } | | } | | namespace test_extended_aggregate_initialization | { | | struct base1 | { | int b1, b2 = 42; | }; | | struct base2 | { | base2() { | b3 = 42; | } | int b3; | }; | | struct derived : base1, base2 | { | int d; | }; | | derived d1 {{1, 2}, {}, 4}; // full initialization | derived d2 {{}, {}, 4}; // value-initialized bases | | } | | namespace test_general_range_based_for_loop | { | | struct iter | { | int i; | | int& operator* () | { | return i; | } | | const int& operator* () const | { | return i; | } | | iter& operator++() | { | ++i; | return *this; | } | }; | | struct sentinel | { | int i; | }; | | bool operator== (const iter& i, const sentinel& s) | { | return i.i == s.i; | } | | bool operator!= (const iter& i, const sentinel& s) | { | return !(i == s); | } | | struct range | { | iter begin() const | { | return {0}; | } | | sentinel end() const | { | return {5}; | } | }; | | void f() | { | range r {}; | | for (auto i : r) | { | [[maybe_unused]] auto v = i; | } | } | | } | | namespace test_lambda_capture_asterisk_this_by_value | { | | struct t | { | int i; | int foo() | { | return [*this]() | { | return i; | }(); | } | }; | | } | | namespace test_enum_class_construction | { | | enum class byte : unsigned char | {}; | | byte foo {42}; | | } | | namespace test_constexpr_if | { | | template | int f () | { | if constexpr(cond) | { | return 13; | } | else | { | return 42; | } | } | | } | | namespace test_selection_statement_with_initializer | { | | int f() | { | return 13; | } | | int f2() | { | if (auto i = f(); i > 0) | { | return 3; | } | | switch (auto i = f(); i + 4) | { | case 17: | return 2; | | default: | return 1; | } | } | | } | | namespace test_template_argument_deduction_for_class_templates | { | | template | struct pair | { | pair (T1 p1, T2 p2) | : m1 {p1}, | m2 {p2} | {} | | T1 m1; | T2 m2; | }; | | void f() | { | [[maybe_unused]] auto p = pair{13, 42u}; | } | | } | | namespace test_non_type_auto_template_parameters | { | | template | struct B | {}; | | B<5> b1; | B<'a'> b2; | | } | | namespace test_structured_bindings | { | | int arr[2] = { 1, 2 }; | std::pair pr = { 1, 2 }; | | auto f1() -> int(&)[2] | { | return arr; | } | | auto f2() -> std::pair& | { | return pr; | } | | struct S | { | int x1 : 2; | volatile double y1; | }; | | S f3() | { | return {}; | } | | auto [ x1, y1 ] = f1(); | auto& [ xr1, yr1 ] = f1(); | auto [ x2, y2 ] = f2(); | auto& [ xr2, yr2 ] = f2(); | const auto [ x3, y3 ] = f3(); | | } | | namespace test_exception_spec_type_system | { | | struct Good {}; | struct Bad {}; | | void g1() noexcept; | void g2(); | | template | Bad | f(T*, T*); | | template | Good | f(T1*, T2*); | | static_assert (std::is_same_v); | | } | | namespace test_inline_variables | { | | template void f(T) | {} | | template inline T g(T) | { | return T{}; | } | | template<> inline void f<>(int) | {} | | template<> int g<>(int) | { | return 5; | } | | } | | } // namespace cxx17 | | #endif // __cplusplus < 201703L && !defined _MSC_VER | | | configure:8369: result: no configure:7558: checking whether /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ supports C++17 features with -h std=c++1z configure:8359: /home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ -h std=c++1z -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.cpp >&5 conftest.cpp:460:2: error: #error "This is not a C++17 compiler" #error "This is not a C++17 compiler" ^~~~~ configure:8359: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "Squid Web Proxy" | #define PACKAGE_TARNAME "squid" | #define PACKAGE_VERSION "6.6" | #define PACKAGE_STRING "Squid Web Proxy 6.6" | #define PACKAGE_BUGREPORT "https://bugs.squid-cache.org/" | #define PACKAGE_URL "" | #define PACKAGE "squid" | #define VERSION "6.6" | #define HAVE_STDIO_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_WCHAR_H 1 | #define STDC_HEADERS 1 | #define _ALL_SOURCE 1 | #define _DARWIN_C_SOURCE 1 | #define _GNU_SOURCE 1 | #define _HPUX_ALT_XOPEN_SOCKET_API 1 | #define _NETBSD_SOURCE 1 | #define _OPENBSD_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 | #define __STDC_WANT_IEC_60559_BFP_EXT__ 1 | #define __STDC_WANT_IEC_60559_DFP_EXT__ 1 | #define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1 | #define __STDC_WANT_IEC_60559_TYPES_EXT__ 1 | #define __STDC_WANT_LIB_EXT2__ 1 | #define __STDC_WANT_MATH_SPEC_FUNCS__ 1 | #define _TANDEM_SOURCE 1 | #define __EXTENSIONS__ 1 | /* end confdefs.h. */ | | | // If the compiler admits that it is not ready for C++11, why torture it? | // Hopefully, this will speed up the test. | | #ifndef __cplusplus | | #error "This is not a C++ compiler" | | // MSVC always sets __cplusplus to 199711L in older versions; newer versions | // only set it correctly if /Zc:__cplusplus is specified as well as a | // /std:c++NN switch: | // https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ | #elif __cplusplus < 201103L && !defined _MSC_VER | | #error "This is not a C++11 compiler" | | #else | | namespace cxx11 | { | | namespace test_static_assert | { | | template | struct check | { | static_assert(sizeof(int) <= sizeof(T), "not big enough"); | }; | | } | | namespace test_final_override | { | | struct Base | { | virtual ~Base() {} | virtual void f() {} | }; | | struct Derived : public Base | { | virtual ~Derived() override {} | virtual void f() override {} | }; | | } | | namespace test_double_right_angle_brackets | { | | template < typename T > | struct check {}; | | typedef check single_type; | typedef check> double_type; | typedef check>> triple_type; | typedef check>>> quadruple_type; | | } | | namespace test_decltype | { | | int | f() | { | int a = 1; | decltype(a) b = 2; | return a + b; | } | | } | | namespace test_type_deduction | { | | template < typename T1, typename T2 > | struct is_same | { | static const bool value = false; | }; | | template < typename T > | struct is_same | { | static const bool value = true; | }; | | template < typename T1, typename T2 > | auto | add(T1 a1, T2 a2) -> decltype(a1 + a2) | { | return a1 + a2; | } | | int | test(const int c, volatile int v) | { | static_assert(is_same::value == true, ""); | static_assert(is_same::value == false, ""); | static_assert(is_same::value == false, ""); | auto ac = c; | auto av = v; | auto sumi = ac + av + 'x'; | auto sumf = ac + av + 1.0; | static_assert(is_same::value == true, ""); | static_assert(is_same::value == true, ""); | static_assert(is_same::value == true, ""); | static_assert(is_same::value == false, ""); | static_assert(is_same::value == true, ""); | return (sumf > 0.0) ? sumi : add(c, v); | } | | } | | namespace test_noexcept | { | | int f() { return 0; } | int g() noexcept { return 0; } | | static_assert(noexcept(f()) == false, ""); | static_assert(noexcept(g()) == true, ""); | | } | | namespace test_constexpr | { | | template < typename CharT > | unsigned long constexpr | strlen_c_r(const CharT *const s, const unsigned long acc) noexcept | { | return *s ? strlen_c_r(s + 1, acc + 1) : acc; | } | | template < typename CharT > | unsigned long constexpr | strlen_c(const CharT *const s) noexcept | { | return strlen_c_r(s, 0UL); | } | | static_assert(strlen_c("") == 0UL, ""); | static_assert(strlen_c("1") == 1UL, ""); | static_assert(strlen_c("example") == 7UL, ""); | static_assert(strlen_c("another\0example") == 7UL, ""); | | } | | namespace test_rvalue_references | { | | template < int N > | struct answer | { | static constexpr int value = N; | }; | | answer<1> f(int&) { return answer<1>(); } | answer<2> f(const int&) { return answer<2>(); } | answer<3> f(int&&) { return answer<3>(); } | | void | test() | { | int i = 0; | const int c = 0; | static_assert(decltype(f(i))::value == 1, ""); | static_assert(decltype(f(c))::value == 2, ""); | static_assert(decltype(f(0))::value == 3, ""); | } | | } | | namespace test_uniform_initialization | { | | struct test | { | static const int zero {}; | static const int one {1}; | }; | | static_assert(test::zero == 0, ""); | static_assert(test::one == 1, ""); | | } | | namespace test_lambdas | { | | void | test1() | { | auto lambda1 = [](){}; | auto lambda2 = lambda1; | lambda1(); | lambda2(); | } | | int | test2() | { | auto a = [](int i, int j){ return i + j; }(1, 2); | auto b = []() -> int { return '0'; }(); | auto c = [=](){ return a + b; }(); | auto d = [&](){ return c; }(); | auto e = [a, &b](int x) mutable { | const auto identity = [](int y){ return y; }; | for (auto i = 0; i < a; ++i) | a += b--; | return x + identity(a + b); | }(0); | return a + b + c + d + e; | } | | int | test3() | { | const auto nullary = [](){ return 0; }; | const auto unary = [](int x){ return x; }; | using nullary_t = decltype(nullary); | using unary_t = decltype(unary); | const auto higher1st = [](nullary_t f){ return f(); }; | const auto higher2nd = [unary](nullary_t f1){ | return [unary, f1](unary_t f2){ return f2(unary(f1())); }; | }; | return higher1st(nullary) + higher2nd(nullary)(unary); | } | | } | | namespace test_variadic_templates | { | | template | struct sum; | | template | struct sum | { | static constexpr auto value = N0 + sum::value; | }; | | template <> | struct sum<> | { | static constexpr auto value = 0; | }; | | static_assert(sum<>::value == 0, ""); | static_assert(sum<1>::value == 1, ""); | static_assert(sum<23>::value == 23, ""); | static_assert(sum<1, 2>::value == 3, ""); | static_assert(sum<5, 5, 11>::value == 21, ""); | static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); | | } | | // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae | // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function | // because of this. | namespace test_template_alias_sfinae | { | | struct foo {}; | | template | using member = typename T::member_type; | | template | void func(...) {} | | template | void func(member*) {} | | void test(); | | void test() { func(0); } | | } | | } // namespace cxx11 | | #endif // __cplusplus >= 201103L | | | | | // If the compiler admits that it is not ready for C++14, why torture it? | // Hopefully, this will speed up the test. | | #ifndef __cplusplus | | #error "This is not a C++ compiler" | | #elif __cplusplus < 201402L && !defined _MSC_VER | | #error "This is not a C++14 compiler" | | #else | | namespace cxx14 | { | | namespace test_polymorphic_lambdas | { | | int | test() | { | const auto lambda = [](auto&&... args){ | const auto istiny = [](auto x){ | return (sizeof(x) == 1UL) ? 1 : 0; | }; | const int aretiny[] = { istiny(args)... }; | return aretiny[0]; | }; | return lambda(1, 1L, 1.0f, '1'); | } | | } | | namespace test_binary_literals | { | | constexpr auto ivii = 0b0000000000101010; | static_assert(ivii == 42, "wrong value"); | | } | | namespace test_generalized_constexpr | { | | template < typename CharT > | constexpr unsigned long | strlen_c(const CharT *const s) noexcept | { | auto length = 0UL; | for (auto p = s; *p; ++p) | ++length; | return length; | } | | static_assert(strlen_c("") == 0UL, ""); | static_assert(strlen_c("x") == 1UL, ""); | static_assert(strlen_c("test") == 4UL, ""); | static_assert(strlen_c("another\0test") == 7UL, ""); | | } | | namespace test_lambda_init_capture | { | | int | test() | { | auto x = 0; | const auto lambda1 = [a = x](int b){ return a + b; }; | const auto lambda2 = [a = lambda1(x)](){ return a; }; | return lambda2(); | } | | } | | namespace test_digit_separators | { | | constexpr auto ten_million = 100'000'000; | static_assert(ten_million == 100000000, ""); | | } | | namespace test_return_type_deduction | { | | auto f(int& x) { return x; } | decltype(auto) g(int& x) { return x; } | | template < typename T1, typename T2 > | struct is_same | { | static constexpr auto value = false; | }; | | template < typename T > | struct is_same | { | static constexpr auto value = true; | }; | | int | test() | { | auto x = 0; | static_assert(is_same::value, ""); | static_assert(is_same::value, ""); | return x; | } | | } | | } // namespace cxx14 | | #endif // __cplusplus >= 201402L | | | | | // If the compiler admits that it is not ready for C++17, why torture it? | // Hopefully, this will speed up the test. | | #ifndef __cplusplus | | #error "This is not a C++ compiler" | | #elif __cplusplus < 201703L && !defined _MSC_VER | | #error "This is not a C++17 compiler" | | #else | | #include | #include | #include | | namespace cxx17 | { | | namespace test_constexpr_lambdas | { | | constexpr int foo = [](){return 42;}(); | | } | | namespace test::nested_namespace::definitions | { | | } | | namespace test_fold_expression | { | | template | int multiply(Args... args) | { | return (args * ... * 1); | } | | template | bool all(Args... args) | { | return (args && ...); | } | | } | | namespace test_extended_static_assert | { | | static_assert (true); | | } | | namespace test_auto_brace_init_list | { | | auto foo = {5}; | auto bar {5}; | | static_assert(std::is_same, decltype(foo)>::value); | static_assert(std::is_same::value); | } | | namespace test_typename_in_template_template_parameter | { | | template typename X> struct D; | | } | | namespace test_fallthrough_nodiscard_maybe_unused_attributes | { | | int f1() | { | return 42; | } | | [[nodiscard]] int f2() | { | [[maybe_unused]] auto unused = f1(); | | switch (f1()) | { | case 17: | f1(); | [[fallthrough]]; | case 42: | f1(); | } | return f1(); | } | | } | | namespace test_extended_aggregate_initialization | { | | struct base1 | { | int b1, b2 = 42; | }; | | struct base2 | { | base2() { | b3 = 42; | } | int b3; | }; | | struct derived : base1, base2 | { | int d; | }; | | derived d1 {{1, 2}, {}, 4}; // full initialization | derived d2 {{}, {}, 4}; // value-initialized bases | | } | | namespace test_general_range_based_for_loop | { | | struct iter | { | int i; | | int& operator* () | { | return i; | } | | const int& operator* () const | { | return i; | } | | iter& operator++() | { | ++i; | return *this; | } | }; | | struct sentinel | { | int i; | }; | | bool operator== (const iter& i, const sentinel& s) | { | return i.i == s.i; | } | | bool operator!= (const iter& i, const sentinel& s) | { | return !(i == s); | } | | struct range | { | iter begin() const | { | return {0}; | } | | sentinel end() const | { | return {5}; | } | }; | | void f() | { | range r {}; | | for (auto i : r) | { | [[maybe_unused]] auto v = i; | } | } | | } | | namespace test_lambda_capture_asterisk_this_by_value | { | | struct t | { | int i; | int foo() | { | return [*this]() | { | return i; | }(); | } | }; | | } | | namespace test_enum_class_construction | { | | enum class byte : unsigned char | {}; | | byte foo {42}; | | } | | namespace test_constexpr_if | { | | template | int f () | { | if constexpr(cond) | { | return 13; | } | else | { | return 42; | } | } | | } | | namespace test_selection_statement_with_initializer | { | | int f() | { | return 13; | } | | int f2() | { | if (auto i = f(); i > 0) | { | return 3; | } | | switch (auto i = f(); i + 4) | { | case 17: | return 2; | | default: | return 1; | } | } | | } | | namespace test_template_argument_deduction_for_class_templates | { | | template | struct pair | { | pair (T1 p1, T2 p2) | : m1 {p1}, | m2 {p2} | {} | | T1 m1; | T2 m2; | }; | | void f() | { | [[maybe_unused]] auto p = pair{13, 42u}; | } | | } | | namespace test_non_type_auto_template_parameters | { | | template | struct B | {}; | | B<5> b1; | B<'a'> b2; | | } | | namespace test_structured_bindings | { | | int arr[2] = { 1, 2 }; | std::pair pr = { 1, 2 }; | | auto f1() -> int(&)[2] | { | return arr; | } | | auto f2() -> std::pair& | { | return pr; | } | | struct S | { | int x1 : 2; | volatile double y1; | }; | | S f3() | { | return {}; | } | | auto [ x1, y1 ] = f1(); | auto& [ xr1, yr1 ] = f1(); | auto [ x2, y2 ] = f2(); | auto& [ xr2, yr2 ] = f2(); | const auto [ x3, y3 ] = f3(); | | } | | namespace test_exception_spec_type_system | { | | struct Good {}; | struct Bad {}; | | void g1() noexcept; | void g2(); | | template | Bad | f(T*, T*); | | template | Good | f(T1*, T2*); | | static_assert (std::is_same_v); | | } | | namespace test_inline_variables | { | | template void f(T) | {} | | template inline T g(T) | { | return T{}; | } | | template<> inline void f<>(int) | {} | | template<> int g<>(int) | { | return 5; | } | | } | | } // namespace cxx17 | | #endif // __cplusplus < 201703L && !defined _MSC_VER | | | configure:8369: result: no configure:8393: error: *** A compiler with support for C++17 language features is required. ## ---------------- ## ## Cache variables. ## ## ---------------- ## ac_cv_build=x86_64-pc-linux-gnu ac_cv_c_bigendian=yes ac_cv_c_compiler_gnu=yes ac_cv_cxx_compiler_gnu=yes ac_cv_env_BUILDCXXFLAGS_set=set ac_cv_env_BUILDCXXFLAGS_value='-O2 -I/home/buildroot/autobuild/instance-0/output-1/host/include' ac_cv_env_BUILDCXX_set=set ac_cv_env_BUILDCXX_value=/usr/bin/g++ ac_cv_env_CCC_set= ac_cv_env_CCC_value= ac_cv_env_CC_set=set ac_cv_env_CC_value=/home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc ac_cv_env_CFLAGS_set=set ac_cv_env_CFLAGS_value='-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2' ac_cv_env_CPPFLAGS_set=set ac_cv_env_CPPFLAGS_value='-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64' ac_cv_env_CPP_set=set ac_cv_env_CPP_value=/home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-cpp ac_cv_env_CXXCPP_set= ac_cv_env_CXXCPP_value= ac_cv_env_CXXFLAGS_set=set ac_cv_env_CXXFLAGS_value='-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2' ac_cv_env_CXX_set=set ac_cv_env_CXX_value=/home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++ ac_cv_env_EXT_LIBECAP_CFLAGS_set= ac_cv_env_EXT_LIBECAP_CFLAGS_value= ac_cv_env_EXT_LIBECAP_LIBS_set= ac_cv_env_EXT_LIBECAP_LIBS_value= ac_cv_env_LDFLAGS_set=set ac_cv_env_LDFLAGS_value= ac_cv_env_LIBCAP_CFLAGS_set= ac_cv_env_LIBCAP_CFLAGS_value= ac_cv_env_LIBCAP_LIBS_set= ac_cv_env_LIBCAP_LIBS_value= ac_cv_env_LIBCPPUNIT_CFLAGS_set= ac_cv_env_LIBCPPUNIT_CFLAGS_value= ac_cv_env_LIBCPPUNIT_LIBS_set= ac_cv_env_LIBCPPUNIT_LIBS_value= ac_cv_env_LIBEXPAT_CFLAGS_set= ac_cv_env_LIBEXPAT_CFLAGS_value= ac_cv_env_LIBEXPAT_LIBS_set= ac_cv_env_LIBEXPAT_LIBS_value= ac_cv_env_LIBGNUTLS_CFLAGS_set= ac_cv_env_LIBGNUTLS_CFLAGS_value= ac_cv_env_LIBGNUTLS_LIBS_set= ac_cv_env_LIBGNUTLS_LIBS_value= ac_cv_env_LIBLDAP_CFLAGS_set= ac_cv_env_LIBLDAP_CFLAGS_value= ac_cv_env_LIBLDAP_LIBS_set= ac_cv_env_LIBLDAP_LIBS_value= ac_cv_env_LIBNETTLE_CFLAGS_set= ac_cv_env_LIBNETTLE_CFLAGS_value= ac_cv_env_LIBNETTLE_LIBS_set= ac_cv_env_LIBNETTLE_LIBS_value= ac_cv_env_LIBOPENSSL_CFLAGS_set= ac_cv_env_LIBOPENSSL_CFLAGS_value= ac_cv_env_LIBOPENSSL_LIBS_set= ac_cv_env_LIBOPENSSL_LIBS_value= ac_cv_env_LIBSYSTEMD_CFLAGS_set= ac_cv_env_LIBSYSTEMD_CFLAGS_value= ac_cv_env_LIBSYSTEMD_LIBS_set= ac_cv_env_LIBSYSTEMD_LIBS_value= ac_cv_env_LIBS_set=set ac_cv_env_LIBS_value=-latomic ac_cv_env_LIBTDB_CFLAGS_set= ac_cv_env_LIBTDB_CFLAGS_value= ac_cv_env_LIBTDB_LIBS_set= ac_cv_env_LIBTDB_LIBS_value= ac_cv_env_LIBXML2_CFLAGS_set= ac_cv_env_LIBXML2_CFLAGS_value= ac_cv_env_LIBXML2_LIBS_set= ac_cv_env_LIBXML2_LIBS_value= ac_cv_env_LIB_KRB5_CFLAGS_set= ac_cv_env_LIB_KRB5_CFLAGS_value= ac_cv_env_LIB_KRB5_LIBS_set= ac_cv_env_LIB_KRB5_LIBS_value= ac_cv_env_LT_SYS_LIBRARY_PATH_set= ac_cv_env_LT_SYS_LIBRARY_PATH_value= ac_cv_env_PKG_CONFIG_LIBDIR_set= ac_cv_env_PKG_CONFIG_LIBDIR_value= ac_cv_env_PKG_CONFIG_PATH_set= ac_cv_env_PKG_CONFIG_PATH_value= ac_cv_env_PKG_CONFIG_set=set ac_cv_env_PKG_CONFIG_value=/home/buildroot/autobuild/instance-0/output-1/host/bin/pkg-config ac_cv_env_PO2HTML_set= ac_cv_env_PO2HTML_value= ac_cv_env_PO2TEXT_set= ac_cv_env_PO2TEXT_value= ac_cv_env_build_alias_set=set ac_cv_env_build_alias_value=x86_64-pc-linux-gnu ac_cv_env_host_alias_set=set ac_cv_env_host_alias_value=mips64-buildroot-linux-gnu ac_cv_env_target_alias_set=set ac_cv_env_target_alias_value=mips64-buildroot-linux-gnu ac_cv_epoll_works=yes ac_cv_func___va_copy=yes ac_cv_func_calloc_0_nonnull=yes ac_cv_func_malloc_0_nonnull=yes ac_cv_func_memcmp_working=yes ac_cv_func_mmap_fixed_mapped=yes ac_cv_func_realloc_0_nonnull=yes ac_cv_func_setresuid=yes ac_cv_func_strnstr=no ac_cv_func_va_copy=yes ac_cv_have_decl_malloc=yes ac_cv_have_squid=yes ac_cv_header_inttypes_h=yes ac_cv_header_minix_config_h=no ac_cv_header_stdint_h=yes ac_cv_header_stdio_h=yes ac_cv_header_stdlib_h=yes ac_cv_header_string_h=yes ac_cv_header_strings_h=yes ac_cv_header_sys_stat_h=yes ac_cv_header_sys_types_h=yes ac_cv_header_unistd_h=yes ac_cv_header_wchar_h=yes ac_cv_host=mips64-buildroot-linux-gnu ac_cv_lbl_unaligned_fail=yes ac_cv_objext=o ac_cv_path_install='/usr/bin/install -c' ac_cv_path_mkdir=/usr/bin/mkdir ac_cv_prog_AWK=gawk ac_cv_prog_CC=/home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc ac_cv_prog_STRIP=/bin/true ac_cv_prog_cc_c11= ac_cv_prog_cc_g=yes ac_cv_prog_cc_stdc= ac_cv_prog_cxx_cxx11= ac_cv_prog_cxx_g=yes ac_cv_prog_cxx_stdcxx= ac_cv_prog_make_make_set=yes ac_cv_safe_to_define___extensions__=yes ac_cv_should_define__xopen_source=no am_cv_CC_dependencies_compiler_type=none am_cv_CXX_dependencies_compiler_type=none am_cv_make_support_nested_variables=yes am_cv_prog_cc_c_o=yes am_cv_prog_tar_ustar=gnutar ax_cv_cxx_compile_cxx17__h_std_cpp17=no ax_cv_cxx_compile_cxx17__h_std_cpp1z=no ax_cv_cxx_compile_cxx17__std_cpp17=no ax_cv_cxx_compile_cxx17__std_cpp1z=no ax_cv_cxx_compile_cxx17_pstd_cpp17=no ax_cv_cxx_compile_cxx17_pstd_cpp1z=no gl_cv_func_malloc_0_nonnull=yes lt_cv_sys_lib_search_path_spec= squid_cv_check_marchnative=no ## ----------------- ## ## Output variables. ## ## ----------------- ## ACLOCAL='${SHELL} '\''/home/buildroot/autobuild/instance-0/output-1/build/squid-6.6/cfgaux/missing'\'' aclocal-1.16' ADAPTATION_LIBS='' AIOLIB='' ALLOCA='' AMDEPBACKSLASH='' AMDEP_FALSE='' AMDEP_TRUE='#' AMTAR='$${TAR-tar}' AM_BACKSLASH='\' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' AM_DEFAULT_VERBOSITY='1' AM_V='$(V)' AR='/home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc-ar' AR_R='' ATOMICLIB='' AUTH_LIBS_TO_BUILD='' AUTH_MODULES='' AUTOCONF='${SHELL} '\''/home/buildroot/autobuild/instance-0/output-1/build/squid-6.6/cfgaux/missing'\'' autoconf' AUTOHEADER='${SHELL} '\''/home/buildroot/autobuild/instance-0/output-1/build/squid-6.6/cfgaux/missing'\'' autoheader' AUTOMAKE='${SHELL} '\''/home/buildroot/autobuild/instance-0/output-1/build/squid-6.6/cfgaux/missing'\'' automake-1.16' AWK='gawk' BASIC_AUTH_HELPERS='' BUILDCXX='/usr/bin/g++' BUILDCXXFLAGS='-O2 -I/home/buildroot/autobuild/instance-0/output-1/host/include' BZR='bzr' CACHE_EFFECTIVE_USER='' CC='/home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc' CCDEPMODE='depmode=none' CFLAGS='-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2' CGIEXT='' CHMOD='' CONVENIENCE_LTDL_FALSE='' CONVENIENCE_LTDL_TRUE='' CPP='/home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-cpp' CPPFLAGS='-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64' CRYPTLIB='' CSCOPE='cscope' CTAGS='ctags' CXX='/home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-g++' CXXCPP='' CXXDEPMODE='depmode=none' CXXFLAGS='-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2' CYGPATH_W='echo' DEFAULT_HOSTS='' DEFAULT_LOG_DIR='' DEFAULT_PID_FILE='' DEFAULT_SWAP_DIR='' DEFS='' DEPDIR='.deps' DIGEST_AUTH_HELPERS='' DISK_LIBS='' DISK_MODULES='' DLLTOOL='' DSYMUTIL='' DUMPBIN='' ECHO_C='' ECHO_N='-n' ECHO_T='' EGREP='' ENABLE_ADAPTATION_FALSE='' ENABLE_ADAPTATION_TRUE='' ENABLE_AUTH_BASIC_FALSE='' ENABLE_AUTH_BASIC_TRUE='' ENABLE_AUTH_DIGEST_FALSE='' ENABLE_AUTH_DIGEST_TRUE='' ENABLE_AUTH_FALSE='' ENABLE_AUTH_NEGOTIATE_FALSE='' ENABLE_AUTH_NEGOTIATE_TRUE='' ENABLE_AUTH_NTLM_FALSE='' ENABLE_AUTH_NTLM_TRUE='' ENABLE_AUTH_TRUE='' ENABLE_DELAY_POOLS_FALSE='' ENABLE_DELAY_POOLS_TRUE='' ENABLE_DEVPOLL_FALSE='' ENABLE_DEVPOLL_TRUE='' ENABLE_DISKIO_AIO_FALSE='' ENABLE_DISKIO_AIO_TRUE='' ENABLE_DISKIO_BLOCKING_FALSE='' ENABLE_DISKIO_BLOCKING_TRUE='' ENABLE_DISKIO_DISKDAEMON_FALSE='' ENABLE_DISKIO_DISKDAEMON_TRUE='' ENABLE_DISKIO_DISKTHREADS_FALSE='' ENABLE_DISKIO_DISKTHREADS_TRUE='' ENABLE_DISKIO_IPCIO_FALSE='' ENABLE_DISKIO_IPCIO_TRUE='' ENABLE_DISKIO_MMAPPED_FALSE='' ENABLE_DISKIO_MMAPPED_TRUE='' ENABLE_ECAP_FALSE='' ENABLE_ECAP_TRUE='' ENABLE_EPOLL_FALSE='' ENABLE_EPOLL_TRUE='' ENABLE_ESI_FALSE='' ENABLE_ESI_TRUE='' ENABLE_EUI_FALSE='' ENABLE_EUI_TRUE='' ENABLE_FS_ROCK_FALSE='' ENABLE_FS_ROCK_TRUE='' ENABLE_FS_UFS_FALSE='' ENABLE_FS_UFS_TRUE='' ENABLE_HTCP_FALSE='' ENABLE_HTCP_TRUE='' ENABLE_ICAP_CLIENT_FALSE='' ENABLE_ICAP_CLIENT_TRUE='' ENABLE_KQUEUE_FALSE='' ENABLE_KQUEUE_TRUE='' ENABLE_LIBEXPAT_FALSE='' ENABLE_LIBEXPAT_TRUE='' ENABLE_LIBXML2_FALSE='' ENABLE_LIBXML2_TRUE='' ENABLE_LOADABLE_MODULES_FALSE='' ENABLE_LOADABLE_MODULES_TRUE='' ENABLE_PINGER_FALSE='' ENABLE_PINGER_TRUE='' ENABLE_POD2MAN_DOC_FALSE='' ENABLE_POD2MAN_DOC_TRUE='' ENABLE_POLL_FALSE='' ENABLE_POLL_TRUE='' ENABLE_RELEASE_DOCS_FALSE='' ENABLE_RELEASE_DOCS_TRUE='' ENABLE_SELECT_FALSE='' ENABLE_SELECT_TRUE='' ENABLE_SELECT_WIN32_FALSE='' ENABLE_SELECT_WIN32_TRUE='' ENABLE_SMBLIB_FALSE='' ENABLE_SMBLIB_TRUE='' ENABLE_SNMP_FALSE='' ENABLE_SNMP_TRUE='' ENABLE_SSL_FALSE='' ENABLE_SSL_TRUE='' ENABLE_TRANSLATION_FALSE='' ENABLE_TRANSLATION_TRUE='' ENABLE_UNLINKD_FALSE='' ENABLE_UNLINKD_TRUE='' ENABLE_WIN32SPECIFIC_FALSE='' ENABLE_WIN32SPECIFIC_TRUE='' ENABLE_WIN32_AIOPS_FALSE='' ENABLE_WIN32_AIOPS_TRUE='' ENABLE_WIN32_AIO_FALSE='' ENABLE_WIN32_AIO_TRUE='' ENABLE_WIN32_IPC_FALSE='' ENABLE_WIN32_IPC_TRUE='' EPOLL_LIBS='' ETAGS='etags' EUILIB='' EXEEXT='' EXTERNAL_ACL_HELPERS='' EXT_LIBECAP_CFLAGS='' EXT_LIBECAP_LIBS='' FALSE='' FGREP='' FILECMD='' GREP='' HAVE_CXX17='' INCLTDL='' INSTALL_DATA='${INSTALL} -m 644' INSTALL_LTDL_FALSE='' INSTALL_LTDL_TRUE='' INSTALL_PROGRAM='${INSTALL}' INSTALL_SCRIPT='${INSTALL}' INSTALL_STRIP_PROGRAM='$(install_sh) -c -s' KRB5INCS='' KRB5LIBS='' LD='/home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-ld' LDAPSEARCH='' LDFLAGS='-g' LIBADD_DL='' LIBADD_DLD_LINK='' LIBADD_DLOPEN='' LIBADD_SHL_LOAD='' LIBBDB_LIBS='' LIBCAP_CFLAGS='' LIBCAP_LIBS='' LIBCPPUNIT_CFLAGS='' LIBCPPUNIT_LIBS='' LIBEXPAT_CFLAGS='' LIBEXPAT_LIBS='' LIBGNUTLS_CFLAGS='' LIBGNUTLS_LIBS='' LIBLDAP_CFLAGS='' LIBLDAP_LIBS='' LIBLTDL='' LIBNETTLE_CFLAGS='' LIBNETTLE_LIBS='' LIBOBJS='' LIBOPENSSL_CFLAGS='' LIBOPENSSL_LIBS='' LIBPTHREADS='' LIBS='-latomic' LIBSASL='' LIBSYSTEMD_CFLAGS='' LIBSYSTEMD_LIBS='' LIBTDB_CFLAGS='' LIBTDB_LIBS='' LIBTOOL='' LIBXML2_CFLAGS='' LIBXML2_LIBS='' LIB_KRB5_CFLAGS='' LIB_KRB5_LIBS='' LINUXDOC='' LIPO='' LN='' LN_S='' LOG_DAEMON_HELPERS='' LTDLDEPS='' LTDLINCL='' LTDLOPEN='' LTLIBOBJS='' LT_ARGZ_H='' LT_CONFIG_H='' LT_DLLOADERS='' LT_DLPREOPEN='' LT_SYS_LIBRARY_PATH='' MAINT='#' MAINTAINER_MODE_FALSE='' MAINTAINER_MODE_TRUE='#' MAKEINFO='${SHELL} '\''/home/buildroot/autobuild/instance-0/output-1/build/squid-6.6/cfgaux/missing'\'' makeinfo' MANIFEST_TOOL='' MINGW_LIBS='' MKDIR='' MKDIR_P='/usr/bin/mkdir -p' MV='' NEGOTIATE_AUTH_HELPERS='' NM='/home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc-nm' NMEDIT='' NTLM_AUTH_HELPERS='' OBJDUMP='/home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-objdump' OBJEXT='o' OTOOL64='' OTOOL='' PACKAGE='squid' PACKAGE_BUGREPORT='https://bugs.squid-cache.org/' PACKAGE_NAME='Squid Web Proxy' PACKAGE_STRING='Squid Web Proxy 6.6' PACKAGE_TARNAME='squid' PACKAGE_URL='' PACKAGE_VERSION='6.6' PATH_SEPARATOR=':' PERL='/usr/bin/perl' PKG_CONFIG='/home/buildroot/autobuild/instance-0/output-1/host/bin/pkg-config' PKG_CONFIG_LIBDIR='' PKG_CONFIG_PATH='' PO2HTML='' PO2TEXT='' POD2MAN='' RANLIB='/home/buildroot/autobuild/instance-0/output-1/host/bin/mips-img-linux-gnu-gcc-ranlib' REGEXLIB='' REPL_LIBS='' REPL_OBJS='' REPL_POLICIES='' RM='' SECURITY_CERTGEN_HELPERS='' SECURITY_CERTV_HELPERS='' SED='' SET_MAKE='' SH='' SHELL='/bin/sh' SMBCLIENT='' SNMPLIB='' SQUID_CFLAGS='' SQUID_CXXFLAGS='' SQUID_RELEASE='' SSLLIB='' STOREID_REWRITE_HELPERS='' STORE_LIBS_TO_ADD='' STORE_LIBS_TO_BUILD='' STORE_TESTS='' STRIP='/bin/true' TR='' TRUE='' URL_REWRITE_HELPERS='' VERSION='6.6' WBINFO='' WIN32_PSAPI='' XTRA_LIBS='' XTRA_OBJS='' ac_ct_AR='' ac_ct_CC='' ac_ct_CXX='' ac_ct_DUMPBIN='' am__EXEEXT_FALSE='' am__EXEEXT_TRUE='' am__fastdepCC_FALSE='' am__fastdepCC_TRUE='#' am__fastdepCXX_FALSE='' am__fastdepCXX_TRUE='#' am__include='include' am__isrc='' am__leading_dot='.' am__nodep='' am__quote='' am__tar='tar --format=ustar -chf - "$$tardir"' am__untar='tar -xf -' bindir='${exec_prefix}/bin' build='x86_64-pc-linux-gnu' build_alias='x86_64-pc-linux-gnu' build_cpu='x86_64' build_os='linux-gnu' build_vendor='pc' datadir='${datarootdir}' datarootdir='${prefix}/share' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' dvidir='${docdir}' exec_prefix='/usr' host='mips64-buildroot-linux-gnu' host_alias='mips64-buildroot-linux-gnu' host_cpu='mips64' host_os='linux-gnu' host_vendor='buildroot' htmldir='${docdir}' includedir='${prefix}/include' infodir='${datarootdir}/info' install_sh='${SHELL} /home/buildroot/autobuild/instance-0/output-1/build/squid-6.6/cfgaux/install-sh' krb5_config='' libdir='${exec_prefix}/lib' libexecdir='${exec_prefix}/libexec' localedir='${datarootdir}/locale' localstatedir='/var' ltdl_LIBOBJS='' ltdl_LTLIBOBJS='' mandir='${datarootdir}/man' mkdir_p='$(MKDIR_P)' oldincludedir='/usr/include' pdfdir='${docdir}' prefix='/usr' program_transform_name='s&^&&' psdir='${docdir}' runstatedir='${localstatedir}/run' sbindir='${exec_prefix}/sbin' sharedstatedir='${prefix}/com' subdirs='' sys_symbol_underscore='' sysconfdir='/etc' target_alias='mips64-buildroot-linux-gnu' top_build_prefix='' ## ----------- ## ## confdefs.h. ## ## ----------- ## /* confdefs.h */ #define PACKAGE_NAME "Squid Web Proxy" #define PACKAGE_TARNAME "squid" #define PACKAGE_VERSION "6.6" #define PACKAGE_STRING "Squid Web Proxy 6.6" #define PACKAGE_BUGREPORT "https://bugs.squid-cache.org/" #define PACKAGE_URL "" #define PACKAGE "squid" #define VERSION "6.6" #define HAVE_STDIO_H 1 #define HAVE_STDLIB_H 1 #define HAVE_STRING_H 1 #define HAVE_INTTYPES_H 1 #define HAVE_STDINT_H 1 #define HAVE_STRINGS_H 1 #define HAVE_SYS_STAT_H 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_UNISTD_H 1 #define HAVE_WCHAR_H 1 #define STDC_HEADERS 1 #define _ALL_SOURCE 1 #define _DARWIN_C_SOURCE 1 #define _GNU_SOURCE 1 #define _HPUX_ALT_XOPEN_SOCKET_API 1 #define _NETBSD_SOURCE 1 #define _OPENBSD_SOURCE 1 #define _POSIX_PTHREAD_SEMANTICS 1 #define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 #define __STDC_WANT_IEC_60559_BFP_EXT__ 1 #define __STDC_WANT_IEC_60559_DFP_EXT__ 1 #define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1 #define __STDC_WANT_IEC_60559_TYPES_EXT__ 1 #define __STDC_WANT_LIB_EXT2__ 1 #define __STDC_WANT_MATH_SPEC_FUNCS__ 1 #define _TANDEM_SOURCE 1 #define __EXTENSIONS__ 1 configure: exit 1