Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- This file contains any messages produced by compilers while
- running configure, to aid debugging if configure makes a mistake.
- It was created by breakpad configure 0.1, which was
- generated by GNU Autoconf 2.69. Invocation command line was
- $ ./configure
- ## --------- ##
- ## Platform. ##
- ## --------- ##
- hostname = DEVLINUX
- uname -m = x86_64
- uname -r = 3.2.0-4-amd64
- uname -s = Linux
- uname -v = #1 SMP Debian 3.2.68-1+deb7u6
- /usr/bin/uname -p = unknown
- /bin/uname -X = unknown
- /bin/arch = unknown
- /usr/bin/arch -k = unknown
- /usr/convex/getsysinfo = unknown
- /usr/bin/hostinfo = unknown
- /bin/machine = unknown
- /usr/bin/oslevel = unknown
- /bin/universe = unknown
- PATH: /media/software/depot_tools
- PATH: /usr/local/sbin
- PATH: /usr/local/bin
- PATH: /usr/sbin
- PATH: /usr/bin
- PATH: /sbin
- PATH: /bin
- ## ----------- ##
- ## Core tests. ##
- ## ----------- ##
- configure:2249: checking build system type
- configure:2263: result: x86_64-pc-linux-gnu
- configure:2283: checking host system type
- configure:2296: result: x86_64-pc-linux-gnu
- configure:2333: checking for a BSD-compatible install
- configure:2401: result: /usr/bin/install -c
- configure:2412: checking whether build environment is sane
- configure:2467: result: yes
- configure:2618: checking for a thread-safe mkdir -p
- configure:2657: result: /bin/mkdir -p
- configure:2664: checking for gawk
- configure:2694: result: no
- configure:2664: checking for mawk
- configure:2680: found /usr/bin/mawk
- configure:2691: result: mawk
- configure:2702: checking whether make sets $(MAKE)
- configure:2724: result: yes
- configure:2753: checking whether make supports nested variables
- configure:2770: result: yes
- configure:2859: checking whether UID '0' is supported by ustar format
- configure:2862: result: yes
- configure:2869: checking whether GID '0' is supported by ustar format
- configure:2872: result: yes
- configure:2880: checking how to create a ustar tar archive
- configure:2891: tar --version
- tar (GNU tar) 1.26
- Copyright (C) 2011 Free Software Foundation, Inc.
- License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
- 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:2894: $? = 0
- configure:2934: tardir=conftest.dir && eval tar --format=ustar -chf - "$tardir" >conftest.tar
- configure:2937: $? = 0
- configure:2941: tar -xf - <conftest.tar
- configure:2944: $? = 0
- configure:2946: cat conftest.dir/file
- GrepMe
- configure:2949: $? = 0
- configure:2962: result: gnutar
- configure:3015: checking whether to enable maintainer-specific portions of Makefiles
- configure:3024: result: no
- configure:3050: checking for style of include used by make
- configure:3078: result: GNU
- configure:3149: checking for gcc
- configure:3165: found /usr/bin/gcc
- configure:3176: result: gcc
- configure:3405: checking for C compiler version
- configure:3414: gcc --version >&5
- gcc (Debian 4.7.2-5) 4.7.2
- Copyright (C) 2012 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:3425: $? = 0
- configure:3414: gcc -v >&5
- Using built-in specs.
- COLLECT_GCC=gcc
- COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
- Target: x86_64-linux-gnu
- Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.2-5' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
- Thread model: posix
- gcc version 4.7.2 (Debian 4.7.2-5)
- configure:3425: $? = 0
- configure:3414: gcc -V >&5
- gcc: error: unrecognized command line option '-V'
- gcc: fatal error: no input files
- compilation terminated.
- configure:3425: $? = 4
- configure:3414: gcc -qversion >&5
- gcc: error: unrecognized command line option '-qversion'
- gcc: fatal error: no input files
- compilation terminated.
- configure:3425: $? = 4
- configure:3445: checking whether the C compiler works
- configure:3467: gcc conftest.c >&5
- configure:3471: $? = 0
- configure:3519: result: yes
- configure:3522: checking for C compiler default output file name
- configure:3524: result: a.out
- configure:3530: checking for suffix of executables
- configure:3537: gcc -o conftest conftest.c >&5
- configure:3541: $? = 0
- configure:3563: result:
- configure:3585: checking whether we are cross compiling
- configure:3593: gcc -o conftest conftest.c >&5
- configure:3597: $? = 0
- configure:3604: ./conftest
- configure:3608: $? = 0
- configure:3623: result: no
- configure:3628: checking for suffix of object files
- configure:3650: gcc -c conftest.c >&5
- configure:3654: $? = 0
- configure:3675: result: o
- configure:3679: checking whether we are using the GNU C compiler
- configure:3698: gcc -c conftest.c >&5
- configure:3698: $? = 0
- configure:3707: result: yes
- configure:3716: checking whether gcc accepts -g
- configure:3736: gcc -c -g conftest.c >&5
- configure:3736: $? = 0
- configure:3777: result: yes
- configure:3794: checking for gcc option to accept ISO C89
- configure:3857: gcc -c -g -O2 conftest.c >&5
- configure:3857: $? = 0
- configure:3870: result: none needed
- configure:3895: checking whether gcc understands -c and -o together
- configure:3917: gcc -c conftest.c -o conftest2.o
- configure:3920: $? = 0
- configure:3917: gcc -c conftest.c -o conftest2.o
- configure:3920: $? = 0
- configure:3932: result: yes
- configure:3951: checking dependency style of gcc
- configure:4062: result: gcc3
- configure:4127: checking for ar
- configure:4143: found /usr/bin/ar
- configure:4154: result: ar
- configure:4180: checking the archiver (ar) interface
- configure:4196: gcc -c -g -O2 conftest.c >&5
- configure:4196: $? = 0
- configure:4198: ar cru libconftest.a conftest.o >&5
- configure:4201: $? = 0
- configure:4229: result: ar
- configure:4258: checking dependency style of gcc
- configure:4367: result: gcc3
- configure:4430: checking for gcc
- configure:4457: result: gcc
- configure:4686: checking for C compiler version
- configure:4695: gcc --version >&5
- gcc (Debian 4.7.2-5) 4.7.2
- Copyright (C) 2012 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:4706: $? = 0
- configure:4695: gcc -v >&5
- Using built-in specs.
- COLLECT_GCC=gcc
- COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
- Target: x86_64-linux-gnu
- Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.2-5' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
- Thread model: posix
- gcc version 4.7.2 (Debian 4.7.2-5)
- configure:4706: $? = 0
- configure:4695: gcc -V >&5
- gcc: error: unrecognized command line option '-V'
- gcc: fatal error: no input files
- compilation terminated.
- configure:4706: $? = 4
- configure:4695: gcc -qversion >&5
- gcc: error: unrecognized command line option '-qversion'
- gcc: fatal error: no input files
- compilation terminated.
- configure:4706: $? = 4
- configure:4710: checking whether we are using the GNU C compiler
- configure:4738: result: yes
- configure:4747: checking whether gcc accepts -g
- configure:4808: result: yes
- configure:4825: checking for gcc option to accept ISO C89
- configure:4901: result: none needed
- configure:4926: checking whether gcc understands -c and -o together
- configure:4963: result: yes
- configure:4982: checking dependency style of gcc
- configure:5093: result: gcc3
- configure:5114: checking how to run the C preprocessor
- configure:5145: gcc -E conftest.c
- configure:5145: $? = 0
- configure:5159: gcc -E conftest.c
- conftest.c:11:28: fatal error: ac_nonexistent.h: No such file or directory
- compilation terminated.
- configure:5159: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "breakpad"
- | #define PACKAGE_TARNAME "breakpad"
- | #define PACKAGE_VERSION "0.1"
- | #define PACKAGE_STRING "breakpad 0.1"
- | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
- | #define PACKAGE_URL ""
- | #define PACKAGE "breakpad"
- | #define VERSION "0.1"
- | /* end confdefs.h. */
- | #include <ac_nonexistent.h>
- configure:5184: result: gcc -E
- configure:5204: gcc -E conftest.c
- configure:5204: $? = 0
- configure:5218: gcc -E conftest.c
- conftest.c:11:28: fatal error: ac_nonexistent.h: No such file or directory
- compilation terminated.
- configure:5218: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "breakpad"
- | #define PACKAGE_TARNAME "breakpad"
- | #define PACKAGE_VERSION "0.1"
- | #define PACKAGE_STRING "breakpad 0.1"
- | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
- | #define PACKAGE_URL ""
- | #define PACKAGE "breakpad"
- | #define VERSION "0.1"
- | /* end confdefs.h. */
- | #include <ac_nonexistent.h>
- configure:5304: checking for g++
- configure:5320: found /usr/bin/g++
- configure:5331: result: g++
- configure:5358: checking for C++ compiler version
- configure:5367: g++ --version >&5
- g++ (Debian 4.7.2-5) 4.7.2
- Copyright (C) 2012 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:5378: $? = 0
- configure:5367: g++ -v >&5
- Using built-in specs.
- COLLECT_GCC=g++
- COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
- Target: x86_64-linux-gnu
- Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.2-5' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
- Thread model: posix
- gcc version 4.7.2 (Debian 4.7.2-5)
- configure:5378: $? = 0
- configure:5367: g++ -V >&5
- g++: error: unrecognized command line option '-V'
- g++: fatal error: no input files
- compilation terminated.
- configure:5378: $? = 4
- configure:5367: g++ -qversion >&5
- g++: error: unrecognized command line option '-qversion'
- g++: fatal error: no input files
- compilation terminated.
- configure:5378: $? = 4
- configure:5382: checking whether we are using the GNU C++ compiler
- configure:5401: g++ -c conftest.cpp >&5
- configure:5401: $? = 0
- configure:5410: result: yes
- configure:5419: checking whether g++ accepts -g
- configure:5439: g++ -c -g conftest.cpp >&5
- configure:5439: $? = 0
- configure:5480: result: yes
- configure:5505: checking dependency style of g++
- configure:5616: result: gcc3
- configure:5674: checking for ranlib
- configure:5690: found /usr/bin/ranlib
- configure:5701: result: ranlib
- configure:5753: checking for grep that handles long lines and -e
- configure:5811: result: /bin/grep
- configure:5816: checking for egrep
- configure:5878: result: /bin/grep -E
- configure:5883: checking for ANSI C header files
- configure:5903: gcc -c -g -O2 conftest.c >&5
- configure:5903: $? = 0
- configure:5976: gcc -o conftest -g -O2 conftest.c >&5
- configure:5976: $? = 0
- configure:5976: ./conftest
- configure:5976: $? = 0
- configure:5987: result: yes
- configure:6002: checking for special C compiler options needed for large files
- configure:6047: result: no
- configure:6053: checking for _FILE_OFFSET_BITS value needed for large files
- configure:6078: gcc -c -g -O2 conftest.c >&5
- configure:6078: $? = 0
- configure:6110: result: no
- configure:6462: checking for the pthreads library -lpthreads
- configure:6500: gcc -o conftest -g -O2 conftest.c -lpthreads >&5
- /usr/bin/ld: cannot find -lpthreads
- collect2: error: ld returned 1 exit status
- configure:6500: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "breakpad"
- | #define PACKAGE_TARNAME "breakpad"
- | #define PACKAGE_VERSION "0.1"
- | #define PACKAGE_STRING "breakpad 0.1"
- | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
- | #define PACKAGE_URL ""
- | #define PACKAGE "breakpad"
- | #define VERSION "0.1"
- | #define STDC_HEADERS 1
- | /* end confdefs.h. */
- | #include <pthread.h>
- | static void routine(void* a) {a=0;}
- | static void* start_routine(void* a) {return a;}
- | int
- | main ()
- | {
- | pthread_t th; pthread_attr_t attr;
- | pthread_join(th, 0);
- | pthread_attr_init(&attr);
- | pthread_cleanup_push(routine, 0);
- | pthread_create(&th,0,start_routine,0);
- | pthread_cleanup_pop(0);
- | ;
- | return 0;
- | }
- configure:6509: result: no
- configure:6407: checking whether pthreads work without any flags
- configure:6500: gcc -o conftest -g -O2 conftest.c >&5
- /tmp/cc5ZvTUt.o: In function `main':
- /media/software/breakpad/src/conftest.c:19: undefined reference to `pthread_join'
- /media/software/breakpad/src/conftest.c:21: undefined reference to `__pthread_register_cancel'
- /media/software/breakpad/src/conftest.c:22: undefined reference to `pthread_create'
- /media/software/breakpad/src/conftest.c:23: undefined reference to `__pthread_unregister_cancel'
- collect2: error: ld returned 1 exit status
- configure:6500: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "breakpad"
- | #define PACKAGE_TARNAME "breakpad"
- | #define PACKAGE_VERSION "0.1"
- | #define PACKAGE_STRING "breakpad 0.1"
- | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
- | #define PACKAGE_URL ""
- | #define PACKAGE "breakpad"
- | #define VERSION "0.1"
- | #define STDC_HEADERS 1
- | /* end confdefs.h. */
- | #include <pthread.h>
- | static void routine(void* a) {a=0;}
- | static void* start_routine(void* a) {return a;}
- | int
- | main ()
- | {
- | pthread_t th; pthread_attr_t attr;
- | pthread_join(th, 0);
- | pthread_attr_init(&attr);
- | pthread_cleanup_push(routine, 0);
- | pthread_create(&th,0,start_routine,0);
- | pthread_cleanup_pop(0);
- | ;
- | return 0;
- | }
- configure:6509: result: no
- configure:6412: checking whether pthreads work with -Kthread
- configure:6500: gcc -o conftest -g -O2 -Kthread conftest.c >&5
- gcc: error: unrecognized command line option '-Kthread'
- configure:6500: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "breakpad"
- | #define PACKAGE_TARNAME "breakpad"
- | #define PACKAGE_VERSION "0.1"
- | #define PACKAGE_STRING "breakpad 0.1"
- | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
- | #define PACKAGE_URL ""
- | #define PACKAGE "breakpad"
- | #define VERSION "0.1"
- | #define STDC_HEADERS 1
- | /* end confdefs.h. */
- | #include <pthread.h>
- | static void routine(void* a) {a=0;}
- | static void* start_routine(void* a) {return a;}
- | int
- | main ()
- | {
- | pthread_t th; pthread_attr_t attr;
- | pthread_join(th, 0);
- | pthread_attr_init(&attr);
- | pthread_cleanup_push(routine, 0);
- | pthread_create(&th,0,start_routine,0);
- | pthread_cleanup_pop(0);
- | ;
- | return 0;
- | }
- configure:6509: result: no
- configure:6412: checking whether pthreads work with -kthread
- configure:6500: gcc -o conftest -g -O2 -kthread conftest.c >&5
- gcc: error: unrecognized command line option '-kthread'
- configure:6500: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "breakpad"
- | #define PACKAGE_TARNAME "breakpad"
- | #define PACKAGE_VERSION "0.1"
- | #define PACKAGE_STRING "breakpad 0.1"
- | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
- | #define PACKAGE_URL ""
- | #define PACKAGE "breakpad"
- | #define VERSION "0.1"
- | #define STDC_HEADERS 1
- | /* end confdefs.h. */
- | #include <pthread.h>
- | static void routine(void* a) {a=0;}
- | static void* start_routine(void* a) {return a;}
- | int
- | main ()
- | {
- | pthread_t th; pthread_attr_t attr;
- | pthread_join(th, 0);
- | pthread_attr_init(&attr);
- | pthread_cleanup_push(routine, 0);
- | pthread_create(&th,0,start_routine,0);
- | pthread_cleanup_pop(0);
- | ;
- | return 0;
- | }
- configure:6509: result: no
- configure:6462: checking for the pthreads library -llthread
- configure:6500: gcc -o conftest -g -O2 conftest.c -llthread >&5
- /usr/bin/ld: cannot find -llthread
- collect2: error: ld returned 1 exit status
- configure:6500: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "breakpad"
- | #define PACKAGE_TARNAME "breakpad"
- | #define PACKAGE_VERSION "0.1"
- | #define PACKAGE_STRING "breakpad 0.1"
- | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
- | #define PACKAGE_URL ""
- | #define PACKAGE "breakpad"
- | #define VERSION "0.1"
- | #define STDC_HEADERS 1
- | /* end confdefs.h. */
- | #include <pthread.h>
- | static void routine(void* a) {a=0;}
- | static void* start_routine(void* a) {return a;}
- | int
- | main ()
- | {
- | pthread_t th; pthread_attr_t attr;
- | pthread_join(th, 0);
- | pthread_attr_init(&attr);
- | pthread_cleanup_push(routine, 0);
- | pthread_create(&th,0,start_routine,0);
- | pthread_cleanup_pop(0);
- | ;
- | return 0;
- | }
- configure:6509: result: no
- configure:6412: checking whether pthreads work with -pthread
- configure:6500: gcc -o conftest -g -O2 -pthread conftest.c >&5
- configure:6500: $? = 0
- configure:6509: result: yes
- configure:6528: checking for joinable pthread attribute
- configure:6543: gcc -o conftest -g -O2 -pthread conftest.c >&5
- configure:6543: $? = 0
- configure:6549: result: PTHREAD_CREATE_JOINABLE
- configure:6559: checking if more special flags are required for pthreads
- configure:6566: result: no
- configure:6653: checking for sys/types.h
- configure:6653: gcc -c -g -O2 conftest.c >&5
- configure:6653: $? = 0
- configure:6653: result: yes
- configure:6653: checking for sys/stat.h
- configure:6653: gcc -c -g -O2 conftest.c >&5
- configure:6653: $? = 0
- configure:6653: result: yes
- configure:6653: checking for stdlib.h
- configure:6653: gcc -c -g -O2 conftest.c >&5
- configure:6653: $? = 0
- configure:6653: result: yes
- configure:6653: checking for string.h
- configure:6653: gcc -c -g -O2 conftest.c >&5
- configure:6653: $? = 0
- configure:6653: result: yes
- configure:6653: checking for memory.h
- configure:6653: gcc -c -g -O2 conftest.c >&5
- configure:6653: $? = 0
- configure:6653: result: yes
- configure:6653: checking for strings.h
- configure:6653: gcc -c -g -O2 conftest.c >&5
- configure:6653: $? = 0
- configure:6653: result: yes
- configure:6653: checking for inttypes.h
- configure:6653: gcc -c -g -O2 conftest.c >&5
- configure:6653: $? = 0
- configure:6653: result: yes
- configure:6653: checking for stdint.h
- configure:6653: gcc -c -g -O2 conftest.c >&5
- configure:6653: $? = 0
- configure:6653: result: yes
- configure:6653: checking for unistd.h
- configure:6653: gcc -c -g -O2 conftest.c >&5
- configure:6653: $? = 0
- configure:6653: result: yes
- configure:6667: checking a.out.h usability
- configure:6667: gcc -c -g -O2 conftest.c >&5
- configure:6667: $? = 0
- configure:6667: result: yes
- configure:6667: checking a.out.h presence
- configure:6667: gcc -E conftest.c
- configure:6667: $? = 0
- configure:6667: result: yes
- configure:6667: checking for a.out.h
- configure:6667: result: yes
- configure:6748: checking whether g++ supports C++11 features by default
- configure:7042: g++ -c -g -O2 conftest.cpp >&5
- conftest.cpp:34:2: error: #error "This is not a C++11 compiler"
- configure:7042: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "breakpad"
- | #define PACKAGE_TARNAME "breakpad"
- | #define PACKAGE_VERSION "0.1"
- | #define PACKAGE_STRING "breakpad 0.1"
- | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
- | #define PACKAGE_URL ""
- | #define PACKAGE "breakpad"
- | #define VERSION "0.1"
- | #define STDC_HEADERS 1
- | #define HAVE_PTHREAD 1
- | #define HAVE_SYS_TYPES_H 1
- | #define HAVE_SYS_STAT_H 1
- | #define HAVE_STDLIB_H 1
- | #define HAVE_STRING_H 1
- | #define HAVE_MEMORY_H 1
- | #define HAVE_STRINGS_H 1
- | #define HAVE_INTTYPES_H 1
- | #define HAVE_STDINT_H 1
- | #define HAVE_UNISTD_H 1
- | #define HAVE_A_OUT_H 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"
- |
- | #elif __cplusplus < 201103L
- |
- | #error "This is not a C++11 compiler"
- |
- | #else
- |
- | namespace cxx11
- | {
- |
- | namespace test_static_assert
- | {
- |
- | template <typename T>
- | struct check
- | {
- | static_assert(sizeof(int) <= sizeof(T), "not big enough");
- | };
- |
- | }
- |
- | namespace test_final_override
- | {
- |
- | struct Base
- | {
- | virtual void f() {}
- | };
- |
- | struct Derived : public Base
- | {
- | virtual void f() override {}
- | };
- |
- | }
- |
- | namespace test_double_right_angle_brackets
- | {
- |
- | template < typename T >
- | struct check {};
- |
- | typedef check<void> single_type;
- | typedef check<check<void>> double_type;
- | typedef check<check<check<void>>> triple_type;
- | typedef check<check<check<check<void>>>> 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<T, T>
- | {
- | 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<int, decltype(0)>::value == true, "");
- | static_assert(is_same<int, decltype(c)>::value == false, "");
- | static_assert(is_same<int, decltype(v)>::value == false, "");
- | auto ac = c;
- | auto av = v;
- | auto sumi = ac + av + 'x';
- | auto sumf = ac + av + 1.0;
- | static_assert(is_same<int, decltype(ac)>::value == true, "");
- | static_assert(is_same<int, decltype(av)>::value == true, "");
- | static_assert(is_same<int, decltype(sumi)>::value == true, "");
- | static_assert(is_same<int, decltype(sumf)>::value == false, "");
- | static_assert(is_same<int, decltype(add(c, v))>::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 <int...>
- | struct sum;
- |
- | template <int N0, int... N1toN>
- | struct sum<N0, N1toN...>
- | {
- | static constexpr auto value = N0 + sum<N1toN...>::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<typename T>
- | using member = typename T::member_type;
- |
- | template<typename T>
- | void func(...) {}
- |
- | template<typename T>
- | void func(member<T>*) {}
- |
- | void test();
- |
- | void test() { func<foo>(0); }
- |
- | }
- |
- | } // namespace cxx11
- |
- | #endif // __cplusplus >= 201103L
- |
- |
- |
- configure:7049: result: no
- configure:7060: checking whether g++ supports C++11 features with -std=c++11
- configure:7356: g++ -c -g -O2 -std=c++11 conftest.cpp >&5
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<1>':
- conftest.cpp:272:25: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<1>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<23>':
- conftest.cpp:273:26: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<23>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<1, 2>':
- conftest.cpp:274:28: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<1, 2>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<2>':
- conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<1, 2>::value'
- conftest.cpp:274:30: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<2>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<5, 5, 11>':
- conftest.cpp:275:32: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<5, 5, 11>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<5, 11>':
- conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<5, 5, 11>::value'
- conftest.cpp:275:34: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<5, 11>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<11>':
- conftest.cpp:262:57: recursively required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<5, 11>::value'
- conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<5, 5, 11>::value'
- conftest.cpp:275:34: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<11>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>':
- conftest.cpp:276:42: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>':
- conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value'
- conftest.cpp:276:44: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<5, 7, 11, 13>':
- conftest.cpp:262:57: recursively required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>::value'
- conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value'
- conftest.cpp:276:44: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<5, 7, 11, 13>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<7, 11, 13>':
- conftest.cpp:262:57: recursively required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>::value'
- conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value'
- conftest.cpp:276:44: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<7, 11, 13>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<11, 13>':
- conftest.cpp:262:57: recursively required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>::value'
- conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value'
- conftest.cpp:276:44: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<11, 13>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<13>':
- conftest.cpp:262:57: recursively required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>::value'
- conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value'
- conftest.cpp:276:44: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<13>::value' has no initializer
- configure:7356: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "breakpad"
- | #define PACKAGE_TARNAME "breakpad"
- | #define PACKAGE_VERSION "0.1"
- | #define PACKAGE_STRING "breakpad 0.1"
- | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
- | #define PACKAGE_URL ""
- | #define PACKAGE "breakpad"
- | #define VERSION "0.1"
- | #define STDC_HEADERS 1
- | #define HAVE_PTHREAD 1
- | #define HAVE_SYS_TYPES_H 1
- | #define HAVE_SYS_STAT_H 1
- | #define HAVE_STDLIB_H 1
- | #define HAVE_STRING_H 1
- | #define HAVE_MEMORY_H 1
- | #define HAVE_STRINGS_H 1
- | #define HAVE_INTTYPES_H 1
- | #define HAVE_STDINT_H 1
- | #define HAVE_UNISTD_H 1
- | #define HAVE_A_OUT_H 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"
- |
- | #elif __cplusplus < 201103L
- |
- | #error "This is not a C++11 compiler"
- |
- | #else
- |
- | namespace cxx11
- | {
- |
- | namespace test_static_assert
- | {
- |
- | template <typename T>
- | struct check
- | {
- | static_assert(sizeof(int) <= sizeof(T), "not big enough");
- | };
- |
- | }
- |
- | namespace test_final_override
- | {
- |
- | struct Base
- | {
- | virtual void f() {}
- | };
- |
- | struct Derived : public Base
- | {
- | virtual void f() override {}
- | };
- |
- | }
- |
- | namespace test_double_right_angle_brackets
- | {
- |
- | template < typename T >
- | struct check {};
- |
- | typedef check<void> single_type;
- | typedef check<check<void>> double_type;
- | typedef check<check<check<void>>> triple_type;
- | typedef check<check<check<check<void>>>> 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<T, T>
- | {
- | 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<int, decltype(0)>::value == true, "");
- | static_assert(is_same<int, decltype(c)>::value == false, "");
- | static_assert(is_same<int, decltype(v)>::value == false, "");
- | auto ac = c;
- | auto av = v;
- | auto sumi = ac + av + 'x';
- | auto sumf = ac + av + 1.0;
- | static_assert(is_same<int, decltype(ac)>::value == true, "");
- | static_assert(is_same<int, decltype(av)>::value == true, "");
- | static_assert(is_same<int, decltype(sumi)>::value == true, "");
- | static_assert(is_same<int, decltype(sumf)>::value == false, "");
- | static_assert(is_same<int, decltype(add(c, v))>::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 <int...>
- | struct sum;
- |
- | template <int N0, int... N1toN>
- | struct sum<N0, N1toN...>
- | {
- | static constexpr auto value = N0 + sum<N1toN...>::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<typename T>
- | using member = typename T::member_type;
- |
- | template<typename T>
- | void func(...) {}
- |
- | template<typename T>
- | void func(member<T>*) {}
- |
- | void test();
- |
- | void test() { func<foo>(0); }
- |
- | }
- |
- | } // namespace cxx11
- |
- | #endif // __cplusplus >= 201103L
- |
- |
- |
- configure:7365: result: no
- configure:7060: checking whether g++ supports C++11 features with -std=c++0x
- configure:7356: g++ -c -g -O2 -std=c++0x conftest.cpp >&5
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<1>':
- conftest.cpp:272:25: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<1>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<23>':
- conftest.cpp:273:26: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<23>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<1, 2>':
- conftest.cpp:274:28: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<1, 2>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<2>':
- conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<1, 2>::value'
- conftest.cpp:274:30: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<2>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<5, 5, 11>':
- conftest.cpp:275:32: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<5, 5, 11>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<5, 11>':
- conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<5, 5, 11>::value'
- conftest.cpp:275:34: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<5, 11>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<11>':
- conftest.cpp:262:57: recursively required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<5, 11>::value'
- conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<5, 5, 11>::value'
- conftest.cpp:275:34: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<11>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>':
- conftest.cpp:276:42: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>':
- conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value'
- conftest.cpp:276:44: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<5, 7, 11, 13>':
- conftest.cpp:262:57: recursively required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>::value'
- conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value'
- conftest.cpp:276:44: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<5, 7, 11, 13>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<7, 11, 13>':
- conftest.cpp:262:57: recursively required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>::value'
- conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value'
- conftest.cpp:276:44: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<7, 11, 13>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<11, 13>':
- conftest.cpp:262:57: recursively required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>::value'
- conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value'
- conftest.cpp:276:44: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<11, 13>::value' has no initializer
- conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<13>':
- conftest.cpp:262:57: recursively required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>::value'
- conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value'
- conftest.cpp:276:44: required from here
- conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<13>::value' has no initializer
- configure:7356: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "breakpad"
- | #define PACKAGE_TARNAME "breakpad"
- | #define PACKAGE_VERSION "0.1"
- | #define PACKAGE_STRING "breakpad 0.1"
- | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
- | #define PACKAGE_URL ""
- | #define PACKAGE "breakpad"
- | #define VERSION "0.1"
- | #define STDC_HEADERS 1
- | #define HAVE_PTHREAD 1
- | #define HAVE_SYS_TYPES_H 1
- | #define HAVE_SYS_STAT_H 1
- | #define HAVE_STDLIB_H 1
- | #define HAVE_STRING_H 1
- | #define HAVE_MEMORY_H 1
- | #define HAVE_STRINGS_H 1
- | #define HAVE_INTTYPES_H 1
- | #define HAVE_STDINT_H 1
- | #define HAVE_UNISTD_H 1
- | #define HAVE_A_OUT_H 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"
- |
- | #elif __cplusplus < 201103L
- |
- | #error "This is not a C++11 compiler"
- |
- | #else
- |
- | namespace cxx11
- | {
- |
- | namespace test_static_assert
- | {
- |
- | template <typename T>
- | struct check
- | {
- | static_assert(sizeof(int) <= sizeof(T), "not big enough");
- | };
- |
- | }
- |
- | namespace test_final_override
- | {
- |
- | struct Base
- | {
- | virtual void f() {}
- | };
- |
- | struct Derived : public Base
- | {
- | virtual void f() override {}
- | };
- |
- | }
- |
- | namespace test_double_right_angle_brackets
- | {
- |
- | template < typename T >
- | struct check {};
- |
- | typedef check<void> single_type;
- | typedef check<check<void>> double_type;
- | typedef check<check<check<void>>> triple_type;
- | typedef check<check<check<check<void>>>> 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<T, T>
- | {
- | 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<int, decltype(0)>::value == true, "");
- | static_assert(is_same<int, decltype(c)>::value == false, "");
- | static_assert(is_same<int, decltype(v)>::value == false, "");
- | auto ac = c;
- | auto av = v;
- | auto sumi = ac + av + 'x';
- | auto sumf = ac + av + 1.0;
- | static_assert(is_same<int, decltype(ac)>::value == true, "");
- | static_assert(is_same<int, decltype(av)>::value == true, "");
- | static_assert(is_same<int, decltype(sumi)>::value == true, "");
- | static_assert(is_same<int, decltype(sumf)>::value == false, "");
- | static_assert(is_same<int, decltype(add(c, v))>::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 <int...>
- | struct sum;
- |
- | template <int N0, int... N1toN>
- | struct sum<N0, N1toN...>
- | {
- | static constexpr auto value = N0 + sum<N1toN...>::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<typename T>
- | using member = typename T::member_type;
- |
- | template<typename T>
- | void func(...) {}
- |
- | template<typename T>
- | void func(member<T>*) {}
- |
- | void test();
- |
- | void test() { func<foo>(0); }
- |
- | }
- |
- | } // namespace cxx11
- |
- | #endif // __cplusplus >= 201103L
- |
- |
- |
- configure:7365: result: no
- configure:7060: checking whether g++ supports C++11 features with +std=c++11
- configure:7356: g++ -c -g -O2 +std=c++11 conftest.cpp >&5
- g++: error: +std=c++11: No such file or directory
- configure:7356: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "breakpad"
- | #define PACKAGE_TARNAME "breakpad"
- | #define PACKAGE_VERSION "0.1"
- | #define PACKAGE_STRING "breakpad 0.1"
- | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
- | #define PACKAGE_URL ""
- | #define PACKAGE "breakpad"
- | #define VERSION "0.1"
- | #define STDC_HEADERS 1
- | #define HAVE_PTHREAD 1
- | #define HAVE_SYS_TYPES_H 1
- | #define HAVE_SYS_STAT_H 1
- | #define HAVE_STDLIB_H 1
- | #define HAVE_STRING_H 1
- | #define HAVE_MEMORY_H 1
- | #define HAVE_STRINGS_H 1
- | #define HAVE_INTTYPES_H 1
- | #define HAVE_STDINT_H 1
- | #define HAVE_UNISTD_H 1
- | #define HAVE_A_OUT_H 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"
- |
- | #elif __cplusplus < 201103L
- |
- | #error "This is not a C++11 compiler"
- |
- | #else
- |
- | namespace cxx11
- | {
- |
- | namespace test_static_assert
- | {
- |
- | template <typename T>
- | struct check
- | {
- | static_assert(sizeof(int) <= sizeof(T), "not big enough");
- | };
- |
- | }
- |
- | namespace test_final_override
- | {
- |
- | struct Base
- | {
- | virtual void f() {}
- | };
- |
- | struct Derived : public Base
- | {
- | virtual void f() override {}
- | };
- |
- | }
- |
- | namespace test_double_right_angle_brackets
- | {
- |
- | template < typename T >
- | struct check {};
- |
- | typedef check<void> single_type;
- | typedef check<check<void>> double_type;
- | typedef check<check<check<void>>> triple_type;
- | typedef check<check<check<check<void>>>> 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<T, T>
- | {
- | 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<int, decltype(0)>::value == true, "");
- | static_assert(is_same<int, decltype(c)>::value == false, "");
- | static_assert(is_same<int, decltype(v)>::value == false, "");
- | auto ac = c;
- | auto av = v;
- | auto sumi = ac + av + 'x';
- | auto sumf = ac + av + 1.0;
- | static_assert(is_same<int, decltype(ac)>::value == true, "");
- | static_assert(is_same<int, decltype(av)>::value == true, "");
- | static_assert(is_same<int, decltype(sumi)>::value == true, "");
- | static_assert(is_same<int, decltype(sumf)>::value == false, "");
- | static_assert(is_same<int, decltype(add(c, v))>::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 <int...>
- | struct sum;
- |
- | template <int N0, int... N1toN>
- | struct sum<N0, N1toN...>
- | {
- | static constexpr auto value = N0 + sum<N1toN...>::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<typename T>
- | using member = typename T::member_type;
- |
- | template<typename T>
- | void func(...) {}
- |
- | template<typename T>
- | void func(member<T>*) {}
- |
- | void test();
- |
- | void test() { func<foo>(0); }
- |
- | }
- |
- | } // namespace cxx11
- |
- | #endif // __cplusplus >= 201103L
- |
- |
- |
- configure:7365: result: no
- configure:7060: checking whether g++ supports C++11 features with -h std=c++11
- configure:7356: g++ -c -g -O2 -h std=c++11 conftest.cpp >&5
- g++: error: unrecognized option '-h'
- configure:7356: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "breakpad"
- | #define PACKAGE_TARNAME "breakpad"
- | #define PACKAGE_VERSION "0.1"
- | #define PACKAGE_STRING "breakpad 0.1"
- | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
- | #define PACKAGE_URL ""
- | #define PACKAGE "breakpad"
- | #define VERSION "0.1"
- | #define STDC_HEADERS 1
- | #define HAVE_PTHREAD 1
- | #define HAVE_SYS_TYPES_H 1
- | #define HAVE_SYS_STAT_H 1
- | #define HAVE_STDLIB_H 1
- | #define HAVE_STRING_H 1
- | #define HAVE_MEMORY_H 1
- | #define HAVE_STRINGS_H 1
- | #define HAVE_INTTYPES_H 1
- | #define HAVE_STDINT_H 1
- | #define HAVE_UNISTD_H 1
- | #define HAVE_A_OUT_H 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"
- |
- | #elif __cplusplus < 201103L
- |
- | #error "This is not a C++11 compiler"
- |
- | #else
- |
- | namespace cxx11
- | {
- |
- | namespace test_static_assert
- | {
- |
- | template <typename T>
- | struct check
- | {
- | static_assert(sizeof(int) <= sizeof(T), "not big enough");
- | };
- |
- | }
- |
- | namespace test_final_override
- | {
- |
- | struct Base
- | {
- | virtual void f() {}
- | };
- |
- | struct Derived : public Base
- | {
- | virtual void f() override {}
- | };
- |
- | }
- |
- | namespace test_double_right_angle_brackets
- | {
- |
- | template < typename T >
- | struct check {};
- |
- | typedef check<void> single_type;
- | typedef check<check<void>> double_type;
- | typedef check<check<check<void>>> triple_type;
- | typedef check<check<check<check<void>>>> 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<T, T>
- | {
- | 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<int, decltype(0)>::value == true, "");
- | static_assert(is_same<int, decltype(c)>::value == false, "");
- | static_assert(is_same<int, decltype(v)>::value == false, "");
- | auto ac = c;
- | auto av = v;
- | auto sumi = ac + av + 'x';
- | auto sumf = ac + av + 1.0;
- | static_assert(is_same<int, decltype(ac)>::value == true, "");
- | static_assert(is_same<int, decltype(av)>::value == true, "");
- | static_assert(is_same<int, decltype(sumi)>::value == true, "");
- | static_assert(is_same<int, decltype(sumf)>::value == false, "");
- | static_assert(is_same<int, decltype(add(c, v))>::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 <int...>
- | struct sum;
- |
- | template <int N0, int... N1toN>
- | struct sum<N0, N1toN...>
- | {
- | static constexpr auto value = N0 + sum<N1toN...>::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<typename T>
- | using member = typename T::member_type;
- |
- | template<typename T>
- | void func(...) {}
- |
- | template<typename T>
- | void func(member<T>*) {}
- |
- | void test();
- |
- | void test() { func<foo>(0); }
- |
- | }
- |
- | } // namespace cxx11
- |
- | #endif // __cplusplus >= 201103L
- |
- |
- |
- configure:7365: result: no
- configure:7382: error: *** A compiler with support for C++11 language features is required.
- ## ---------------- ##
- ## Cache variables. ##
- ## ---------------- ##
- ac_cv_build=x86_64-pc-linux-gnu
- ac_cv_c_compiler_gnu=yes
- ac_cv_cxx_compiler_gnu=yes
- ac_cv_env_CCASFLAGS_set=
- ac_cv_env_CCASFLAGS_value=
- ac_cv_env_CCAS_set=
- ac_cv_env_CCAS_value=
- ac_cv_env_CCC_set=
- ac_cv_env_CCC_value=
- ac_cv_env_CC_set=
- ac_cv_env_CC_value=
- ac_cv_env_CFLAGS_set=
- ac_cv_env_CFLAGS_value=
- ac_cv_env_CPPFLAGS_set=
- ac_cv_env_CPPFLAGS_value=
- ac_cv_env_CPP_set=
- ac_cv_env_CPP_value=
- ac_cv_env_CXXFLAGS_set=
- ac_cv_env_CXXFLAGS_value=
- ac_cv_env_CXX_set=
- ac_cv_env_CXX_value=
- ac_cv_env_GMOCK_CFLAGS_set=
- ac_cv_env_GMOCK_CFLAGS_value=
- ac_cv_env_GMOCK_CONFIG_set=
- ac_cv_env_GMOCK_CONFIG_value=
- ac_cv_env_GMOCK_LIBS_set=
- ac_cv_env_GMOCK_LIBS_value=
- ac_cv_env_GTEST_CFLAGS_set=
- ac_cv_env_GTEST_CFLAGS_value=
- ac_cv_env_GTEST_CONFIG_set=
- ac_cv_env_GTEST_CONFIG_value=
- ac_cv_env_GTEST_LIBS_set=
- ac_cv_env_GTEST_LIBS_value=
- ac_cv_env_LDFLAGS_set=
- ac_cv_env_LDFLAGS_value=
- ac_cv_env_LIBS_set=
- ac_cv_env_LIBS_value=
- ac_cv_env_build_alias_set=
- ac_cv_env_build_alias_value=
- ac_cv_env_host_alias_set=
- ac_cv_env_host_alias_value=
- ac_cv_env_target_alias_set=
- ac_cv_env_target_alias_value=
- ac_cv_header_a_out_h=yes
- ac_cv_header_inttypes_h=yes
- ac_cv_header_memory_h=yes
- ac_cv_header_stdc=yes
- ac_cv_header_stdint_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_host=x86_64-pc-linux-gnu
- ac_cv_objext=o
- ac_cv_path_EGREP='/bin/grep -E'
- ac_cv_path_GREP=/bin/grep
- ac_cv_path_install='/usr/bin/install -c'
- ac_cv_path_mkdir=/bin/mkdir
- ac_cv_prog_AWK=mawk
- ac_cv_prog_CPP='gcc -E'
- ac_cv_prog_ac_ct_AR=ar
- ac_cv_prog_ac_ct_CC=gcc
- ac_cv_prog_ac_ct_CXX=g++
- ac_cv_prog_ac_ct_RANLIB=ranlib
- ac_cv_prog_cc_c89=
- ac_cv_prog_cc_g=yes
- ac_cv_prog_cxx_g=yes
- ac_cv_prog_make_make_set=yes
- ac_cv_sys_file_offset_bits=no
- ac_cv_sys_largefile_CC=no
- am_cv_CCAS_dependencies_compiler_type=gcc3
- am_cv_CC_dependencies_compiler_type=gcc3
- am_cv_CXX_dependencies_compiler_type=gcc3
- am_cv_ar_interface=ar
- am_cv_make_support_nested_variables=yes
- am_cv_prog_cc_c_o=yes
- am_cv_prog_tar_ustar=gnutar
- ax_cv_cxx_compile_cxx11=no
- ax_cv_cxx_compile_cxx11__h_std_cpp11=no
- ax_cv_cxx_compile_cxx11__std_cpp0x=no
- ax_cv_cxx_compile_cxx11__std_cpp11=no
- ax_cv_cxx_compile_cxx11_pstd_cpp11=no
- ## ----------------- ##
- ## Output variables. ##
- ## ----------------- ##
- ACLOCAL='${SHELL} /media/software/breakpad/src/autotools/missing aclocal-1.15'
- AMDEPBACKSLASH='\'
- AMDEP_FALSE='#'
- AMDEP_TRUE=''
- AMTAR='$${TAR-tar}'
- AM_BACKSLASH='\'
- AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
- AM_DEFAULT_VERBOSITY='1'
- AM_V='$(V)'
- ANDROID_HOST_FALSE=''
- ANDROID_HOST_TRUE=''
- AR='ar'
- AUTOCONF='${SHELL} /media/software/breakpad/src/autotools/missing autoconf'
- AUTOHEADER='${SHELL} /media/software/breakpad/src/autotools/missing autoheader'
- AUTOMAKE='${SHELL} /media/software/breakpad/src/autotools/missing automake-1.15'
- AWK='mawk'
- CC='gcc'
- CCAS='gcc'
- CCASDEPMODE='depmode=gcc3'
- CCASFLAGS='-g -O2'
- CCDEPMODE='depmode=gcc3'
- CFLAGS='-g -O2'
- CPP='gcc -E'
- CPPFLAGS=''
- CXX='g++'
- CXXDEPMODE='depmode=gcc3'
- CXXFLAGS='-g -O2'
- CYGPATH_W='echo'
- DEFS=''
- DEPDIR='.deps'
- DISABLE_PROCESSOR_FALSE=''
- DISABLE_PROCESSOR_TRUE=''
- DISABLE_TOOLS_FALSE=''
- DISABLE_TOOLS_TRUE=''
- ECHO_C=''
- ECHO_N='-n'
- ECHO_T=''
- EGREP='/bin/grep -E'
- EXEEXT=''
- GCC_FALSE='#'
- GCC_TRUE=''
- GMOCK_CFLAGS=''
- GMOCK_CONFIG=''
- GMOCK_LIBS=''
- GREP='/bin/grep'
- GTEST_CFLAGS=''
- GTEST_CONFIG=''
- GTEST_LIBS=''
- HAVE_CXX11=''
- INSTALL_DATA='${INSTALL} -m 644'
- INSTALL_PROGRAM='${INSTALL}'
- INSTALL_SCRIPT='${INSTALL}'
- INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
- LDFLAGS=''
- LIBOBJS=''
- LIBS=''
- LINUX_HOST_FALSE=''
- LINUX_HOST_TRUE=''
- LTLIBOBJS=''
- MAINT='#'
- MAINTAINER_MODE_FALSE=''
- MAINTAINER_MODE_TRUE='#'
- MAKEINFO='${SHELL} /media/software/breakpad/src/autotools/missing makeinfo'
- MKDIR_P='/bin/mkdir -p'
- OBJEXT='o'
- PACKAGE='breakpad'
- PACKAGE_BUGREPORT='google-breakpad-dev@googlegroups.com'
- PACKAGE_NAME='breakpad'
- PACKAGE_STRING='breakpad 0.1'
- PACKAGE_TARNAME='breakpad'
- PACKAGE_URL=''
- PACKAGE_VERSION='0.1'
- PATH_SEPARATOR=':'
- PTHREAD_CC='gcc'
- PTHREAD_CFLAGS='-pthread'
- PTHREAD_LIBS=''
- RANLIB='ranlib'
- SELFTEST_FALSE=''
- SELFTEST_TRUE=''
- SET_MAKE=''
- SHELL='/bin/bash'
- STRIP=''
- SYSTEM_TEST_LIBS_FALSE=''
- SYSTEM_TEST_LIBS_TRUE=''
- VERSION='0.1'
- X86_HOST_FALSE=''
- X86_HOST_TRUE=''
- ac_ct_AR='ar'
- ac_ct_CC='gcc'
- ac_ct_CXX='g++'
- am__EXEEXT_FALSE=''
- am__EXEEXT_TRUE=''
- am__fastdepCCAS_FALSE='#'
- am__fastdepCCAS_TRUE=''
- am__fastdepCC_FALSE='#'
- am__fastdepCC_TRUE=''
- am__fastdepCXX_FALSE='#'
- am__fastdepCXX_TRUE=''
- am__include='include'
- am__isrc=''
- am__leading_dot='.'
- am__nodep='_no'
- am__quote=''
- am__tar='tar --format=ustar -chf - "$$tardir"'
- am__untar='tar -xf -'
- ax_pthread_config=''
- bindir='${exec_prefix}/bin'
- build='x86_64-pc-linux-gnu'
- build_alias=''
- 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='NONE'
- host='x86_64-pc-linux-gnu'
- host_alias=''
- host_cpu='x86_64'
- host_os='linux-gnu'
- host_vendor='pc'
- htmldir='${docdir}'
- includedir='${prefix}/include'
- infodir='${datarootdir}/info'
- install_sh='${SHELL} /media/software/breakpad/src/autotools/install-sh'
- libdir='${exec_prefix}/lib'
- libexecdir='${exec_prefix}/libexec'
- localedir='${datarootdir}/locale'
- localstatedir='${prefix}/var'
- mandir='${datarootdir}/man'
- mkdir_p='$(MKDIR_P)'
- oldincludedir='/usr/include'
- pdfdir='${docdir}'
- prefix='NONE'
- program_transform_name='s,x,x,'
- psdir='${docdir}'
- sbindir='${exec_prefix}/sbin'
- sharedstatedir='${prefix}/com'
- sysconfdir='${prefix}/etc'
- target_alias=''
- ## ----------- ##
- ## confdefs.h. ##
- ## ----------- ##
- /* confdefs.h */
- #define PACKAGE_NAME "breakpad"
- #define PACKAGE_TARNAME "breakpad"
- #define PACKAGE_VERSION "0.1"
- #define PACKAGE_STRING "breakpad 0.1"
- #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
- #define PACKAGE_URL ""
- #define PACKAGE "breakpad"
- #define VERSION "0.1"
- #define STDC_HEADERS 1
- #define HAVE_PTHREAD 1
- #define HAVE_SYS_TYPES_H 1
- #define HAVE_SYS_STAT_H 1
- #define HAVE_STDLIB_H 1
- #define HAVE_STRING_H 1
- #define HAVE_MEMORY_H 1
- #define HAVE_STRINGS_H 1
- #define HAVE_INTTYPES_H 1
- #define HAVE_STDINT_H 1
- #define HAVE_UNISTD_H 1
- #define HAVE_A_OUT_H 1
- configure: exit 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement