This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by osmo-pcu configure 1.5.0.6-46529, which was generated by GNU Autoconf 2.71. Invocation command line was $ ./configure --prefix=/build/inst-osmo-pcu --with-systemdsystemunitdir=no --enable-sanitize ## --------- ## ## Platform. ## ## --------- ## hostname = dc0a947544f0 uname -m = x86_64 uname -r = 6.1.0-21-amd64 uname -s = Linux uname -v = #1 SMP PREEMPT_DYNAMIC Debian 6.1.90-1 (2024-05-03) /usr/bin/uname -p = unknown /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: /usr/local/sbin/ PATH: /usr/local/bin/ PATH: /usr/sbin/ PATH: /usr/bin/ PATH: /sbin/ PATH: /bin/ ## ----------- ## ## Core tests. ## ## ----------- ## configure:2856: looking for aux files: config.guess config.sub ltmain.sh compile missing install-sh configure:2869: trying ././ configure:2898: ././config.guess found configure:2898: ././config.sub found configure:2898: ././ltmain.sh found configure:2898: ././compile found configure:2898: ././missing found configure:2880: ././install-sh found configure:3030: checking for a BSD-compatible install configure:3103: result: /usr/bin/install -c configure:3114: checking whether build environment is sane configure:3169: result: yes configure:3328: checking for a race-free mkdir -p configure:3372: result: /usr/bin/mkdir -p configure:3379: checking for gawk configure:3400: found /usr/bin/gawk configure:3411: result: gawk configure:3422: checking whether make sets $(MAKE) configure:3445: result: yes configure:3475: checking whether make supports nested variables configure:3493: result: yes configure:3647: checking whether make supports nested variables configure:3665: result: yes configure:3680: checking whether make sets $(MAKE) configure:3703: result: yes configure:3774: checking for gcc configure:3795: found /usr/bin/gcc configure:3806: result: gcc configure:4159: checking for C compiler version configure:4168: gcc --version >&5 gcc (Debian 12.2.0-14) 12.2.0 Copyright (C) 2022 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:4179: $? = 0 configure:4168: gcc -v >&5 Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 12.2.0 (Debian 12.2.0-14) ... rest of stderr output deleted ... configure:4179: $? = 0 configure:4168: gcc -V >&5 gcc: error: unrecognized command-line option '-V' gcc: fatal error: no input files compilation terminated. configure:4179: $? = 1 configure:4168: gcc -qversion >&5 gcc: error: unrecognized command-line option '-qversion'; did you mean '--version'? gcc: fatal error: no input files compilation terminated. configure:4179: $? = 1 configure:4168: gcc -version >&5 gcc: error: unrecognized command-line option '-version' gcc: fatal error: no input files compilation terminated. configure:4179: $? = 1 configure:4199: checking whether the C compiler works configure:4221: gcc -std=gnu11 conftest.c >&5 configure:4225: $? = 0 configure:4275: result: yes configure:4278: checking for C compiler default output file name configure:4280: result: a.out configure:4286: checking for suffix of executables configure:4293: gcc -o conftest -std=gnu11 conftest.c >&5 configure:4297: $? = 0 configure:4320: result: configure:4342: checking whether we are cross compiling configure:4350: gcc -o conftest -std=gnu11 conftest.c >&5 configure:4354: $? = 0 configure:4361: ./conftest configure:4365: $? = 0 configure:4380: result: no configure:4385: checking for suffix of object files configure:4408: gcc -c -std=gnu11 conftest.c >&5 configure:4412: $? = 0 configure:4434: result: o configure:4438: checking whether the compiler supports GNU C configure:4458: gcc -c -std=gnu11 conftest.c >&5 configure:4458: $? = 0 configure:4468: result: yes configure:4479: checking whether gcc accepts -g configure:4500: gcc -c -g conftest.c >&5 configure:4500: $? = 0 configure:4544: result: yes configure:4564: checking for gcc option to enable C11 features configure:4579: gcc -c -std=gnu11 conftest.c >&5 configure:4579: $? = 0 configure:4597: result: none needed configure:4713: checking whether gcc understands -c and -o together configure:4736: gcc -c conftest.c -o conftest2.o configure:4739: $? = 0 configure:4736: gcc -c conftest.c -o conftest2.o configure:4739: $? = 0 configure:4751: result: yes configure:4771: checking whether make supports the include directive configure:4786: make -f confmf.GNU && cat confinc.out this is the am__doit target configure:4789: $? = 0 configure:4808: result: yes (GNU style) configure:4834: checking dependency style of gcc configure:4946: result: gcc3 configure:5030: checking for g++ configure:5051: found /usr/bin/g++ configure:5062: result: g++ configure:5089: checking for C++ compiler version configure:5098: g++ --version >&5 g++ (Debian 12.2.0-14) 12.2.0 Copyright (C) 2022 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:5109: $? = 0 configure:5098: g++ -v >&5 Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 12.2.0 (Debian 12.2.0-14) ... rest of stderr output deleted ... configure:5109: $? = 0 configure:5098: g++ -V >&5 g++: error: unrecognized command-line option '-V' g++: fatal error: no input files compilation terminated. configure:5109: $? = 1 configure:5098: g++ -qversion >&5 g++: error: unrecognized command-line option '-qversion'; did you mean '--version'? g++: fatal error: no input files compilation terminated. configure:5109: $? = 1 configure:5113: checking whether the compiler supports GNU C++ configure:5133: g++ -c -std=gnu++03 conftest.cpp >&5 configure:5133: $? = 0 configure:5143: result: yes configure:5154: checking whether g++ accepts -g configure:5175: g++ -c -g conftest.cpp >&5 configure:5175: $? = 0 configure:5219: result: yes configure:5239: checking for g++ option to enable C++11 features configure:5254: g++ -c -std=gnu++03 conftest.cpp >&5 conftest.cpp:57:3: error: #error "Compiler does not advertise C++11 conformance" 57 | # error "Compiler does not advertise C++11 conformance" | ^~~~~ conftest.cpp:62:3: error: 'constexpr' does not name a type 62 | constexpr int get_val() { return 20; } | ^~~~~~~~~ conftest.cpp:62:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11' conftest.cpp: In constructor 'cxx11test::delegate::delegate()': conftest.cpp:74:30: warning: delegating constructors only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 74 | delegate(): delegate(2354) {} | ^ conftest.cpp: At global scope: conftest.cpp:85:24: warning: override controls (override/final) only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 85 | virtual int getval() override final { return this->n * 2; } | ^ conftest.cpp:85:26: warning: override controls (override/final) only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 85 | virtual int getval() override final { return this->n * 2; } | ^~~~~~~~ conftest.cpp:92:16: warning: defaulted and deleted functions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 92 | nocopy() = default; | ^~~~~~~ conftest.cpp:93:29: warning: defaulted and deleted functions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 93 | nocopy(const nocopy&) = delete; | ^~~~~~ conftest.cpp:94:41: warning: defaulted and deleted functions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 94 | nocopy & operator=(const nocopy&) = delete; | ^~~~~~ conftest.cpp:106:30: error: ISO C++ forbids declaration of 'sum' with no type [-fpermissive] 106 | template auto sum(V first) -> V | ^~~ conftest.cpp:106:25: error: top-level declaration of 'sum' specifies 'auto' 106 | template auto sum(V first) -> V | ^~~~ conftest.cpp:106:46: error: trailing return type only available with '-std=c++11' or '-std=gnu++11' 106 | template auto sum(V first) -> V | ^ conftest.cpp:110:33: warning: variadic templates only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 110 | template auto sum(V first, Args... rest) -> V | ^~~ conftest.cpp:110:69: warning: variadic templates only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 110 | template auto sum(V first, Args... rest) -> V | ^~~~ conftest.cpp:110:48: error: ISO C++ forbids declaration of 'sum' with no type [-fpermissive] 110 | template auto sum(V first, Args... rest) -> V | ^~~ conftest.cpp:110:43: error: top-level declaration of 'sum' specifies 'auto' 110 | template auto sum(V first, Args... rest) -> V | ^~~~ conftest.cpp:110:78: error: trailing return type only available with '-std=c++11' or '-std=gnu++11' 110 | template auto sum(V first, Args... rest) -> V | ^ conftest.cpp: In function 'int main(int, char**)': conftest.cpp:134:8: error: 'a1' does not name a type 134 | auto a1 = 6538; | ^~ conftest.cpp:135:8: error: 'a2' does not name a type 135 | auto a2 = 48573953.4; | ^~ conftest.cpp:136:8: error: 'a3' does not name a type 136 | auto a3 = "String literal"; | ^~ conftest.cpp:139:13: error: 'i' does not name a type 139 | for (auto i = a3; *i; ++i) { total += *i; } | ^ conftest.cpp:139:20: error: expected ';' before '*' token 139 | for (auto i = a3; *i; ++i) { total += *i; } | ^~ | ; conftest.cpp:139:22: error: 'i' was not declared in this scope 139 | for (auto i = a3; *i; ++i) { total += *i; } | ^ conftest.cpp:141:12: error: 'a2' was not declared in this scope 141 | decltype(a2) a4 = 34895.034; | ^~ conftest.cpp:141:3: error: 'decltype' was not declared in this scope 141 | decltype(a2) a4 = 34895.034; | ^~~~~~~~ conftest.cpp:145:23: error: 'get_val' is not a member of 'cxx11test'; did you mean 'eval'? 145 | short sa[cxx11test::get_val()] = { 0 }; | ^~~~~~~ | eval conftest.cpp:155:14: error: ISO C++ forbids declaration of 'x' with no type [-fpermissive] 155 | for (auto &x : array) { x += 23; } | ^ conftest.cpp:155:18: warning: range-based 'for' loops only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 155 | for (auto &x : array) { x += 23; } | ^~~~~ conftest.cpp:160:41: warning: lambda expressions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 160 | assert (eval ([](int x) { return x*2; }, 21) == 42); | ^ conftest.cpp:160:16: error: no matching function for call to 'eval(main(int, char**)::, int)' 160 | assert (eval ([](int x) { return x*2; }, 21) == 42); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:100:44: note: candidate: 'template Ret cxx11test::eval(Fn, Ret)' 100 | template Ret eval(Fn f, Ret v) | ^~~~ conftest.cpp:100:44: note: template argument deduction/substitution failed: conftest.cpp: In substitution of 'template Ret cxx11test::eval(Fn, Ret) [with Ret = int; Fn = main(int, char**)::]': conftest.cpp:160:16: required from here conftest.cpp:160:16: error: template argument for 'template Ret cxx11test::eval(Fn, Ret)' uses local type 'main(int, char**)::' 160 | assert (eval ([](int x) { return x*2; }, 21) == 42); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:160:16: error: trying to instantiate 'template Ret cxx11test::eval(Fn, Ret)' conftest.cpp:162:48: warning: lambda expressions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 162 | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | ^ conftest.cpp:162:16: error: no matching function for call to 'eval(main(int, char**)::, double)' 162 | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:100:44: note: candidate: 'template Ret cxx11test::eval(Fn, Ret)' 100 | template Ret eval(Fn f, Ret v) | ^~~~ conftest.cpp:100:44: note: template argument deduction/substitution failed: conftest.cpp: In substitution of 'template Ret cxx11test::eval(Fn, Ret) [with Ret = double; Fn = main(int, char**)::]': conftest.cpp:162:16: required from here conftest.cpp:162:16: error: template argument for 'template Ret cxx11test::eval(Fn, Ret)' uses local type 'main(int, char**)::' 162 | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:162:16: error: trying to instantiate 'template Ret cxx11test::eval(Fn, Ret)' conftest.cpp:164:56: warning: lambda expressions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 164 | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | ^ conftest.cpp:164:16: error: no matching function for call to 'eval(main(int, char**)::, double)' 164 | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:100:44: note: candidate: 'template Ret cxx11test::eval(Fn, Ret)' 100 | template Ret eval(Fn f, Ret v) | ^~~~ conftest.cpp:100:44: note: template argument deduction/substitution failed: conftest.cpp: In substitution of 'template Ret cxx11test::eval(Fn, Ret) [with Ret = double; Fn = main(int, char**)::]': conftest.cpp:164:16: required from here conftest.cpp:164:16: error: template argument for 'template Ret cxx11test::eval(Fn, Ret)' uses local type 'main(int, char**)::' 164 | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:164:16: error: trying to instantiate 'template Ret cxx11test::eval(Fn, Ret)' conftest.cpp:169:20: error: 'sum' has not been declared in 'cxx11test' 169 | using cxx11test::sum; | ^~~ conftest.cpp:170:8: error: 'a' does not name a type 170 | auto a = sum(1); | ^ conftest.cpp:171:8: error: 'b' does not name a type 171 | auto b = sum(1, 2); | ^ conftest.cpp:172:8: error: 'c' does not name a type 172 | auto c = sum(1.0, 2.0, 3.0); | ^ conftest.cpp:177:25: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 177 | cxx11test::delegate d2(); | ^~ conftest.cpp:177:25: note: remove parentheses to default-initialize a variable 177 | cxx11test::delegate d2(); | ^~ | -- conftest.cpp:186:13: error: 'nullptr' was not declared in this scope 186 | char *c = nullptr; | ^~~~~~~ conftest.cpp:190:36: error: '>>' should be '> >' within a nested template argument list 190 | test_template<::test_template> v(test_template(12)); | ^~ | > > conftest.cpp:190:16: error: '<::' cannot begin a template-argument list [-fpermissive] 190 | test_template<::test_template> v(test_template(12)); | ^~ conftest.cpp:190:16: note: '<:' is an alternate spelling for '['. Insert whitespace between '<' and '::' conftest.cpp:190:16: note: (if you use '-fpermissive' or '-std=c++11', or '-std=gnu++11' G++ will accept your code) conftest.cpp:194:22: error: 'u8' was not declared in this scope; did you mean 'utf8'? 194 | char const *utf8 = u8"UTF-8 string \u2500"; | ^~ | utf8 conftest.cpp:195:3: error: 'char16_t' was not declared in this scope 195 | char16_t const *utf16 = u"UTF-8 string \u2500"; | ^~~~~~~~ conftest.cpp:196:3: error: 'char32_t' was not declared in this scope 196 | char32_t const *utf32 = U"UTF-32 string \u2500"; | ^~~~~~~~ configure:5254: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "osmo-pcu" | #define PACKAGE_TARNAME "osmo-pcu" | #define PACKAGE_VERSION "1.5.0.6-46529" | #define PACKAGE_STRING "osmo-pcu 1.5.0.6-46529" | #define PACKAGE_BUGREPORT "osmocom-net-gprs@lists.osmocom.org" | #define PACKAGE_URL "" | #define PACKAGE "osmo-pcu" | #define VERSION "1.5.0.6-46529" | /* end confdefs.h. */ | | // Does the compiler advertise C++98 conformance? | #if !defined __cplusplus || __cplusplus < 199711L | # error "Compiler does not advertise C++98 conformance" | #endif | | // These inclusions are to reject old compilers that | // lack the unsuffixed header files. | #include | #include | | // and are *not* freestanding headers in C++98. | extern void assert (int); | namespace std { | extern int strcmp (const char *, const char *); | } | | // Namespaces, exceptions, and templates were all added after "C++ 2.0". | using std::exception; | using std::strcmp; | | namespace { | | void test_exception_syntax() | { | try { | throw "test"; | } catch (const char *s) { | // Extra parentheses suppress a warning when building autoconf itself, | // due to lint rules shared with more typical C programs. | assert (!(strcmp) (s, "test")); | } | } | | template struct test_template | { | T const val; | explicit test_template(T t) : val(t) {} | template T add(U u) { return static_cast(u) + val; } | }; | | } // anonymous namespace | | | // Does the compiler advertise C++ 2011 conformance? | #if !defined __cplusplus || __cplusplus < 201103L | # error "Compiler does not advertise C++11 conformance" | #endif | | namespace cxx11test | { | constexpr int get_val() { return 20; } | | struct testinit | { | int i; | double d; | }; | | class delegate | { | public: | delegate(int n) : n(n) {} | delegate(): delegate(2354) {} | | virtual int getval() { return this->n; }; | protected: | int n; | }; | | class overridden : public delegate | { | public: | overridden(int n): delegate(n) {} | virtual int getval() override final { return this->n * 2; } | }; | | class nocopy | { | public: | nocopy(int i): i(i) {} | nocopy() = default; | nocopy(const nocopy&) = delete; | nocopy & operator=(const nocopy&) = delete; | private: | int i; | }; | | // for testing lambda expressions | template Ret eval(Fn f, Ret v) | { | return f(v); | } | | // for testing variadic templates and trailing return types | template auto sum(V first) -> V | { | return first; | } | template auto sum(V first, Args... rest) -> V | { | return first + sum(rest...); | } | } | | | int | main (int argc, char **argv) | { | int ok = 0; | | assert (argc); | assert (! argv[0]); | { | test_exception_syntax (); | test_template tt (2.0); | assert (tt.add (4) == 6.0); | assert (true && !false); | } | | | { | // Test auto and decltype | auto a1 = 6538; | auto a2 = 48573953.4; | auto a3 = "String literal"; | | int total = 0; | for (auto i = a3; *i; ++i) { total += *i; } | | decltype(a2) a4 = 34895.034; | } | { | // Test constexpr | short sa[cxx11test::get_val()] = { 0 }; | } | { | // Test initializer lists | cxx11test::testinit il = { 4323, 435234.23544 }; | } | { | // Test range-based for | int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, | 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; | for (auto &x : array) { x += 23; } | } | { | // Test lambda expressions | using cxx11test::eval; | assert (eval ([](int x) { return x*2; }, 21) == 42); | double d = 2.0; | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | assert (d == 5.0); | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | assert (d == 5.0); | } | { | // Test use of variadic templates | using cxx11test::sum; | auto a = sum(1); | auto b = sum(1, 2); | auto c = sum(1.0, 2.0, 3.0); | } | { | // Test constructor delegation | cxx11test::delegate d1; | cxx11test::delegate d2(); | cxx11test::delegate d3(45); | } | { | // Test override and final | cxx11test::overridden o1(55464); | } | { | // Test nullptr | char *c = nullptr; | } | { | // Test template brackets | test_template<::test_template> v(test_template(12)); | } | { | // Unicode literals | char const *utf8 = u8"UTF-8 string \u2500"; | char16_t const *utf16 = u"UTF-8 string \u2500"; | char32_t const *utf32 = U"UTF-32 string \u2500"; | } | | return ok; | } | configure:5254: g++ -std=gnu++11 -c -std=gnu++03 conftest.cpp >&5 conftest.cpp:57:3: error: #error "Compiler does not advertise C++11 conformance" 57 | # error "Compiler does not advertise C++11 conformance" | ^~~~~ conftest.cpp:62:3: error: 'constexpr' does not name a type 62 | constexpr int get_val() { return 20; } | ^~~~~~~~~ conftest.cpp:62:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11' conftest.cpp: In constructor 'cxx11test::delegate::delegate()': conftest.cpp:74:30: warning: delegating constructors only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 74 | delegate(): delegate(2354) {} | ^ conftest.cpp: At global scope: conftest.cpp:85:24: warning: override controls (override/final) only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 85 | virtual int getval() override final { return this->n * 2; } | ^ conftest.cpp:85:26: warning: override controls (override/final) only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 85 | virtual int getval() override final { return this->n * 2; } | ^~~~~~~~ conftest.cpp:92:16: warning: defaulted and deleted functions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 92 | nocopy() = default; | ^~~~~~~ conftest.cpp:93:29: warning: defaulted and deleted functions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 93 | nocopy(const nocopy&) = delete; | ^~~~~~ conftest.cpp:94:41: warning: defaulted and deleted functions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 94 | nocopy & operator=(const nocopy&) = delete; | ^~~~~~ conftest.cpp:106:30: error: ISO C++ forbids declaration of 'sum' with no type [-fpermissive] 106 | template auto sum(V first) -> V | ^~~ conftest.cpp:106:25: error: top-level declaration of 'sum' specifies 'auto' 106 | template auto sum(V first) -> V | ^~~~ conftest.cpp:106:46: error: trailing return type only available with '-std=c++11' or '-std=gnu++11' 106 | template auto sum(V first) -> V | ^ conftest.cpp:110:33: warning: variadic templates only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 110 | template auto sum(V first, Args... rest) -> V | ^~~ conftest.cpp:110:69: warning: variadic templates only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 110 | template auto sum(V first, Args... rest) -> V | ^~~~ conftest.cpp:110:48: error: ISO C++ forbids declaration of 'sum' with no type [-fpermissive] 110 | template auto sum(V first, Args... rest) -> V | ^~~ conftest.cpp:110:43: error: top-level declaration of 'sum' specifies 'auto' 110 | template auto sum(V first, Args... rest) -> V | ^~~~ conftest.cpp:110:78: error: trailing return type only available with '-std=c++11' or '-std=gnu++11' 110 | template auto sum(V first, Args... rest) -> V | ^ conftest.cpp: In function 'int main(int, char**)': conftest.cpp:134:8: error: 'a1' does not name a type 134 | auto a1 = 6538; | ^~ conftest.cpp:135:8: error: 'a2' does not name a type 135 | auto a2 = 48573953.4; | ^~ conftest.cpp:136:8: error: 'a3' does not name a type 136 | auto a3 = "String literal"; | ^~ conftest.cpp:139:13: error: 'i' does not name a type 139 | for (auto i = a3; *i; ++i) { total += *i; } | ^ conftest.cpp:139:20: error: expected ';' before '*' token 139 | for (auto i = a3; *i; ++i) { total += *i; } | ^~ | ; conftest.cpp:139:22: error: 'i' was not declared in this scope 139 | for (auto i = a3; *i; ++i) { total += *i; } | ^ conftest.cpp:141:12: error: 'a2' was not declared in this scope 141 | decltype(a2) a4 = 34895.034; | ^~ conftest.cpp:141:3: error: 'decltype' was not declared in this scope 141 | decltype(a2) a4 = 34895.034; | ^~~~~~~~ conftest.cpp:145:23: error: 'get_val' is not a member of 'cxx11test'; did you mean 'eval'? 145 | short sa[cxx11test::get_val()] = { 0 }; | ^~~~~~~ | eval conftest.cpp:155:14: error: ISO C++ forbids declaration of 'x' with no type [-fpermissive] 155 | for (auto &x : array) { x += 23; } | ^ conftest.cpp:155:18: warning: range-based 'for' loops only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 155 | for (auto &x : array) { x += 23; } | ^~~~~ conftest.cpp:160:41: warning: lambda expressions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 160 | assert (eval ([](int x) { return x*2; }, 21) == 42); | ^ conftest.cpp:160:16: error: no matching function for call to 'eval(main(int, char**)::, int)' 160 | assert (eval ([](int x) { return x*2; }, 21) == 42); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:100:44: note: candidate: 'template Ret cxx11test::eval(Fn, Ret)' 100 | template Ret eval(Fn f, Ret v) | ^~~~ conftest.cpp:100:44: note: template argument deduction/substitution failed: conftest.cpp: In substitution of 'template Ret cxx11test::eval(Fn, Ret) [with Ret = int; Fn = main(int, char**)::]': conftest.cpp:160:16: required from here conftest.cpp:160:16: error: template argument for 'template Ret cxx11test::eval(Fn, Ret)' uses local type 'main(int, char**)::' 160 | assert (eval ([](int x) { return x*2; }, 21) == 42); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:160:16: error: trying to instantiate 'template Ret cxx11test::eval(Fn, Ret)' conftest.cpp:162:48: warning: lambda expressions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 162 | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | ^ conftest.cpp:162:16: error: no matching function for call to 'eval(main(int, char**)::, double)' 162 | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:100:44: note: candidate: 'template Ret cxx11test::eval(Fn, Ret)' 100 | template Ret eval(Fn f, Ret v) | ^~~~ conftest.cpp:100:44: note: template argument deduction/substitution failed: conftest.cpp: In substitution of 'template Ret cxx11test::eval(Fn, Ret) [with Ret = double; Fn = main(int, char**)::]': conftest.cpp:162:16: required from here conftest.cpp:162:16: error: template argument for 'template Ret cxx11test::eval(Fn, Ret)' uses local type 'main(int, char**)::' 162 | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:162:16: error: trying to instantiate 'template Ret cxx11test::eval(Fn, Ret)' conftest.cpp:164:56: warning: lambda expressions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 164 | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | ^ conftest.cpp:164:16: error: no matching function for call to 'eval(main(int, char**)::, double)' 164 | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:100:44: note: candidate: 'template Ret cxx11test::eval(Fn, Ret)' 100 | template Ret eval(Fn f, Ret v) | ^~~~ conftest.cpp:100:44: note: template argument deduction/substitution failed: conftest.cpp: In substitution of 'template Ret cxx11test::eval(Fn, Ret) [with Ret = double; Fn = main(int, char**)::]': conftest.cpp:164:16: required from here conftest.cpp:164:16: error: template argument for 'template Ret cxx11test::eval(Fn, Ret)' uses local type 'main(int, char**)::' 164 | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:164:16: error: trying to instantiate 'template Ret cxx11test::eval(Fn, Ret)' conftest.cpp:169:20: error: 'sum' has not been declared in 'cxx11test' 169 | using cxx11test::sum; | ^~~ conftest.cpp:170:8: error: 'a' does not name a type 170 | auto a = sum(1); | ^ conftest.cpp:171:8: error: 'b' does not name a type 171 | auto b = sum(1, 2); | ^ conftest.cpp:172:8: error: 'c' does not name a type 172 | auto c = sum(1.0, 2.0, 3.0); | ^ conftest.cpp:177:25: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 177 | cxx11test::delegate d2(); | ^~ conftest.cpp:177:25: note: remove parentheses to default-initialize a variable 177 | cxx11test::delegate d2(); | ^~ | -- conftest.cpp:186:13: error: 'nullptr' was not declared in this scope 186 | char *c = nullptr; | ^~~~~~~ conftest.cpp:190:36: error: '>>' should be '> >' within a nested template argument list 190 | test_template<::test_template> v(test_template(12)); | ^~ | > > conftest.cpp:190:16: error: '<::' cannot begin a template-argument list [-fpermissive] 190 | test_template<::test_template> v(test_template(12)); | ^~ conftest.cpp:190:16: note: '<:' is an alternate spelling for '['. Insert whitespace between '<' and '::' conftest.cpp:190:16: note: (if you use '-fpermissive' or '-std=c++11', or '-std=gnu++11' G++ will accept your code) conftest.cpp:194:22: error: 'u8' was not declared in this scope; did you mean 'utf8'? 194 | char const *utf8 = u8"UTF-8 string \u2500"; | ^~ | utf8 conftest.cpp:195:3: error: 'char16_t' was not declared in this scope 195 | char16_t const *utf16 = u"UTF-8 string \u2500"; | ^~~~~~~~ conftest.cpp:196:3: error: 'char32_t' was not declared in this scope 196 | char32_t const *utf32 = U"UTF-32 string \u2500"; | ^~~~~~~~ configure:5254: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "osmo-pcu" | #define PACKAGE_TARNAME "osmo-pcu" | #define PACKAGE_VERSION "1.5.0.6-46529" | #define PACKAGE_STRING "osmo-pcu 1.5.0.6-46529" | #define PACKAGE_BUGREPORT "osmocom-net-gprs@lists.osmocom.org" | #define PACKAGE_URL "" | #define PACKAGE "osmo-pcu" | #define VERSION "1.5.0.6-46529" | /* end confdefs.h. */ | | // Does the compiler advertise C++98 conformance? | #if !defined __cplusplus || __cplusplus < 199711L | # error "Compiler does not advertise C++98 conformance" | #endif | | // These inclusions are to reject old compilers that | // lack the unsuffixed header files. | #include | #include | | // and are *not* freestanding headers in C++98. | extern void assert (int); | namespace std { | extern int strcmp (const char *, const char *); | } | | // Namespaces, exceptions, and templates were all added after "C++ 2.0". | using std::exception; | using std::strcmp; | | namespace { | | void test_exception_syntax() | { | try { | throw "test"; | } catch (const char *s) { | // Extra parentheses suppress a warning when building autoconf itself, | // due to lint rules shared with more typical C programs. | assert (!(strcmp) (s, "test")); | } | } | | template struct test_template | { | T const val; | explicit test_template(T t) : val(t) {} | template T add(U u) { return static_cast(u) + val; } | }; | | } // anonymous namespace | | | // Does the compiler advertise C++ 2011 conformance? | #if !defined __cplusplus || __cplusplus < 201103L | # error "Compiler does not advertise C++11 conformance" | #endif | | namespace cxx11test | { | constexpr int get_val() { return 20; } | | struct testinit | { | int i; | double d; | }; | | class delegate | { | public: | delegate(int n) : n(n) {} | delegate(): delegate(2354) {} | | virtual int getval() { return this->n; }; | protected: | int n; | }; | | class overridden : public delegate | { | public: | overridden(int n): delegate(n) {} | virtual int getval() override final { return this->n * 2; } | }; | | class nocopy | { | public: | nocopy(int i): i(i) {} | nocopy() = default; | nocopy(const nocopy&) = delete; | nocopy & operator=(const nocopy&) = delete; | private: | int i; | }; | | // for testing lambda expressions | template Ret eval(Fn f, Ret v) | { | return f(v); | } | | // for testing variadic templates and trailing return types | template auto sum(V first) -> V | { | return first; | } | template auto sum(V first, Args... rest) -> V | { | return first + sum(rest...); | } | } | | | int | main (int argc, char **argv) | { | int ok = 0; | | assert (argc); | assert (! argv[0]); | { | test_exception_syntax (); | test_template tt (2.0); | assert (tt.add (4) == 6.0); | assert (true && !false); | } | | | { | // Test auto and decltype | auto a1 = 6538; | auto a2 = 48573953.4; | auto a3 = "String literal"; | | int total = 0; | for (auto i = a3; *i; ++i) { total += *i; } | | decltype(a2) a4 = 34895.034; | } | { | // Test constexpr | short sa[cxx11test::get_val()] = { 0 }; | } | { | // Test initializer lists | cxx11test::testinit il = { 4323, 435234.23544 }; | } | { | // Test range-based for | int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, | 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; | for (auto &x : array) { x += 23; } | } | { | // Test lambda expressions | using cxx11test::eval; | assert (eval ([](int x) { return x*2; }, 21) == 42); | double d = 2.0; | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | assert (d == 5.0); | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | assert (d == 5.0); | } | { | // Test use of variadic templates | using cxx11test::sum; | auto a = sum(1); | auto b = sum(1, 2); | auto c = sum(1.0, 2.0, 3.0); | } | { | // Test constructor delegation | cxx11test::delegate d1; | cxx11test::delegate d2(); | cxx11test::delegate d3(45); | } | { | // Test override and final | cxx11test::overridden o1(55464); | } | { | // Test nullptr | char *c = nullptr; | } | { | // Test template brackets | test_template<::test_template> v(test_template(12)); | } | { | // Unicode literals | char const *utf8 = u8"UTF-8 string \u2500"; | char16_t const *utf16 = u"UTF-8 string \u2500"; | char32_t const *utf32 = U"UTF-32 string \u2500"; | } | | return ok; | } | configure:5254: g++ -std=gnu++0x -c -std=gnu++03 conftest.cpp >&5 conftest.cpp:57:3: error: #error "Compiler does not advertise C++11 conformance" 57 | # error "Compiler does not advertise C++11 conformance" | ^~~~~ conftest.cpp:62:3: error: 'constexpr' does not name a type 62 | constexpr int get_val() { return 20; } | ^~~~~~~~~ conftest.cpp:62:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11' conftest.cpp: In constructor 'cxx11test::delegate::delegate()': conftest.cpp:74:30: warning: delegating constructors only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 74 | delegate(): delegate(2354) {} | ^ conftest.cpp: At global scope: conftest.cpp:85:24: warning: override controls (override/final) only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 85 | virtual int getval() override final { return this->n * 2; } | ^ conftest.cpp:85:26: warning: override controls (override/final) only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 85 | virtual int getval() override final { return this->n * 2; } | ^~~~~~~~ conftest.cpp:92:16: warning: defaulted and deleted functions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 92 | nocopy() = default; | ^~~~~~~ conftest.cpp:93:29: warning: defaulted and deleted functions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 93 | nocopy(const nocopy&) = delete; | ^~~~~~ conftest.cpp:94:41: warning: defaulted and deleted functions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 94 | nocopy & operator=(const nocopy&) = delete; | ^~~~~~ conftest.cpp:106:30: error: ISO C++ forbids declaration of 'sum' with no type [-fpermissive] 106 | template auto sum(V first) -> V | ^~~ conftest.cpp:106:25: error: top-level declaration of 'sum' specifies 'auto' 106 | template auto sum(V first) -> V | ^~~~ conftest.cpp:106:46: error: trailing return type only available with '-std=c++11' or '-std=gnu++11' 106 | template auto sum(V first) -> V | ^ conftest.cpp:110:33: warning: variadic templates only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 110 | template auto sum(V first, Args... rest) -> V | ^~~ conftest.cpp:110:69: warning: variadic templates only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 110 | template auto sum(V first, Args... rest) -> V | ^~~~ conftest.cpp:110:48: error: ISO C++ forbids declaration of 'sum' with no type [-fpermissive] 110 | template auto sum(V first, Args... rest) -> V | ^~~ conftest.cpp:110:43: error: top-level declaration of 'sum' specifies 'auto' 110 | template auto sum(V first, Args... rest) -> V | ^~~~ conftest.cpp:110:78: error: trailing return type only available with '-std=c++11' or '-std=gnu++11' 110 | template auto sum(V first, Args... rest) -> V | ^ conftest.cpp: In function 'int main(int, char**)': conftest.cpp:134:8: error: 'a1' does not name a type 134 | auto a1 = 6538; | ^~ conftest.cpp:135:8: error: 'a2' does not name a type 135 | auto a2 = 48573953.4; | ^~ conftest.cpp:136:8: error: 'a3' does not name a type 136 | auto a3 = "String literal"; | ^~ conftest.cpp:139:13: error: 'i' does not name a type 139 | for (auto i = a3; *i; ++i) { total += *i; } | ^ conftest.cpp:139:20: error: expected ';' before '*' token 139 | for (auto i = a3; *i; ++i) { total += *i; } | ^~ | ; conftest.cpp:139:22: error: 'i' was not declared in this scope 139 | for (auto i = a3; *i; ++i) { total += *i; } | ^ conftest.cpp:141:12: error: 'a2' was not declared in this scope 141 | decltype(a2) a4 = 34895.034; | ^~ conftest.cpp:141:3: error: 'decltype' was not declared in this scope 141 | decltype(a2) a4 = 34895.034; | ^~~~~~~~ conftest.cpp:145:23: error: 'get_val' is not a member of 'cxx11test'; did you mean 'eval'? 145 | short sa[cxx11test::get_val()] = { 0 }; | ^~~~~~~ | eval conftest.cpp:155:14: error: ISO C++ forbids declaration of 'x' with no type [-fpermissive] 155 | for (auto &x : array) { x += 23; } | ^ conftest.cpp:155:18: warning: range-based 'for' loops only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 155 | for (auto &x : array) { x += 23; } | ^~~~~ conftest.cpp:160:41: warning: lambda expressions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 160 | assert (eval ([](int x) { return x*2; }, 21) == 42); | ^ conftest.cpp:160:16: error: no matching function for call to 'eval(main(int, char**)::, int)' 160 | assert (eval ([](int x) { return x*2; }, 21) == 42); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:100:44: note: candidate: 'template Ret cxx11test::eval(Fn, Ret)' 100 | template Ret eval(Fn f, Ret v) | ^~~~ conftest.cpp:100:44: note: template argument deduction/substitution failed: conftest.cpp: In substitution of 'template Ret cxx11test::eval(Fn, Ret) [with Ret = int; Fn = main(int, char**)::]': conftest.cpp:160:16: required from here conftest.cpp:160:16: error: template argument for 'template Ret cxx11test::eval(Fn, Ret)' uses local type 'main(int, char**)::' 160 | assert (eval ([](int x) { return x*2; }, 21) == 42); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:160:16: error: trying to instantiate 'template Ret cxx11test::eval(Fn, Ret)' conftest.cpp:162:48: warning: lambda expressions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 162 | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | ^ conftest.cpp:162:16: error: no matching function for call to 'eval(main(int, char**)::, double)' 162 | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:100:44: note: candidate: 'template Ret cxx11test::eval(Fn, Ret)' 100 | template Ret eval(Fn f, Ret v) | ^~~~ conftest.cpp:100:44: note: template argument deduction/substitution failed: conftest.cpp: In substitution of 'template Ret cxx11test::eval(Fn, Ret) [with Ret = double; Fn = main(int, char**)::]': conftest.cpp:162:16: required from here conftest.cpp:162:16: error: template argument for 'template Ret cxx11test::eval(Fn, Ret)' uses local type 'main(int, char**)::' 162 | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:162:16: error: trying to instantiate 'template Ret cxx11test::eval(Fn, Ret)' conftest.cpp:164:56: warning: lambda expressions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 164 | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | ^ conftest.cpp:164:16: error: no matching function for call to 'eval(main(int, char**)::, double)' 164 | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:100:44: note: candidate: 'template Ret cxx11test::eval(Fn, Ret)' 100 | template Ret eval(Fn f, Ret v) | ^~~~ conftest.cpp:100:44: note: template argument deduction/substitution failed: conftest.cpp: In substitution of 'template Ret cxx11test::eval(Fn, Ret) [with Ret = double; Fn = main(int, char**)::]': conftest.cpp:164:16: required from here conftest.cpp:164:16: error: template argument for 'template Ret cxx11test::eval(Fn, Ret)' uses local type 'main(int, char**)::' 164 | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:164:16: error: trying to instantiate 'template Ret cxx11test::eval(Fn, Ret)' conftest.cpp:169:20: error: 'sum' has not been declared in 'cxx11test' 169 | using cxx11test::sum; | ^~~ conftest.cpp:170:8: error: 'a' does not name a type 170 | auto a = sum(1); | ^ conftest.cpp:171:8: error: 'b' does not name a type 171 | auto b = sum(1, 2); | ^ conftest.cpp:172:8: error: 'c' does not name a type 172 | auto c = sum(1.0, 2.0, 3.0); | ^ conftest.cpp:177:25: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 177 | cxx11test::delegate d2(); | ^~ conftest.cpp:177:25: note: remove parentheses to default-initialize a variable 177 | cxx11test::delegate d2(); | ^~ | -- conftest.cpp:186:13: error: 'nullptr' was not declared in this scope 186 | char *c = nullptr; | ^~~~~~~ conftest.cpp:190:36: error: '>>' should be '> >' within a nested template argument list 190 | test_template<::test_template> v(test_template(12)); | ^~ | > > conftest.cpp:190:16: error: '<::' cannot begin a template-argument list [-fpermissive] 190 | test_template<::test_template> v(test_template(12)); | ^~ conftest.cpp:190:16: note: '<:' is an alternate spelling for '['. Insert whitespace between '<' and '::' conftest.cpp:190:16: note: (if you use '-fpermissive' or '-std=c++11', or '-std=gnu++11' G++ will accept your code) conftest.cpp:194:22: error: 'u8' was not declared in this scope; did you mean 'utf8'? 194 | char const *utf8 = u8"UTF-8 string \u2500"; | ^~ | utf8 conftest.cpp:195:3: error: 'char16_t' was not declared in this scope 195 | char16_t const *utf16 = u"UTF-8 string \u2500"; | ^~~~~~~~ conftest.cpp:196:3: error: 'char32_t' was not declared in this scope 196 | char32_t const *utf32 = U"UTF-32 string \u2500"; | ^~~~~~~~ configure:5254: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "osmo-pcu" | #define PACKAGE_TARNAME "osmo-pcu" | #define PACKAGE_VERSION "1.5.0.6-46529" | #define PACKAGE_STRING "osmo-pcu 1.5.0.6-46529" | #define PACKAGE_BUGREPORT "osmocom-net-gprs@lists.osmocom.org" | #define PACKAGE_URL "" | #define PACKAGE "osmo-pcu" | #define VERSION "1.5.0.6-46529" | /* end confdefs.h. */ | | // Does the compiler advertise C++98 conformance? | #if !defined __cplusplus || __cplusplus < 199711L | # error "Compiler does not advertise C++98 conformance" | #endif | | // These inclusions are to reject old compilers that | // lack the unsuffixed header files. | #include | #include | | // and are *not* freestanding headers in C++98. | extern void assert (int); | namespace std { | extern int strcmp (const char *, const char *); | } | | // Namespaces, exceptions, and templates were all added after "C++ 2.0". | using std::exception; | using std::strcmp; | | namespace { | | void test_exception_syntax() | { | try { | throw "test"; | } catch (const char *s) { | // Extra parentheses suppress a warning when building autoconf itself, | // due to lint rules shared with more typical C programs. | assert (!(strcmp) (s, "test")); | } | } | | template struct test_template | { | T const val; | explicit test_template(T t) : val(t) {} | template T add(U u) { return static_cast(u) + val; } | }; | | } // anonymous namespace | | | // Does the compiler advertise C++ 2011 conformance? | #if !defined __cplusplus || __cplusplus < 201103L | # error "Compiler does not advertise C++11 conformance" | #endif | | namespace cxx11test | { | constexpr int get_val() { return 20; } | | struct testinit | { | int i; | double d; | }; | | class delegate | { | public: | delegate(int n) : n(n) {} | delegate(): delegate(2354) {} | | virtual int getval() { return this->n; }; | protected: | int n; | }; | | class overridden : public delegate | { | public: | overridden(int n): delegate(n) {} | virtual int getval() override final { return this->n * 2; } | }; | | class nocopy | { | public: | nocopy(int i): i(i) {} | nocopy() = default; | nocopy(const nocopy&) = delete; | nocopy & operator=(const nocopy&) = delete; | private: | int i; | }; | | // for testing lambda expressions | template Ret eval(Fn f, Ret v) | { | return f(v); | } | | // for testing variadic templates and trailing return types | template auto sum(V first) -> V | { | return first; | } | template auto sum(V first, Args... rest) -> V | { | return first + sum(rest...); | } | } | | | int | main (int argc, char **argv) | { | int ok = 0; | | assert (argc); | assert (! argv[0]); | { | test_exception_syntax (); | test_template tt (2.0); | assert (tt.add (4) == 6.0); | assert (true && !false); | } | | | { | // Test auto and decltype | auto a1 = 6538; | auto a2 = 48573953.4; | auto a3 = "String literal"; | | int total = 0; | for (auto i = a3; *i; ++i) { total += *i; } | | decltype(a2) a4 = 34895.034; | } | { | // Test constexpr | short sa[cxx11test::get_val()] = { 0 }; | } | { | // Test initializer lists | cxx11test::testinit il = { 4323, 435234.23544 }; | } | { | // Test range-based for | int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, | 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; | for (auto &x : array) { x += 23; } | } | { | // Test lambda expressions | using cxx11test::eval; | assert (eval ([](int x) { return x*2; }, 21) == 42); | double d = 2.0; | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | assert (d == 5.0); | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | assert (d == 5.0); | } | { | // Test use of variadic templates | using cxx11test::sum; | auto a = sum(1); | auto b = sum(1, 2); | auto c = sum(1.0, 2.0, 3.0); | } | { | // Test constructor delegation | cxx11test::delegate d1; | cxx11test::delegate d2(); | cxx11test::delegate d3(45); | } | { | // Test override and final | cxx11test::overridden o1(55464); | } | { | // Test nullptr | char *c = nullptr; | } | { | // Test template brackets | test_template<::test_template> v(test_template(12)); | } | { | // Unicode literals | char const *utf8 = u8"UTF-8 string \u2500"; | char16_t const *utf16 = u"UTF-8 string \u2500"; | char32_t const *utf32 = U"UTF-32 string \u2500"; | } | | return ok; | } | configure:5254: g++ -std=c++11 -c -std=gnu++03 conftest.cpp >&5 conftest.cpp:57:3: error: #error "Compiler does not advertise C++11 conformance" 57 | # error "Compiler does not advertise C++11 conformance" | ^~~~~ conftest.cpp:62:3: error: 'constexpr' does not name a type 62 | constexpr int get_val() { return 20; } | ^~~~~~~~~ conftest.cpp:62:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11' conftest.cpp: In constructor 'cxx11test::delegate::delegate()': conftest.cpp:74:30: warning: delegating constructors only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 74 | delegate(): delegate(2354) {} | ^ conftest.cpp: At global scope: conftest.cpp:85:24: warning: override controls (override/final) only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 85 | virtual int getval() override final { return this->n * 2; } | ^ conftest.cpp:85:26: warning: override controls (override/final) only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 85 | virtual int getval() override final { return this->n * 2; } | ^~~~~~~~ conftest.cpp:92:16: warning: defaulted and deleted functions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 92 | nocopy() = default; | ^~~~~~~ conftest.cpp:93:29: warning: defaulted and deleted functions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 93 | nocopy(const nocopy&) = delete; | ^~~~~~ conftest.cpp:94:41: warning: defaulted and deleted functions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 94 | nocopy & operator=(const nocopy&) = delete; | ^~~~~~ conftest.cpp:106:30: error: ISO C++ forbids declaration of 'sum' with no type [-fpermissive] 106 | template auto sum(V first) -> V | ^~~ conftest.cpp:106:25: error: top-level declaration of 'sum' specifies 'auto' 106 | template auto sum(V first) -> V | ^~~~ conftest.cpp:106:46: error: trailing return type only available with '-std=c++11' or '-std=gnu++11' 106 | template auto sum(V first) -> V | ^ conftest.cpp:110:33: warning: variadic templates only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 110 | template auto sum(V first, Args... rest) -> V | ^~~ conftest.cpp:110:69: warning: variadic templates only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 110 | template auto sum(V first, Args... rest) -> V | ^~~~ conftest.cpp:110:48: error: ISO C++ forbids declaration of 'sum' with no type [-fpermissive] 110 | template auto sum(V first, Args... rest) -> V | ^~~ conftest.cpp:110:43: error: top-level declaration of 'sum' specifies 'auto' 110 | template auto sum(V first, Args... rest) -> V | ^~~~ conftest.cpp:110:78: error: trailing return type only available with '-std=c++11' or '-std=gnu++11' 110 | template auto sum(V first, Args... rest) -> V | ^ conftest.cpp: In function 'int main(int, char**)': conftest.cpp:134:8: error: 'a1' does not name a type 134 | auto a1 = 6538; | ^~ conftest.cpp:135:8: error: 'a2' does not name a type 135 | auto a2 = 48573953.4; | ^~ conftest.cpp:136:8: error: 'a3' does not name a type 136 | auto a3 = "String literal"; | ^~ conftest.cpp:139:13: error: 'i' does not name a type 139 | for (auto i = a3; *i; ++i) { total += *i; } | ^ conftest.cpp:139:20: error: expected ';' before '*' token 139 | for (auto i = a3; *i; ++i) { total += *i; } | ^~ | ; conftest.cpp:139:22: error: 'i' was not declared in this scope 139 | for (auto i = a3; *i; ++i) { total += *i; } | ^ conftest.cpp:141:12: error: 'a2' was not declared in this scope 141 | decltype(a2) a4 = 34895.034; | ^~ conftest.cpp:141:3: error: 'decltype' was not declared in this scope 141 | decltype(a2) a4 = 34895.034; | ^~~~~~~~ conftest.cpp:145:23: error: 'get_val' is not a member of 'cxx11test'; did you mean 'eval'? 145 | short sa[cxx11test::get_val()] = { 0 }; | ^~~~~~~ | eval conftest.cpp:155:14: error: ISO C++ forbids declaration of 'x' with no type [-fpermissive] 155 | for (auto &x : array) { x += 23; } | ^ conftest.cpp:155:18: warning: range-based 'for' loops only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 155 | for (auto &x : array) { x += 23; } | ^~~~~ conftest.cpp:160:41: warning: lambda expressions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 160 | assert (eval ([](int x) { return x*2; }, 21) == 42); | ^ conftest.cpp:160:16: error: no matching function for call to 'eval(main(int, char**)::, int)' 160 | assert (eval ([](int x) { return x*2; }, 21) == 42); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:100:44: note: candidate: 'template Ret cxx11test::eval(Fn, Ret)' 100 | template Ret eval(Fn f, Ret v) | ^~~~ conftest.cpp:100:44: note: template argument deduction/substitution failed: conftest.cpp: In substitution of 'template Ret cxx11test::eval(Fn, Ret) [with Ret = int; Fn = main(int, char**)::]': conftest.cpp:160:16: required from here conftest.cpp:160:16: error: template argument for 'template Ret cxx11test::eval(Fn, Ret)' uses local type 'main(int, char**)::' 160 | assert (eval ([](int x) { return x*2; }, 21) == 42); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:160:16: error: trying to instantiate 'template Ret cxx11test::eval(Fn, Ret)' conftest.cpp:162:48: warning: lambda expressions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 162 | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | ^ conftest.cpp:162:16: error: no matching function for call to 'eval(main(int, char**)::, double)' 162 | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:100:44: note: candidate: 'template Ret cxx11test::eval(Fn, Ret)' 100 | template Ret eval(Fn f, Ret v) | ^~~~ conftest.cpp:100:44: note: template argument deduction/substitution failed: conftest.cpp: In substitution of 'template Ret cxx11test::eval(Fn, Ret) [with Ret = double; Fn = main(int, char**)::]': conftest.cpp:162:16: required from here conftest.cpp:162:16: error: template argument for 'template Ret cxx11test::eval(Fn, Ret)' uses local type 'main(int, char**)::' 162 | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:162:16: error: trying to instantiate 'template Ret cxx11test::eval(Fn, Ret)' conftest.cpp:164:56: warning: lambda expressions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 164 | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | ^ conftest.cpp:164:16: error: no matching function for call to 'eval(main(int, char**)::, double)' 164 | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:100:44: note: candidate: 'template Ret cxx11test::eval(Fn, Ret)' 100 | template Ret eval(Fn f, Ret v) | ^~~~ conftest.cpp:100:44: note: template argument deduction/substitution failed: conftest.cpp: In substitution of 'template Ret cxx11test::eval(Fn, Ret) [with Ret = double; Fn = main(int, char**)::]': conftest.cpp:164:16: required from here conftest.cpp:164:16: error: template argument for 'template Ret cxx11test::eval(Fn, Ret)' uses local type 'main(int, char**)::' 164 | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:164:16: error: trying to instantiate 'template Ret cxx11test::eval(Fn, Ret)' conftest.cpp:169:20: error: 'sum' has not been declared in 'cxx11test' 169 | using cxx11test::sum; | ^~~ conftest.cpp:170:8: error: 'a' does not name a type 170 | auto a = sum(1); | ^ conftest.cpp:171:8: error: 'b' does not name a type 171 | auto b = sum(1, 2); | ^ conftest.cpp:172:8: error: 'c' does not name a type 172 | auto c = sum(1.0, 2.0, 3.0); | ^ conftest.cpp:177:25: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 177 | cxx11test::delegate d2(); | ^~ conftest.cpp:177:25: note: remove parentheses to default-initialize a variable 177 | cxx11test::delegate d2(); | ^~ | -- conftest.cpp:186:13: error: 'nullptr' was not declared in this scope 186 | char *c = nullptr; | ^~~~~~~ conftest.cpp:190:36: error: '>>' should be '> >' within a nested template argument list 190 | test_template<::test_template> v(test_template(12)); | ^~ | > > conftest.cpp:190:16: error: '<::' cannot begin a template-argument list [-fpermissive] 190 | test_template<::test_template> v(test_template(12)); | ^~ conftest.cpp:190:16: note: '<:' is an alternate spelling for '['. Insert whitespace between '<' and '::' conftest.cpp:190:16: note: (if you use '-fpermissive' or '-std=c++11', or '-std=gnu++11' G++ will accept your code) conftest.cpp:194:22: error: 'u8' was not declared in this scope; did you mean 'utf8'? 194 | char const *utf8 = u8"UTF-8 string \u2500"; | ^~ | utf8 conftest.cpp:195:3: error: 'char16_t' was not declared in this scope 195 | char16_t const *utf16 = u"UTF-8 string \u2500"; | ^~~~~~~~ conftest.cpp:196:3: error: 'char32_t' was not declared in this scope 196 | char32_t const *utf32 = U"UTF-32 string \u2500"; | ^~~~~~~~ configure:5254: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "osmo-pcu" | #define PACKAGE_TARNAME "osmo-pcu" | #define PACKAGE_VERSION "1.5.0.6-46529" | #define PACKAGE_STRING "osmo-pcu 1.5.0.6-46529" | #define PACKAGE_BUGREPORT "osmocom-net-gprs@lists.osmocom.org" | #define PACKAGE_URL "" | #define PACKAGE "osmo-pcu" | #define VERSION "1.5.0.6-46529" | /* end confdefs.h. */ | | // Does the compiler advertise C++98 conformance? | #if !defined __cplusplus || __cplusplus < 199711L | # error "Compiler does not advertise C++98 conformance" | #endif | | // These inclusions are to reject old compilers that | // lack the unsuffixed header files. | #include | #include | | // and are *not* freestanding headers in C++98. | extern void assert (int); | namespace std { | extern int strcmp (const char *, const char *); | } | | // Namespaces, exceptions, and templates were all added after "C++ 2.0". | using std::exception; | using std::strcmp; | | namespace { | | void test_exception_syntax() | { | try { | throw "test"; | } catch (const char *s) { | // Extra parentheses suppress a warning when building autoconf itself, | // due to lint rules shared with more typical C programs. | assert (!(strcmp) (s, "test")); | } | } | | template struct test_template | { | T const val; | explicit test_template(T t) : val(t) {} | template T add(U u) { return static_cast(u) + val; } | }; | | } // anonymous namespace | | | // Does the compiler advertise C++ 2011 conformance? | #if !defined __cplusplus || __cplusplus < 201103L | # error "Compiler does not advertise C++11 conformance" | #endif | | namespace cxx11test | { | constexpr int get_val() { return 20; } | | struct testinit | { | int i; | double d; | }; | | class delegate | { | public: | delegate(int n) : n(n) {} | delegate(): delegate(2354) {} | | virtual int getval() { return this->n; }; | protected: | int n; | }; | | class overridden : public delegate | { | public: | overridden(int n): delegate(n) {} | virtual int getval() override final { return this->n * 2; } | }; | | class nocopy | { | public: | nocopy(int i): i(i) {} | nocopy() = default; | nocopy(const nocopy&) = delete; | nocopy & operator=(const nocopy&) = delete; | private: | int i; | }; | | // for testing lambda expressions | template Ret eval(Fn f, Ret v) | { | return f(v); | } | | // for testing variadic templates and trailing return types | template auto sum(V first) -> V | { | return first; | } | template auto sum(V first, Args... rest) -> V | { | return first + sum(rest...); | } | } | | | int | main (int argc, char **argv) | { | int ok = 0; | | assert (argc); | assert (! argv[0]); | { | test_exception_syntax (); | test_template tt (2.0); | assert (tt.add (4) == 6.0); | assert (true && !false); | } | | | { | // Test auto and decltype | auto a1 = 6538; | auto a2 = 48573953.4; | auto a3 = "String literal"; | | int total = 0; | for (auto i = a3; *i; ++i) { total += *i; } | | decltype(a2) a4 = 34895.034; | } | { | // Test constexpr | short sa[cxx11test::get_val()] = { 0 }; | } | { | // Test initializer lists | cxx11test::testinit il = { 4323, 435234.23544 }; | } | { | // Test range-based for | int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, | 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; | for (auto &x : array) { x += 23; } | } | { | // Test lambda expressions | using cxx11test::eval; | assert (eval ([](int x) { return x*2; }, 21) == 42); | double d = 2.0; | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | assert (d == 5.0); | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | assert (d == 5.0); | } | { | // Test use of variadic templates | using cxx11test::sum; | auto a = sum(1); | auto b = sum(1, 2); | auto c = sum(1.0, 2.0, 3.0); | } | { | // Test constructor delegation | cxx11test::delegate d1; | cxx11test::delegate d2(); | cxx11test::delegate d3(45); | } | { | // Test override and final | cxx11test::overridden o1(55464); | } | { | // Test nullptr | char *c = nullptr; | } | { | // Test template brackets | test_template<::test_template> v(test_template(12)); | } | { | // Unicode literals | char const *utf8 = u8"UTF-8 string \u2500"; | char16_t const *utf16 = u"UTF-8 string \u2500"; | char32_t const *utf32 = U"UTF-32 string \u2500"; | } | | return ok; | } | configure:5254: g++ -std=c++0x -c -std=gnu++03 conftest.cpp >&5 conftest.cpp:57:3: error: #error "Compiler does not advertise C++11 conformance" 57 | # error "Compiler does not advertise C++11 conformance" | ^~~~~ conftest.cpp:62:3: error: 'constexpr' does not name a type 62 | constexpr int get_val() { return 20; } | ^~~~~~~~~ conftest.cpp:62:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11' conftest.cpp: In constructor 'cxx11test::delegate::delegate()': conftest.cpp:74:30: warning: delegating constructors only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 74 | delegate(): delegate(2354) {} | ^ conftest.cpp: At global scope: conftest.cpp:85:24: warning: override controls (override/final) only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 85 | virtual int getval() override final { return this->n * 2; } | ^ conftest.cpp:85:26: warning: override controls (override/final) only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 85 | virtual int getval() override final { return this->n * 2; } | ^~~~~~~~ conftest.cpp:92:16: warning: defaulted and deleted functions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 92 | nocopy() = default; | ^~~~~~~ conftest.cpp:93:29: warning: defaulted and deleted functions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 93 | nocopy(const nocopy&) = delete; | ^~~~~~ conftest.cpp:94:41: warning: defaulted and deleted functions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 94 | nocopy & operator=(const nocopy&) = delete; | ^~~~~~ conftest.cpp:106:30: error: ISO C++ forbids declaration of 'sum' with no type [-fpermissive] 106 | template auto sum(V first) -> V | ^~~ conftest.cpp:106:25: error: top-level declaration of 'sum' specifies 'auto' 106 | template auto sum(V first) -> V | ^~~~ conftest.cpp:106:46: error: trailing return type only available with '-std=c++11' or '-std=gnu++11' 106 | template auto sum(V first) -> V | ^ conftest.cpp:110:33: warning: variadic templates only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 110 | template auto sum(V first, Args... rest) -> V | ^~~ conftest.cpp:110:69: warning: variadic templates only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 110 | template auto sum(V first, Args... rest) -> V | ^~~~ conftest.cpp:110:48: error: ISO C++ forbids declaration of 'sum' with no type [-fpermissive] 110 | template auto sum(V first, Args... rest) -> V | ^~~ conftest.cpp:110:43: error: top-level declaration of 'sum' specifies 'auto' 110 | template auto sum(V first, Args... rest) -> V | ^~~~ conftest.cpp:110:78: error: trailing return type only available with '-std=c++11' or '-std=gnu++11' 110 | template auto sum(V first, Args... rest) -> V | ^ conftest.cpp: In function 'int main(int, char**)': conftest.cpp:134:8: error: 'a1' does not name a type 134 | auto a1 = 6538; | ^~ conftest.cpp:135:8: error: 'a2' does not name a type 135 | auto a2 = 48573953.4; | ^~ conftest.cpp:136:8: error: 'a3' does not name a type 136 | auto a3 = "String literal"; | ^~ conftest.cpp:139:13: error: 'i' does not name a type 139 | for (auto i = a3; *i; ++i) { total += *i; } | ^ conftest.cpp:139:20: error: expected ';' before '*' token 139 | for (auto i = a3; *i; ++i) { total += *i; } | ^~ | ; conftest.cpp:139:22: error: 'i' was not declared in this scope 139 | for (auto i = a3; *i; ++i) { total += *i; } | ^ conftest.cpp:141:12: error: 'a2' was not declared in this scope 141 | decltype(a2) a4 = 34895.034; | ^~ conftest.cpp:141:3: error: 'decltype' was not declared in this scope 141 | decltype(a2) a4 = 34895.034; | ^~~~~~~~ conftest.cpp:145:23: error: 'get_val' is not a member of 'cxx11test'; did you mean 'eval'? 145 | short sa[cxx11test::get_val()] = { 0 }; | ^~~~~~~ | eval conftest.cpp:155:14: error: ISO C++ forbids declaration of 'x' with no type [-fpermissive] 155 | for (auto &x : array) { x += 23; } | ^ conftest.cpp:155:18: warning: range-based 'for' loops only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 155 | for (auto &x : array) { x += 23; } | ^~~~~ conftest.cpp:160:41: warning: lambda expressions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 160 | assert (eval ([](int x) { return x*2; }, 21) == 42); | ^ conftest.cpp:160:16: error: no matching function for call to 'eval(main(int, char**)::, int)' 160 | assert (eval ([](int x) { return x*2; }, 21) == 42); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:100:44: note: candidate: 'template Ret cxx11test::eval(Fn, Ret)' 100 | template Ret eval(Fn f, Ret v) | ^~~~ conftest.cpp:100:44: note: template argument deduction/substitution failed: conftest.cpp: In substitution of 'template Ret cxx11test::eval(Fn, Ret) [with Ret = int; Fn = main(int, char**)::]': conftest.cpp:160:16: required from here conftest.cpp:160:16: error: template argument for 'template Ret cxx11test::eval(Fn, Ret)' uses local type 'main(int, char**)::' 160 | assert (eval ([](int x) { return x*2; }, 21) == 42); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:160:16: error: trying to instantiate 'template Ret cxx11test::eval(Fn, Ret)' conftest.cpp:162:48: warning: lambda expressions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 162 | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | ^ conftest.cpp:162:16: error: no matching function for call to 'eval(main(int, char**)::, double)' 162 | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:100:44: note: candidate: 'template Ret cxx11test::eval(Fn, Ret)' 100 | template Ret eval(Fn f, Ret v) | ^~~~ conftest.cpp:100:44: note: template argument deduction/substitution failed: conftest.cpp: In substitution of 'template Ret cxx11test::eval(Fn, Ret) [with Ret = double; Fn = main(int, char**)::]': conftest.cpp:162:16: required from here conftest.cpp:162:16: error: template argument for 'template Ret cxx11test::eval(Fn, Ret)' uses local type 'main(int, char**)::' 162 | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:162:16: error: trying to instantiate 'template Ret cxx11test::eval(Fn, Ret)' conftest.cpp:164:56: warning: lambda expressions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 164 | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | ^ conftest.cpp:164:16: error: no matching function for call to 'eval(main(int, char**)::, double)' 164 | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:100:44: note: candidate: 'template Ret cxx11test::eval(Fn, Ret)' 100 | template Ret eval(Fn f, Ret v) | ^~~~ conftest.cpp:100:44: note: template argument deduction/substitution failed: conftest.cpp: In substitution of 'template Ret cxx11test::eval(Fn, Ret) [with Ret = double; Fn = main(int, char**)::]': conftest.cpp:164:16: required from here conftest.cpp:164:16: error: template argument for 'template Ret cxx11test::eval(Fn, Ret)' uses local type 'main(int, char**)::' 164 | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:164:16: error: trying to instantiate 'template Ret cxx11test::eval(Fn, Ret)' conftest.cpp:169:20: error: 'sum' has not been declared in 'cxx11test' 169 | using cxx11test::sum; | ^~~ conftest.cpp:170:8: error: 'a' does not name a type 170 | auto a = sum(1); | ^ conftest.cpp:171:8: error: 'b' does not name a type 171 | auto b = sum(1, 2); | ^ conftest.cpp:172:8: error: 'c' does not name a type 172 | auto c = sum(1.0, 2.0, 3.0); | ^ conftest.cpp:177:25: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 177 | cxx11test::delegate d2(); | ^~ conftest.cpp:177:25: note: remove parentheses to default-initialize a variable 177 | cxx11test::delegate d2(); | ^~ | -- conftest.cpp:186:13: error: 'nullptr' was not declared in this scope 186 | char *c = nullptr; | ^~~~~~~ conftest.cpp:190:36: error: '>>' should be '> >' within a nested template argument list 190 | test_template<::test_template> v(test_template(12)); | ^~ | > > conftest.cpp:190:16: error: '<::' cannot begin a template-argument list [-fpermissive] 190 | test_template<::test_template> v(test_template(12)); | ^~ conftest.cpp:190:16: note: '<:' is an alternate spelling for '['. Insert whitespace between '<' and '::' conftest.cpp:190:16: note: (if you use '-fpermissive' or '-std=c++11', or '-std=gnu++11' G++ will accept your code) conftest.cpp:194:22: error: 'u8' was not declared in this scope; did you mean 'utf8'? 194 | char const *utf8 = u8"UTF-8 string \u2500"; | ^~ | utf8 conftest.cpp:195:3: error: 'char16_t' was not declared in this scope 195 | char16_t const *utf16 = u"UTF-8 string \u2500"; | ^~~~~~~~ conftest.cpp:196:3: error: 'char32_t' was not declared in this scope 196 | char32_t const *utf32 = U"UTF-32 string \u2500"; | ^~~~~~~~ configure:5254: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "osmo-pcu" | #define PACKAGE_TARNAME "osmo-pcu" | #define PACKAGE_VERSION "1.5.0.6-46529" | #define PACKAGE_STRING "osmo-pcu 1.5.0.6-46529" | #define PACKAGE_BUGREPORT "osmocom-net-gprs@lists.osmocom.org" | #define PACKAGE_URL "" | #define PACKAGE "osmo-pcu" | #define VERSION "1.5.0.6-46529" | /* end confdefs.h. */ | | // Does the compiler advertise C++98 conformance? | #if !defined __cplusplus || __cplusplus < 199711L | # error "Compiler does not advertise C++98 conformance" | #endif | | // These inclusions are to reject old compilers that | // lack the unsuffixed header files. | #include | #include | | // and are *not* freestanding headers in C++98. | extern void assert (int); | namespace std { | extern int strcmp (const char *, const char *); | } | | // Namespaces, exceptions, and templates were all added after "C++ 2.0". | using std::exception; | using std::strcmp; | | namespace { | | void test_exception_syntax() | { | try { | throw "test"; | } catch (const char *s) { | // Extra parentheses suppress a warning when building autoconf itself, | // due to lint rules shared with more typical C programs. | assert (!(strcmp) (s, "test")); | } | } | | template struct test_template | { | T const val; | explicit test_template(T t) : val(t) {} | template T add(U u) { return static_cast(u) + val; } | }; | | } // anonymous namespace | | | // Does the compiler advertise C++ 2011 conformance? | #if !defined __cplusplus || __cplusplus < 201103L | # error "Compiler does not advertise C++11 conformance" | #endif | | namespace cxx11test | { | constexpr int get_val() { return 20; } | | struct testinit | { | int i; | double d; | }; | | class delegate | { | public: | delegate(int n) : n(n) {} | delegate(): delegate(2354) {} | | virtual int getval() { return this->n; }; | protected: | int n; | }; | | class overridden : public delegate | { | public: | overridden(int n): delegate(n) {} | virtual int getval() override final { return this->n * 2; } | }; | | class nocopy | { | public: | nocopy(int i): i(i) {} | nocopy() = default; | nocopy(const nocopy&) = delete; | nocopy & operator=(const nocopy&) = delete; | private: | int i; | }; | | // for testing lambda expressions | template Ret eval(Fn f, Ret v) | { | return f(v); | } | | // for testing variadic templates and trailing return types | template auto sum(V first) -> V | { | return first; | } | template auto sum(V first, Args... rest) -> V | { | return first + sum(rest...); | } | } | | | int | main (int argc, char **argv) | { | int ok = 0; | | assert (argc); | assert (! argv[0]); | { | test_exception_syntax (); | test_template tt (2.0); | assert (tt.add (4) == 6.0); | assert (true && !false); | } | | | { | // Test auto and decltype | auto a1 = 6538; | auto a2 = 48573953.4; | auto a3 = "String literal"; | | int total = 0; | for (auto i = a3; *i; ++i) { total += *i; } | | decltype(a2) a4 = 34895.034; | } | { | // Test constexpr | short sa[cxx11test::get_val()] = { 0 }; | } | { | // Test initializer lists | cxx11test::testinit il = { 4323, 435234.23544 }; | } | { | // Test range-based for | int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, | 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; | for (auto &x : array) { x += 23; } | } | { | // Test lambda expressions | using cxx11test::eval; | assert (eval ([](int x) { return x*2; }, 21) == 42); | double d = 2.0; | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | assert (d == 5.0); | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | assert (d == 5.0); | } | { | // Test use of variadic templates | using cxx11test::sum; | auto a = sum(1); | auto b = sum(1, 2); | auto c = sum(1.0, 2.0, 3.0); | } | { | // Test constructor delegation | cxx11test::delegate d1; | cxx11test::delegate d2(); | cxx11test::delegate d3(45); | } | { | // Test override and final | cxx11test::overridden o1(55464); | } | { | // Test nullptr | char *c = nullptr; | } | { | // Test template brackets | test_template<::test_template> v(test_template(12)); | } | { | // Unicode literals | char const *utf8 = u8"UTF-8 string \u2500"; | char16_t const *utf16 = u"UTF-8 string \u2500"; | char32_t const *utf32 = U"UTF-32 string \u2500"; | } | | return ok; | } | configure:5254: g++ -qlanglvl=extended0x -c -std=gnu++03 conftest.cpp >&5 g++: error: unrecognized command-line option '-qlanglvl=extended0x' configure:5254: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "osmo-pcu" | #define PACKAGE_TARNAME "osmo-pcu" | #define PACKAGE_VERSION "1.5.0.6-46529" | #define PACKAGE_STRING "osmo-pcu 1.5.0.6-46529" | #define PACKAGE_BUGREPORT "osmocom-net-gprs@lists.osmocom.org" | #define PACKAGE_URL "" | #define PACKAGE "osmo-pcu" | #define VERSION "1.5.0.6-46529" | /* end confdefs.h. */ | | // Does the compiler advertise C++98 conformance? | #if !defined __cplusplus || __cplusplus < 199711L | # error "Compiler does not advertise C++98 conformance" | #endif | | // These inclusions are to reject old compilers that | // lack the unsuffixed header files. | #include | #include | | // and are *not* freestanding headers in C++98. | extern void assert (int); | namespace std { | extern int strcmp (const char *, const char *); | } | | // Namespaces, exceptions, and templates were all added after "C++ 2.0". | using std::exception; | using std::strcmp; | | namespace { | | void test_exception_syntax() | { | try { | throw "test"; | } catch (const char *s) { | // Extra parentheses suppress a warning when building autoconf itself, | // due to lint rules shared with more typical C programs. | assert (!(strcmp) (s, "test")); | } | } | | template struct test_template | { | T const val; | explicit test_template(T t) : val(t) {} | template T add(U u) { return static_cast(u) + val; } | }; | | } // anonymous namespace | | | // Does the compiler advertise C++ 2011 conformance? | #if !defined __cplusplus || __cplusplus < 201103L | # error "Compiler does not advertise C++11 conformance" | #endif | | namespace cxx11test | { | constexpr int get_val() { return 20; } | | struct testinit | { | int i; | double d; | }; | | class delegate | { | public: | delegate(int n) : n(n) {} | delegate(): delegate(2354) {} | | virtual int getval() { return this->n; }; | protected: | int n; | }; | | class overridden : public delegate | { | public: | overridden(int n): delegate(n) {} | virtual int getval() override final { return this->n * 2; } | }; | | class nocopy | { | public: | nocopy(int i): i(i) {} | nocopy() = default; | nocopy(const nocopy&) = delete; | nocopy & operator=(const nocopy&) = delete; | private: | int i; | }; | | // for testing lambda expressions | template Ret eval(Fn f, Ret v) | { | return f(v); | } | | // for testing variadic templates and trailing return types | template auto sum(V first) -> V | { | return first; | } | template auto sum(V first, Args... rest) -> V | { | return first + sum(rest...); | } | } | | | int | main (int argc, char **argv) | { | int ok = 0; | | assert (argc); | assert (! argv[0]); | { | test_exception_syntax (); | test_template tt (2.0); | assert (tt.add (4) == 6.0); | assert (true && !false); | } | | | { | // Test auto and decltype | auto a1 = 6538; | auto a2 = 48573953.4; | auto a3 = "String literal"; | | int total = 0; | for (auto i = a3; *i; ++i) { total += *i; } | | decltype(a2) a4 = 34895.034; | } | { | // Test constexpr | short sa[cxx11test::get_val()] = { 0 }; | } | { | // Test initializer lists | cxx11test::testinit il = { 4323, 435234.23544 }; | } | { | // Test range-based for | int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, | 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; | for (auto &x : array) { x += 23; } | } | { | // Test lambda expressions | using cxx11test::eval; | assert (eval ([](int x) { return x*2; }, 21) == 42); | double d = 2.0; | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | assert (d == 5.0); | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | assert (d == 5.0); | } | { | // Test use of variadic templates | using cxx11test::sum; | auto a = sum(1); | auto b = sum(1, 2); | auto c = sum(1.0, 2.0, 3.0); | } | { | // Test constructor delegation | cxx11test::delegate d1; | cxx11test::delegate d2(); | cxx11test::delegate d3(45); | } | { | // Test override and final | cxx11test::overridden o1(55464); | } | { | // Test nullptr | char *c = nullptr; | } | { | // Test template brackets | test_template<::test_template> v(test_template(12)); | } | { | // Unicode literals | char const *utf8 = u8"UTF-8 string \u2500"; | char16_t const *utf16 = u"UTF-8 string \u2500"; | char32_t const *utf32 = U"UTF-32 string \u2500"; | } | | return ok; | } | configure:5254: g++ -AA -c -std=gnu++03 conftest.cpp >&5 : error: missing '(' after predicate conftest.cpp:57:3: error: #error "Compiler does not advertise C++11 conformance" 57 | # error "Compiler does not advertise C++11 conformance" | ^~~~~ conftest.cpp:62:3: error: 'constexpr' does not name a type 62 | constexpr int get_val() { return 20; } | ^~~~~~~~~ conftest.cpp:62:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11' conftest.cpp: In constructor 'cxx11test::delegate::delegate()': conftest.cpp:74:30: warning: delegating constructors only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 74 | delegate(): delegate(2354) {} | ^ conftest.cpp: At global scope: conftest.cpp:85:24: warning: override controls (override/final) only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 85 | virtual int getval() override final { return this->n * 2; } | ^ conftest.cpp:85:26: warning: override controls (override/final) only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 85 | virtual int getval() override final { return this->n * 2; } | ^~~~~~~~ conftest.cpp:92:16: warning: defaulted and deleted functions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 92 | nocopy() = default; | ^~~~~~~ conftest.cpp:93:29: warning: defaulted and deleted functions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 93 | nocopy(const nocopy&) = delete; | ^~~~~~ conftest.cpp:94:41: warning: defaulted and deleted functions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 94 | nocopy & operator=(const nocopy&) = delete; | ^~~~~~ conftest.cpp:106:30: error: ISO C++ forbids declaration of 'sum' with no type [-fpermissive] 106 | template auto sum(V first) -> V | ^~~ conftest.cpp:106:25: error: top-level declaration of 'sum' specifies 'auto' 106 | template auto sum(V first) -> V | ^~~~ conftest.cpp:106:46: error: trailing return type only available with '-std=c++11' or '-std=gnu++11' 106 | template auto sum(V first) -> V | ^ conftest.cpp:110:33: warning: variadic templates only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 110 | template auto sum(V first, Args... rest) -> V | ^~~ conftest.cpp:110:69: warning: variadic templates only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 110 | template auto sum(V first, Args... rest) -> V | ^~~~ conftest.cpp:110:48: error: ISO C++ forbids declaration of 'sum' with no type [-fpermissive] 110 | template auto sum(V first, Args... rest) -> V | ^~~ conftest.cpp:110:43: error: top-level declaration of 'sum' specifies 'auto' 110 | template auto sum(V first, Args... rest) -> V | ^~~~ conftest.cpp:110:78: error: trailing return type only available with '-std=c++11' or '-std=gnu++11' 110 | template auto sum(V first, Args... rest) -> V | ^ conftest.cpp: In function 'int main(int, char**)': conftest.cpp:134:8: error: 'a1' does not name a type 134 | auto a1 = 6538; | ^~ conftest.cpp:135:8: error: 'a2' does not name a type 135 | auto a2 = 48573953.4; | ^~ conftest.cpp:136:8: error: 'a3' does not name a type 136 | auto a3 = "String literal"; | ^~ conftest.cpp:139:13: error: 'i' does not name a type 139 | for (auto i = a3; *i; ++i) { total += *i; } | ^ conftest.cpp:139:20: error: expected ';' before '*' token 139 | for (auto i = a3; *i; ++i) { total += *i; } | ^~ | ; conftest.cpp:139:22: error: 'i' was not declared in this scope 139 | for (auto i = a3; *i; ++i) { total += *i; } | ^ conftest.cpp:141:12: error: 'a2' was not declared in this scope 141 | decltype(a2) a4 = 34895.034; | ^~ conftest.cpp:141:3: error: 'decltype' was not declared in this scope 141 | decltype(a2) a4 = 34895.034; | ^~~~~~~~ conftest.cpp:145:23: error: 'get_val' is not a member of 'cxx11test'; did you mean 'eval'? 145 | short sa[cxx11test::get_val()] = { 0 }; | ^~~~~~~ | eval conftest.cpp:155:14: error: ISO C++ forbids declaration of 'x' with no type [-fpermissive] 155 | for (auto &x : array) { x += 23; } | ^ conftest.cpp:155:18: warning: range-based 'for' loops only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 155 | for (auto &x : array) { x += 23; } | ^~~~~ conftest.cpp:160:41: warning: lambda expressions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 160 | assert (eval ([](int x) { return x*2; }, 21) == 42); | ^ conftest.cpp:160:16: error: no matching function for call to 'eval(main(int, char**)::, int)' 160 | assert (eval ([](int x) { return x*2; }, 21) == 42); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:100:44: note: candidate: 'template Ret cxx11test::eval(Fn, Ret)' 100 | template Ret eval(Fn f, Ret v) | ^~~~ conftest.cpp:100:44: note: template argument deduction/substitution failed: conftest.cpp: In substitution of 'template Ret cxx11test::eval(Fn, Ret) [with Ret = int; Fn = main(int, char**)::]': conftest.cpp:160:16: required from here conftest.cpp:160:16: error: template argument for 'template Ret cxx11test::eval(Fn, Ret)' uses local type 'main(int, char**)::' 160 | assert (eval ([](int x) { return x*2; }, 21) == 42); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:160:16: error: trying to instantiate 'template Ret cxx11test::eval(Fn, Ret)' conftest.cpp:162:48: warning: lambda expressions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 162 | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | ^ conftest.cpp:162:16: error: no matching function for call to 'eval(main(int, char**)::, double)' 162 | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:100:44: note: candidate: 'template Ret cxx11test::eval(Fn, Ret)' 100 | template Ret eval(Fn f, Ret v) | ^~~~ conftest.cpp:100:44: note: template argument deduction/substitution failed: conftest.cpp: In substitution of 'template Ret cxx11test::eval(Fn, Ret) [with Ret = double; Fn = main(int, char**)::]': conftest.cpp:162:16: required from here conftest.cpp:162:16: error: template argument for 'template Ret cxx11test::eval(Fn, Ret)' uses local type 'main(int, char**)::' 162 | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:162:16: error: trying to instantiate 'template Ret cxx11test::eval(Fn, Ret)' conftest.cpp:164:56: warning: lambda expressions only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions] 164 | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | ^ conftest.cpp:164:16: error: no matching function for call to 'eval(main(int, char**)::, double)' 164 | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:100:44: note: candidate: 'template Ret cxx11test::eval(Fn, Ret)' 100 | template Ret eval(Fn f, Ret v) | ^~~~ conftest.cpp:100:44: note: template argument deduction/substitution failed: conftest.cpp: In substitution of 'template Ret cxx11test::eval(Fn, Ret) [with Ret = double; Fn = main(int, char**)::]': conftest.cpp:164:16: required from here conftest.cpp:164:16: error: template argument for 'template Ret cxx11test::eval(Fn, Ret)' uses local type 'main(int, char**)::' 164 | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ conftest.cpp:164:16: error: trying to instantiate 'template Ret cxx11test::eval(Fn, Ret)' conftest.cpp:169:20: error: 'sum' has not been declared in 'cxx11test' 169 | using cxx11test::sum; | ^~~ conftest.cpp:170:8: error: 'a' does not name a type 170 | auto a = sum(1); | ^ conftest.cpp:171:8: error: 'b' does not name a type 171 | auto b = sum(1, 2); | ^ conftest.cpp:172:8: error: 'c' does not name a type 172 | auto c = sum(1.0, 2.0, 3.0); | ^ conftest.cpp:177:25: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 177 | cxx11test::delegate d2(); | ^~ conftest.cpp:177:25: note: remove parentheses to default-initialize a variable 177 | cxx11test::delegate d2(); | ^~ | -- conftest.cpp:186:13: error: 'nullptr' was not declared in this scope 186 | char *c = nullptr; | ^~~~~~~ conftest.cpp:190:36: error: '>>' should be '> >' within a nested template argument list 190 | test_template<::test_template> v(test_template(12)); | ^~ | > > conftest.cpp:190:16: error: '<::' cannot begin a template-argument list [-fpermissive] 190 | test_template<::test_template> v(test_template(12)); | ^~ conftest.cpp:190:16: note: '<:' is an alternate spelling for '['. Insert whitespace between '<' and '::' conftest.cpp:190:16: note: (if you use '-fpermissive' or '-std=c++11', or '-std=gnu++11' G++ will accept your code) conftest.cpp:194:22: error: 'u8' was not declared in this scope; did you mean 'utf8'? 194 | char const *utf8 = u8"UTF-8 string \u2500"; | ^~ | utf8 conftest.cpp:195:3: error: 'char16_t' was not declared in this scope 195 | char16_t const *utf16 = u"UTF-8 string \u2500"; | ^~~~~~~~ conftest.cpp:196:3: error: 'char32_t' was not declared in this scope 196 | char32_t const *utf32 = U"UTF-32 string \u2500"; | ^~~~~~~~ configure:5254: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "osmo-pcu" | #define PACKAGE_TARNAME "osmo-pcu" | #define PACKAGE_VERSION "1.5.0.6-46529" | #define PACKAGE_STRING "osmo-pcu 1.5.0.6-46529" | #define PACKAGE_BUGREPORT "osmocom-net-gprs@lists.osmocom.org" | #define PACKAGE_URL "" | #define PACKAGE "osmo-pcu" | #define VERSION "1.5.0.6-46529" | /* end confdefs.h. */ | | // Does the compiler advertise C++98 conformance? | #if !defined __cplusplus || __cplusplus < 199711L | # error "Compiler does not advertise C++98 conformance" | #endif | | // These inclusions are to reject old compilers that | // lack the unsuffixed header files. | #include | #include | | // and are *not* freestanding headers in C++98. | extern void assert (int); | namespace std { | extern int strcmp (const char *, const char *); | } | | // Namespaces, exceptions, and templates were all added after "C++ 2.0". | using std::exception; | using std::strcmp; | | namespace { | | void test_exception_syntax() | { | try { | throw "test"; | } catch (const char *s) { | // Extra parentheses suppress a warning when building autoconf itself, | // due to lint rules shared with more typical C programs. | assert (!(strcmp) (s, "test")); | } | } | | template struct test_template | { | T const val; | explicit test_template(T t) : val(t) {} | template T add(U u) { return static_cast(u) + val; } | }; | | } // anonymous namespace | | | // Does the compiler advertise C++ 2011 conformance? | #if !defined __cplusplus || __cplusplus < 201103L | # error "Compiler does not advertise C++11 conformance" | #endif | | namespace cxx11test | { | constexpr int get_val() { return 20; } | | struct testinit | { | int i; | double d; | }; | | class delegate | { | public: | delegate(int n) : n(n) {} | delegate(): delegate(2354) {} | | virtual int getval() { return this->n; }; | protected: | int n; | }; | | class overridden : public delegate | { | public: | overridden(int n): delegate(n) {} | virtual int getval() override final { return this->n * 2; } | }; | | class nocopy | { | public: | nocopy(int i): i(i) {} | nocopy() = default; | nocopy(const nocopy&) = delete; | nocopy & operator=(const nocopy&) = delete; | private: | int i; | }; | | // for testing lambda expressions | template Ret eval(Fn f, Ret v) | { | return f(v); | } | | // for testing variadic templates and trailing return types | template auto sum(V first) -> V | { | return first; | } | template auto sum(V first, Args... rest) -> V | { | return first + sum(rest...); | } | } | | | int | main (int argc, char **argv) | { | int ok = 0; | | assert (argc); | assert (! argv[0]); | { | test_exception_syntax (); | test_template tt (2.0); | assert (tt.add (4) == 6.0); | assert (true && !false); | } | | | { | // Test auto and decltype | auto a1 = 6538; | auto a2 = 48573953.4; | auto a3 = "String literal"; | | int total = 0; | for (auto i = a3; *i; ++i) { total += *i; } | | decltype(a2) a4 = 34895.034; | } | { | // Test constexpr | short sa[cxx11test::get_val()] = { 0 }; | } | { | // Test initializer lists | cxx11test::testinit il = { 4323, 435234.23544 }; | } | { | // Test range-based for | int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, | 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; | for (auto &x : array) { x += 23; } | } | { | // Test lambda expressions | using cxx11test::eval; | assert (eval ([](int x) { return x*2; }, 21) == 42); | double d = 2.0; | assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); | assert (d == 5.0); | assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); | assert (d == 5.0); | } | { | // Test use of variadic templates | using cxx11test::sum; | auto a = sum(1); | auto b = sum(1, 2); | auto c = sum(1.0, 2.0, 3.0); | } | { | // Test constructor delegation | cxx11test::delegate d1; | cxx11test::delegate d2(); | cxx11test::delegate d3(45); | } | { | // Test override and final | cxx11test::overridden o1(55464); | } | { | // Test nullptr | char *c = nullptr; | } | { | // Test template brackets | test_template<::test_template> v(test_template(12)); | } | { | // Unicode literals | char const *utf8 = u8"UTF-8 string \u2500"; | char16_t const *utf16 = u"UTF-8 string \u2500"; | char32_t const *utf32 = U"UTF-32 string \u2500"; | } | | return ok; | } | configure:5267: result: unsupported configure:5285: checking for g++ option to enable C++98 features configure:5300: g++ -c -std=gnu++03 conftest.cpp >&5 configure:5300: $? = 0 configure:5318: result: none needed configure:5338: checking dependency style of g++ configure:5450: result: gcc3 configure:5498: checking build system type configure:5513: result: x86_64-pc-linux-gnu configure:5533: checking host system type configure:5547: result: x86_64-pc-linux-gnu configure:5588: checking how to print strings configure:5615: result: printf configure:5636: checking for a sed that does not truncate output configure:5706: result: /usr/bin/sed configure:5724: checking for grep that handles long lines and -e configure:5788: result: /usr/bin/grep configure:5793: checking for egrep configure:5861: result: /usr/bin/grep -E configure:5866: checking for fgrep configure:5934: result: /usr/bin/grep -F configure:5970: checking for ld used by gcc configure:6038: result: /usr/bin/ld configure:6045: checking if the linker (/usr/bin/ld) is GNU ld configure:6061: result: yes configure:6073: checking for BSD- or MS-compatible name lister (nm) configure:6128: result: /usr/bin/nm -B configure:6268: checking the name lister (/usr/bin/nm -B) interface configure:6276: gcc -c -std=gnu11 conftest.c >&5 configure:6279: /usr/bin/nm -B "conftest.o" configure:6282: output 0000000000000000 B some_variable configure:6289: result: BSD nm configure:6292: checking whether ln -s works configure:6296: result: yes configure:6304: checking the maximum length of command line arguments configure:6436: result: 1572864 configure:6484: checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format configure:6525: result: func_convert_file_noop configure:6532: checking how to convert x86_64-pc-linux-gnu file names to toolchain format configure:6553: result: func_convert_file_noop configure:6560: checking for /usr/bin/ld option to reload object files configure:6568: result: -r configure:6647: checking for file configure:6668: found /usr/bin/file configure:6679: result: file configure:6755: checking for objdump configure:6776: found /usr/bin/objdump configure:6787: result: objdump configure:6819: checking how to recognize dependent libraries configure:7020: result: pass_all configure:7110: checking for dlltool configure:7145: result: no configure:7175: checking how to associate runtime and link libraries configure:7203: result: printf %s\n configure:7269: checking for ar configure:7290: found /usr/bin/ar configure:7301: result: ar configure:7354: checking for archiver @FILE support configure:7372: gcc -c -std=gnu11 conftest.c >&5 configure:7372: $? = 0 configure:7376: ar cr libconftest.a @conftest.lst >&5 configure:7379: $? = 0 configure:7384: ar cr libconftest.a @conftest.lst >&5 ar: conftest.o: No such file or directory configure:7387: $? = 1 configure:7399: result: @ configure:7462: checking for strip configure:7483: found /usr/bin/strip configure:7494: result: strip configure:7571: checking for ranlib configure:7592: found /usr/bin/ranlib configure:7603: result: ranlib configure:7705: checking command to parse /usr/bin/nm -B output from gcc object configure:7859: gcc -c -std=gnu11 conftest.c >&5 configure:7862: $? = 0 configure:7866: /usr/bin/nm -B conftest.o | /usr/bin/sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | /usr/bin/sed '/ __gnu_lto/d' > conftest.nm configure:7932: gcc -o conftest -std=gnu11 conftest.c conftstm.o >&5 configure:7935: $? = 0 configure:7973: result: ok configure:8020: checking for sysroot configure:8051: result: no configure:8058: checking for a working dd configure:8102: result: /usr/bin/dd configure:8106: checking how to truncate binary pipes configure:8122: result: /usr/bin/dd bs=4096 count=1 configure:8259: gcc -c -std=gnu11 conftest.c >&5 configure:8262: $? = 0 configure:8459: checking for mt configure:8480: found /usr/bin/mt configure:8491: result: mt configure:8514: checking if mt is a manifest tool configure:8521: mt '-?' configure:8529: result: no configure:9254: checking for stdio.h configure:9254: gcc -c -std=gnu11 conftest.c >&5 configure:9254: $? = 0 configure:9254: result: yes configure:9254: checking for stdlib.h configure:9254: gcc -c -std=gnu11 conftest.c >&5 configure:9254: $? = 0 configure:9254: result: yes configure:9254: checking for string.h configure:9254: gcc -c -std=gnu11 conftest.c >&5 configure:9254: $? = 0 configure:9254: result: yes configure:9254: checking for inttypes.h configure:9254: gcc -c -std=gnu11 conftest.c >&5 configure:9254: $? = 0 configure:9254: result: yes configure:9254: checking for stdint.h configure:9254: gcc -c -std=gnu11 conftest.c >&5 configure:9254: $? = 0 configure:9254: result: yes configure:9254: checking for strings.h configure:9254: gcc -c -std=gnu11 conftest.c >&5 configure:9254: $? = 0 configure:9254: result: yes configure:9254: checking for sys/stat.h configure:9254: gcc -c -std=gnu11 conftest.c >&5 configure:9254: $? = 0 configure:9254: result: yes configure:9254: checking for sys/types.h configure:9254: gcc -c -std=gnu11 conftest.c >&5 configure:9254: $? = 0 configure:9254: result: yes configure:9254: checking for unistd.h configure:9254: gcc -c -std=gnu11 conftest.c >&5 configure:9254: $? = 0 configure:9254: result: yes configure:9279: checking for dlfcn.h configure:9279: gcc -c -std=gnu11 conftest.c >&5 configure:9279: $? = 0 configure:9279: result: yes configure:9549: checking for objdir configure:9565: result: .libs configure:9825: checking if gcc supports -fno-rtti -fno-exceptions configure:9844: gcc -c -std=gnu11 -fno-rtti -fno-exceptions conftest.c >&5 cc1: warning: command-line option '-fno-rtti' is valid for C++/D/ObjC++ but not for C configure:9848: $? = 0 configure:9861: result: no configure:10225: checking for gcc option to produce PIC configure:10233: result: -fPIC -DPIC configure:10241: checking if gcc PIC flag -fPIC -DPIC works configure:10260: gcc -c -std=gnu11 -fPIC -DPIC -DPIC conftest.c >&5 configure:10264: $? = 0 configure:10277: result: yes configure:10306: checking if gcc static flag -static works configure:10335: result: yes configure:10350: checking if gcc supports -c -o file.o configure:10372: gcc -c -std=gnu11 -o out/conftest2.o conftest.c >&5 configure:10376: $? = 0 configure:10398: result: yes configure:10406: checking if gcc supports -c -o file.o configure:10454: result: yes configure:10487: checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries configure:11761: result: yes configure:11798: checking whether -lc should be explicitly linked in configure:11807: gcc -c -std=gnu11 conftest.c >&5 configure:11810: $? = 0 configure:11825: gcc -shared -fPIC -DPIC conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /usr/bin/grep -lc \>/dev/null 2\>\&1 configure:11828: $? = 0 configure:11842: result: no configure:12002: checking dynamic linker characteristics configure:12584: gcc -o conftest -std=gnu11 -Wl,-rpath -Wl,/foo conftest.c >&5 configure:12584: $? = 0 configure:12835: result: GNU/Linux ld.so configure:12957: checking how to hardcode library paths into programs configure:12982: result: immediate configure:13534: checking whether stripping libraries is possible configure:13543: result: yes configure:13585: checking if libtool supports shared libraries configure:13587: result: yes configure:13590: checking whether to build shared libraries configure:13615: result: yes configure:13618: checking whether to build static libraries configure:13622: result: yes configure:13645: checking how to run the C++ preprocessor configure:13667: g++ -E conftest.cpp configure:13667: $? = 0 configure:13682: g++ -E conftest.cpp conftest.cpp:23:10: fatal error: ac_nonexistent.h: No such file or directory 23 | #include | ^~~~~~~~~~~~~~~~~~ compilation terminated. configure:13682: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "osmo-pcu" | #define PACKAGE_TARNAME "osmo-pcu" | #define PACKAGE_VERSION "1.5.0.6-46529" | #define PACKAGE_STRING "osmo-pcu 1.5.0.6-46529" | #define PACKAGE_BUGREPORT "osmocom-net-gprs@lists.osmocom.org" | #define PACKAGE_URL "" | #define PACKAGE "osmo-pcu" | #define VERSION "1.5.0.6-46529" | #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 STDC_HEADERS 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | /* end confdefs.h. */ | #include configure:13709: result: g++ -E configure:13723: g++ -E conftest.cpp configure:13723: $? = 0 configure:13738: g++ -E conftest.cpp conftest.cpp:23:10: fatal error: ac_nonexistent.h: No such file or directory 23 | #include | ^~~~~~~~~~~~~~~~~~ compilation terminated. configure:13738: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "osmo-pcu" | #define PACKAGE_TARNAME "osmo-pcu" | #define PACKAGE_VERSION "1.5.0.6-46529" | #define PACKAGE_STRING "osmo-pcu 1.5.0.6-46529" | #define PACKAGE_BUGREPORT "osmocom-net-gprs@lists.osmocom.org" | #define PACKAGE_URL "" | #define PACKAGE "osmo-pcu" | #define VERSION "1.5.0.6-46529" | #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 STDC_HEADERS 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | /* end confdefs.h. */ | #include configure:13903: checking for ld used by g++ configure:13971: result: /usr/bin/ld -m elf_x86_64 configure:13978: checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld configure:13994: result: yes configure:14049: checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries configure:15127: result: yes configure:15163: g++ -c -std=gnu++03 conftest.cpp >&5 configure:15166: $? = 0 configure:15647: checking for g++ option to produce PIC configure:15655: result: -fPIC -DPIC configure:15663: checking if g++ PIC flag -fPIC -DPIC works configure:15682: g++ -c -std=gnu++03 -fPIC -DPIC -DPIC conftest.cpp >&5 configure:15686: $? = 0 configure:15699: result: yes configure:15722: checking if g++ static flag -static works configure:15751: result: yes configure:15763: checking if g++ supports -c -o file.o configure:15785: g++ -c -std=gnu++03 -o out/conftest2.o conftest.cpp >&5 configure:15789: $? = 0 configure:15811: result: yes configure:15816: checking if g++ supports -c -o file.o configure:15864: result: yes configure:15894: checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries configure:15937: result: yes configure:16079: checking dynamic linker characteristics configure:16839: result: GNU/Linux ld.so configure:16904: checking how to hardcode library paths into programs configure:16929: result: immediate configure:17005: checking for pkg-config configure:17028: found /usr/bin/pkg-config configure:17041: result: /usr/bin/pkg-config configure:17112: checking for pkg-config configure:17135: found /usr/bin/pkg-config configure:17147: result: /usr/bin/pkg-config configure:17172: checking pkg-config is at least version 0.20 configure:17175: result: yes configure:17187: checking for egrep configure:17255: result: /usr/bin/grep -E configure:17312: checking for libosmocore >= 1.10.0 configure:17319: $PKG_CONFIG --exists --print-errors "libosmocore >= 1.10.0" configure:17322: $? = 0 configure:17336: $PKG_CONFIG --exists --print-errors "libosmocore >= 1.10.0" configure:17339: $? = 0 configure:17397: result: yes configure:17403: checking for libosmovty >= 1.10.0 configure:17410: $PKG_CONFIG --exists --print-errors "libosmovty >= 1.10.0" configure:17413: $? = 0 configure:17427: $PKG_CONFIG --exists --print-errors "libosmovty >= 1.10.0" configure:17430: $? = 0 configure:17488: result: yes configure:17494: checking for libosmoctrl >= 1.10.0 configure:17501: $PKG_CONFIG --exists --print-errors "libosmoctrl >= 1.10.0" configure:17504: $? = 0 configure:17518: $PKG_CONFIG --exists --print-errors "libosmoctrl >= 1.10.0" configure:17521: $? = 0 configure:17579: result: yes configure:17585: checking for libosmogsm >= 1.10.0 configure:17592: $PKG_CONFIG --exists --print-errors "libosmogsm >= 1.10.0" configure:17595: $? = 0 configure:17609: $PKG_CONFIG --exists --print-errors "libosmogsm >= 1.10.0" configure:17612: $? = 0 configure:17670: result: yes configure:17676: checking for libosmogb >= 1.10.0 configure:17683: $PKG_CONFIG --exists --print-errors "libosmogb >= 1.10.0" configure:17686: $? = 0 configure:17700: $PKG_CONFIG --exists --print-errors "libosmogb >= 1.10.0" configure:17703: $? = 0 configure:17761: result: yes configure:17766: checking whether to enable direct DSP access for PDCH of sysmocom-bts configure:17803: result: unset configure:17835: checking whether to enable direct PHY access for PDCH of NuRAN Wireless Litecell 1.5 BTS configure:17856: result: no configure:17881: checking whether to enable direct PHY access for PDCH of NuRAN Wireless OC-2G BTS configure:17902: result: no configure:17927: checking whether to enable direct E1 CCU access for PDCH of Ericsson RBS configure:17937: result: no configure:18543: checking whether to enable VTY tests configure:18545: result: no configure:18649: result: CPPFLAGS=" -fsanitize=address -fsanitize=undefined" configure:18651: result: CFLAGS=" -std=gnu11 -fsanitize=address -fsanitize=undefined" configure:18653: result: CXXFLAGS=" -std=gnu++03 -fsanitize=address -fsanitize=undefined" configure:18655: result: LDFLAGS=" -fsanitize=address -fsanitize=undefined" configure:18797: checking that generated files are newer than configure configure:18803: result: done configure:18858: creating ./config.status ## ---------------------- ## ## Running config.status. ## ## ---------------------- ## This file was extended by osmo-pcu config.status 1.5.0.6-46529, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = CONFIG_HEADERS = CONFIG_LINKS = CONFIG_COMMANDS = $ ./config.status on dc0a947544f0 config.status:1128: creating include/Makefile config.status:1128: creating src/Makefile config.status:1128: creating doc/Makefile config.status:1128: creating doc/examples/Makefile config.status:1128: creating tests/Makefile config.status:1128: creating doc/manuals/Makefile config.status:1128: creating contrib/Makefile config.status:1128: creating contrib/systemd/Makefile config.status:1128: creating Makefile config.status:1300: executing tests/atconfig commands config.status:1300: executing depfiles commands config.status:1402: cd src && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles config.status:1407: $? = 0 config.status:1402: cd tests && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles config.status:1407: $? = 0 config.status:1300: executing libtool commands ## ---------------- ## ## 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_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_CXXCPP_set= ac_cv_env_CXXCPP_value= ac_cv_env_CXXFLAGS_set= ac_cv_env_CXXFLAGS_value= ac_cv_env_CXX_set= ac_cv_env_CXX_value= ac_cv_env_LDFLAGS_set= ac_cv_env_LDFLAGS_value= ac_cv_env_LIBOSMOABIS_CFLAGS_set= ac_cv_env_LIBOSMOABIS_CFLAGS_value= ac_cv_env_LIBOSMOABIS_LIBS_set= ac_cv_env_LIBOSMOABIS_LIBS_value= ac_cv_env_LIBOSMOCORE_CFLAGS_set= ac_cv_env_LIBOSMOCORE_CFLAGS_value= ac_cv_env_LIBOSMOCORE_LIBS_set= ac_cv_env_LIBOSMOCORE_LIBS_value= ac_cv_env_LIBOSMOCTRL_CFLAGS_set= ac_cv_env_LIBOSMOCTRL_CFLAGS_value= ac_cv_env_LIBOSMOCTRL_LIBS_set= ac_cv_env_LIBOSMOCTRL_LIBS_value= ac_cv_env_LIBOSMOGB_CFLAGS_set= ac_cv_env_LIBOSMOGB_CFLAGS_value= ac_cv_env_LIBOSMOGB_LIBS_set= ac_cv_env_LIBOSMOGB_LIBS_value= ac_cv_env_LIBOSMOGSM_CFLAGS_set= ac_cv_env_LIBOSMOGSM_CFLAGS_value= ac_cv_env_LIBOSMOGSM_LIBS_set= ac_cv_env_LIBOSMOGSM_LIBS_value= ac_cv_env_LIBOSMOTRAU_CFLAGS_set= ac_cv_env_LIBOSMOTRAU_CFLAGS_value= ac_cv_env_LIBOSMOTRAU_LIBS_set= ac_cv_env_LIBOSMOTRAU_LIBS_value= ac_cv_env_LIBOSMOVTY_CFLAGS_set= ac_cv_env_LIBOSMOVTY_CFLAGS_value= ac_cv_env_LIBOSMOVTY_LIBS_set= ac_cv_env_LIBOSMOVTY_LIBS_value= ac_cv_env_LIBS_set= ac_cv_env_LIBS_value= ac_cv_env_LT_SYS_LIBRARY_PATH_set= ac_cv_env_LT_SYS_LIBRARY_PATH_value= ac_cv_env_OSMO_GSM_MANUALS_DIR_set= ac_cv_env_OSMO_GSM_MANUALS_DIR_value= ac_cv_env_PKG_CONFIG_LIBDIR_set= ac_cv_env_PKG_CONFIG_LIBDIR_value= ac_cv_env_PKG_CONFIG_PATH_set=set ac_cv_env_PKG_CONFIG_PATH_value=/build/inst-osmo-pcu/lib/pkgconfig: ac_cv_env_PKG_CONFIG_set= ac_cv_env_PKG_CONFIG_value= ac_cv_env_PYTHON_set= ac_cv_env_PYTHON_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_dlfcn_h=yes ac_cv_header_inttypes_h=yes 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_host=x86_64-pc-linux-gnu ac_cv_objext=o ac_cv_path_EGREP='/usr/bin/grep -E' ac_cv_path_FGREP='/usr/bin/grep -F' ac_cv_path_GREP=/usr/bin/grep ac_cv_path_PKG_CONFIG_INSTALLED=/usr/bin/pkg-config ac_cv_path_SED=/usr/bin/sed ac_cv_path_ac_pt_PKG_CONFIG=/usr/bin/pkg-config ac_cv_path_install='/usr/bin/install -c' ac_cv_path_lt_DD=/usr/bin/dd ac_cv_path_mkdir=/usr/bin/mkdir ac_cv_prog_AWK=gawk ac_cv_prog_CXXCPP='g++ -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_FILECMD=file ac_cv_prog_ac_ct_MANIFEST_TOOL=mt ac_cv_prog_ac_ct_OBJDUMP=objdump ac_cv_prog_ac_ct_RANLIB=ranlib ac_cv_prog_ac_ct_STRIP=strip ac_cv_prog_cc_c11= ac_cv_prog_cc_g=yes ac_cv_prog_cc_stdc= ac_cv_prog_cxx_cxx11=no ac_cv_prog_cxx_cxx98= ac_cv_prog_cxx_g=yes ac_cv_prog_cxx_stdcxx= ac_cv_prog_make_make_set=yes am_cv_CC_dependencies_compiler_type=gcc3 am_cv_CXX_dependencies_compiler_type=gcc3 am_cv_make_support_nested_variables=yes am_cv_prog_cc_c_o=yes lt_cv_ar_at_file=@ lt_cv_archive_cmds_need_lc=no lt_cv_deplibs_check_method=pass_all lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_ld_reload_flag=-r lt_cv_nm_interface='BSD nm' lt_cv_objdir=.libs lt_cv_path_LD=/usr/bin/ld lt_cv_path_LDCXX='/usr/bin/ld -m elf_x86_64' lt_cv_path_NM='/usr/bin/nm -B' lt_cv_path_mainfest_tool=no lt_cv_prog_compiler_c_o=yes lt_cv_prog_compiler_c_o_CXX=yes lt_cv_prog_compiler_pic='-fPIC -DPIC' lt_cv_prog_compiler_pic_CXX='-fPIC -DPIC' lt_cv_prog_compiler_pic_works=yes lt_cv_prog_compiler_pic_works_CXX=yes lt_cv_prog_compiler_rtti_exceptions=no lt_cv_prog_compiler_static_works=yes lt_cv_prog_compiler_static_works_CXX=yes lt_cv_prog_gnu_ld=yes lt_cv_prog_gnu_ldcxx=yes lt_cv_sharedlib_from_linklib_cmd='printf %s\n' lt_cv_shlibpath_overrides_runpath=yes lt_cv_sys_global_symbol_pipe='/usr/bin/sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'' | /usr/bin/sed '\''/ __gnu_lto/d'\''' lt_cv_sys_global_symbol_to_c_name_address='/usr/bin/sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"\1", (void *) \&\1},/p'\''' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='/usr/bin/sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(lib.*\)$/ {"\1", (void *) \&\1},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"lib\1", (void *) \&\1},/p'\''' lt_cv_sys_global_symbol_to_cdecl='/usr/bin/sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\''' lt_cv_sys_global_symbol_to_import= lt_cv_sys_max_cmd_len=1572864 lt_cv_to_host_file_cmd=func_convert_file_noop lt_cv_to_tool_file_cmd=func_convert_file_noop lt_cv_truncate_bin='/usr/bin/dd bs=4096 count=1' pkg_cv_LIBOSMOCORE_CFLAGS='-I/build/inst-osmo-pcu/include/ -pthread ' pkg_cv_LIBOSMOCORE_LIBS='-L/build/inst-osmo-pcu/lib -losmocore -ltalloc -lmnl ' pkg_cv_LIBOSMOCTRL_CFLAGS='-I/build/inst-osmo-pcu/include/ -pthread ' pkg_cv_LIBOSMOCTRL_LIBS='-L/build/inst-osmo-pcu/lib -losmoctrl -losmogsm -losmoisdn -losmocore -ltalloc -lmnl ' pkg_cv_LIBOSMOGB_CFLAGS='-I/build/inst-osmo-pcu/include/ -fno-strict-aliasing -pthread ' pkg_cv_LIBOSMOGB_LIBS='-L/build/inst-osmo-pcu/lib -losmogb -losmovty -losmogsm -losmoisdn -losmocore -ltalloc -lmnl ' pkg_cv_LIBOSMOGSM_CFLAGS='-I/build/inst-osmo-pcu/include/ -pthread ' pkg_cv_LIBOSMOGSM_LIBS='-L/build/inst-osmo-pcu/lib -losmogsm -losmoisdn -losmocore -ltalloc -lmnl ' pkg_cv_LIBOSMOVTY_CFLAGS='-I/build/inst-osmo-pcu/include/ -pthread ' pkg_cv_LIBOSMOVTY_LIBS='-L/build/inst-osmo-pcu/lib -losmovty -losmocore -ltalloc -lmnl ' ## ----------------- ## ## Output variables. ## ## ----------------- ## ACLOCAL='${SHELL} '\''/build/osmo-pcu/missing'\'' aclocal-1.16' AMDEPBACKSLASH='\' AMDEP_FALSE='#' AMDEP_TRUE='' AMTAR='$${TAR-tar}' AM_BACKSLASH='\' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' AM_DEFAULT_VERBOSITY='0' AM_V='$(V)' AR='ar' AUTOCONF='${SHELL} '\''/build/osmo-pcu/missing'\'' autoconf' AUTOHEADER='${SHELL} '\''/build/osmo-pcu/missing'\'' autoheader' AUTOMAKE='${SHELL} '\''/build/osmo-pcu/missing'\'' automake-1.16' AWK='gawk' BUILD_MANUALS_FALSE='' BUILD_MANUALS_TRUE='#' CC='gcc' CCDEPMODE='depmode=gcc3' CFLAGS=' -std=gnu11 -fsanitize=address -fsanitize=undefined' CPPFLAGS=' -fsanitize=address -fsanitize=undefined' CSCOPE='cscope' CTAGS='ctags' CXX='g++' CXXCPP='g++ -E' CXXDEPMODE='depmode=gcc3' CXXFLAGS=' -std=gnu++03 -fsanitize=address -fsanitize=undefined' CYGPATH_W='echo' DEFS='-DPACKAGE_NAME=\"osmo-pcu\" -DPACKAGE_TARNAME=\"osmo-pcu\" -DPACKAGE_VERSION=\"1.5.0.6-46529\" -DPACKAGE_STRING=\"osmo-pcu\ 1.5.0.6-46529\" -DPACKAGE_BUGREPORT=\"osmocom-net-gprs@lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"osmo-pcu\" -DVERSION=\"1.5.0.6-46529\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\"' DEPDIR='.deps' DLLTOOL='false' DSYMUTIL='' DUMPBIN='' ECHO_C='' ECHO_N='-n' ECHO_T='' EGREP='/usr/bin/grep -E' ENABLE_ER_E1_CCU_FALSE='' ENABLE_ER_E1_CCU_TRUE='#' ENABLE_LC15BTS_PHY_FALSE='' ENABLE_LC15BTS_PHY_TRUE='#' ENABLE_OC2GBTS_PHY_FALSE='' ENABLE_OC2GBTS_PHY_TRUE='#' ENABLE_SYSMODSP_FALSE='' ENABLE_SYSMODSP_TRUE='#' ENABLE_VTY_TESTS_FALSE='' ENABLE_VTY_TESTS_TRUE='#' ETAGS='etags' EXEEXT='' FGREP='/usr/bin/grep -F' FILECMD='file' GREP='/usr/bin/grep' HAVE_SYSTEMD_FALSE='' HAVE_SYSTEMD_TRUE='#' INSTALL_DATA='${INSTALL} -m 644' INSTALL_PROGRAM='${INSTALL}' INSTALL_SCRIPT='${INSTALL}' INSTALL_STRIP_PROGRAM='$(install_sh) -c -s' LD='/usr/bin/ld -m elf_x86_64' LDFLAGS=' -fsanitize=address -fsanitize=undefined' LIBOBJS='' LIBOSMOABIS_CFLAGS='' LIBOSMOABIS_LIBS='' LIBOSMOCORE_CFLAGS='-I/build/inst-osmo-pcu/include/ -pthread ' LIBOSMOCORE_LIBS='-L/build/inst-osmo-pcu/lib -losmocore -ltalloc -lmnl ' LIBOSMOCTRL_CFLAGS='-I/build/inst-osmo-pcu/include/ -pthread ' LIBOSMOCTRL_LIBS='-L/build/inst-osmo-pcu/lib -losmoctrl -losmogsm -losmoisdn -losmocore -ltalloc -lmnl ' LIBOSMOGB_CFLAGS='-I/build/inst-osmo-pcu/include/ -fno-strict-aliasing -pthread ' LIBOSMOGB_LIBS='-L/build/inst-osmo-pcu/lib -losmogb -losmovty -losmogsm -losmoisdn -losmocore -ltalloc -lmnl ' LIBOSMOGSM_CFLAGS='-I/build/inst-osmo-pcu/include/ -pthread ' LIBOSMOGSM_LIBS='-L/build/inst-osmo-pcu/lib -losmogsm -losmoisdn -losmocore -ltalloc -lmnl ' LIBOSMOTRAU_CFLAGS='' LIBOSMOTRAU_LIBS='' LIBOSMOVTY_CFLAGS='-I/build/inst-osmo-pcu/include/ -pthread ' LIBOSMOVTY_LIBS='-L/build/inst-osmo-pcu/lib -losmovty -losmocore -ltalloc -lmnl ' LIBS='' LIBTOOL='$(SHELL) $(top_builddir)/libtool' LIPO='' LITECELL15_CFLAGS='' LN_S='ln -s' LTLIBOBJS='' LT_SYS_LIBRARY_PATH='' MAKEINFO='${SHELL} '\''/build/osmo-pcu/missing'\'' makeinfo' MANIFEST_TOOL=':' MKDIR_P='/usr/bin/mkdir -p' NM='/usr/bin/nm -B' NMEDIT='' OBJDUMP='objdump' OBJEXT='o' OC2G_INCDIR='' OSMOTESTVTY_CHECK='' OSMO_GSM_MANUALS_DIR='' OTOOL64='' OTOOL='' PACKAGE='osmo-pcu' PACKAGE_BUGREPORT='osmocom-net-gprs@lists.osmocom.org' PACKAGE_NAME='osmo-pcu' PACKAGE_STRING='osmo-pcu 1.5.0.6-46529' PACKAGE_TARNAME='osmo-pcu' PACKAGE_URL='' PACKAGE_VERSION='1.5.0.6-46529' PATH_SEPARATOR=':' PKG_CONFIG='/usr/bin/pkg-config' PKG_CONFIG_INSTALLED='/usr/bin/pkg-config' PKG_CONFIG_LIBDIR='' PKG_CONFIG_PATH='/build/inst-osmo-pcu/lib/pkgconfig:' PYTHON='' PYTHON_EXEC_PREFIX='' PYTHON_PLATFORM='' PYTHON_PREFIX='' PYTHON_VERSION='' RANLIB='ranlib' RELMAKE='-include osmo-release.mk' SED='/usr/bin/sed' SET_MAKE='' SHELL='/bin/bash' STD_DEFINES_AND_INCLUDES='-Wall' STRIP='strip' SYSMOBTS_INCDIR='' VERSION='1.5.0.6-46529' ac_ct_AR='ar' ac_ct_CC='gcc' ac_ct_CXX='g++' 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='_no' am__quote='' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' 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='${prefix}' 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} /build/osmo-pcu/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}' pkgpyexecdir='' pkgpythondir='' prefix='/build/inst-osmo-pcu' program_transform_name='s,x,x,' psdir='${docdir}' pyexecdir='' pythondir='' runstatedir='${localstatedir}/run' sbindir='${exec_prefix}/sbin' sharedstatedir='${prefix}/com' sysconfdir='${prefix}/etc' systemdsystemunitdir='' target_alias='' ## ----------- ## ## confdefs.h. ## ## ----------- ## /* confdefs.h */ #define PACKAGE_NAME "osmo-pcu" #define PACKAGE_TARNAME "osmo-pcu" #define PACKAGE_VERSION "1.5.0.6-46529" #define PACKAGE_STRING "osmo-pcu 1.5.0.6-46529" #define PACKAGE_BUGREPORT "osmocom-net-gprs@lists.osmocom.org" #define PACKAGE_URL "" #define PACKAGE "osmo-pcu" #define VERSION "1.5.0.6-46529" #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 STDC_HEADERS 1 #define HAVE_DLFCN_H 1 #define LT_OBJDIR ".libs/" configure: exit 0