Skip to content
This repository has been archived by the owner on Sep 21, 2024. It is now read-only.

Building with g++ 6.3.1 fails #23

Open
dkaparis opened this issue Feb 1, 2017 · 0 comments · May be fixed by #24
Open

Building with g++ 6.3.1 fails #23

dkaparis opened this issue Feb 1, 2017 · 0 comments · May be fixed by #24

Comments

@dkaparis
Copy link

dkaparis commented Feb 1, 2017

Building under arch linux, g++ 6.3.1, fails.
Errors encountered:

[  1%] Building CXX object src/CMakeFiles/odata-library.dir/common/asyncrt_utils.cpp.o
In file included from .../odatacpp-server/include/odata/common/compat/linux_compat.h:70:0,
                 from .../odatacpp-server/include/odata/common/platform.h:68,
                 from .../odatacpp-server/src/common/asyncrt_utils.cpp:7:
.../odatacpp-server/include/odata/common/compat/SafeInt3.hpp: In static member function ‘static SafeIntError DivisionHelper<T, U, 3>::Divide(const T&, const long long unsigned int&, T&)’:
.../odatacpp-server/include/odata/common/compat/SafeInt3.hpp:3249:9: error: this ‘else’ clause does not guard... [-Werror=misleading-indentation]
         else // Corner case
         ^~~~
.../odatacpp-server/include/odata/common/compat/SafeInt3.hpp:3259:13: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘else’
             return SafeIntNoError;
             ^~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [src/CMakeFiles/odata-library.dir/build.make:63: src/CMakeFiles/odata-library.dir/common/asyncrt_utils.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:86: src/CMakeFiles/odata-library.dir/all] Error 2
make: *** [Makefile:95: all] Error 2
[ 92%] Building CXX object tests/functional/CMakeFiles/odata-tests-functional.dir/core_test/odata_value_test.cpp.o
In file included from .../odatacpp-server/tests/framework/UnitTestpp/unittestpp.h:37:0,
                 from .../odatacpp-server/tests/functional/core_test/../odata_tests.h:17,
                 from .../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:7:
.../odatacpp-server/tests/functional/core_test/odata_value_test.cpp: In member function ‘virtual void tests::functional::_odata::Suiteodata_value_test_cases::Testprimitive_value::RunImpl() const’:
.../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:89:53: error: call of overloaded ‘abs(double)’ is ambiguous
  VERIFY_IS_TRUE(abs(float_v->as<float>() - -121.2312) < 0.00001);
                                                     ^
.../odatacpp-server/tests/framework/UnitTestpp/src/CheckMacros.h:138:99: note: in definition of macro ‘CHECK_EQUAL’
 al(*UnitTest::CurrentTest::Results(), #expected, #actual, expected, actual, UnitTest::TestDetails(*UnitTest::CurrentTest::Details(), __LINE__), ##__VA_ARGS__); \
                                                                     ^~~~~~
.../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:89:2: note: in expansion of macro ‘VERIFY_IS_TRUE’
  VERIFY_IS_TRUE(abs(float_v->as<float>() - -121.2312) < 0.00001);
  ^
In file included from /usr/include/c++/6.3.1/cstdlib:75:0,
                 from /usr/include/c++/6.3.1/ext/string_conversions.h:41,
                 from /usr/include/c++/6.3.1/bits/basic_string.h:5402,
                 from /usr/include/c++/6.3.1/string:52,
                 from .../odatacpp-server/include/odata/common/utility.h:10,
                 from .../odatacpp-server/include/odata/edm/odata_edm.h:9,
                 from .../odatacpp-server/include/odata/core/odata_value.h:9,
                 from .../odatacpp-server/include/odata/core/odata_core.h:9,
                 from .../odatacpp-server/tests/functional/core_test/../odata_tests.h:9,
                 from .../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:7:
/usr/include/stdlib.h:735:12: note: candidate: int abs(int)
 extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur;
            ^~~
In file included from /usr/include/c++/6.3.1/ext/string_conversions.h:41:0,
                 from /usr/include/c++/6.3.1/bits/basic_string.h:5402,
                 from /usr/include/c++/6.3.1/string:52,
                 from .../odatacpp-server/include/odata/common/utility.h:10,
                 from .../odatacpp-server/include/odata/edm/odata_edm.h:9,
                 from .../odatacpp-server/include/odata/core/odata_value.h:9,
                 from .../odatacpp-server/include/odata/core/odata_core.h:9,
                 from .../odatacpp-server/tests/functional/core_test/../odata_tests.h:9,
                 from .../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:7:
/usr/include/c++/6.3.1/cstdlib:180:3: note: candidate: long long int std::abs(long long int)
   abs(long long __x) { return __builtin_llabs (__x); }
   ^~~
/usr/include/c++/6.3.1/cstdlib:172:3: note: candidate: long int std::abs(long int)
   abs(long __i) { return __builtin_labs(__i); }
   ^~~
.../odatacpp-server/tests/functional/core_test/odata_value_test.cpp: In member function ‘virtual void tests::functional::_odata::Suiteodata_value_test_cases::Teststructured_value::RunImpl() const’:
.../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:245:38: error: call of overloaded ‘abs(double)’ is ambiguous
  double as = abs(db - -32342212.23424);
                                      ^
In file included from /usr/include/c++/6.3.1/cstdlib:75:0,
                 from /usr/include/c++/6.3.1/ext/string_conversions.h:41,
                 from /usr/include/c++/6.3.1/bits/basic_string.h:5402,
                 from /usr/include/c++/6.3.1/string:52,
                 from .../odatacpp-server/include/odata/common/utility.h:10,
                 from .../odatacpp-server/include/odata/edm/odata_edm.h:9,
                 from .../odatacpp-server/include/odata/core/odata_value.h:9,
                 from .../odatacpp-server/include/odata/core/odata_core.h:9,
                 from .../odatacpp-server/tests/functional/core_test/../odata_tests.h:9,
                 from .../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:7:
/usr/include/stdlib.h:735:12: note: candidate: int abs(int)
 extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur;
            ^~~
In file included from /usr/include/c++/6.3.1/ext/string_conversions.h:41:0,
                 from /usr/include/c++/6.3.1/bits/basic_string.h:5402,
                 from /usr/include/c++/6.3.1/string:52,
                 from .../odatacpp-server/include/odata/common/utility.h:10,
                 from .../odatacpp-server/include/odata/edm/odata_edm.h:9,
                 from .../odatacpp-server/include/odata/core/odata_value.h:9,
                 from .../odatacpp-server/include/odata/core/odata_core.h:9,
                 from .../odatacpp-server/tests/functional/core_test/../odata_tests.h:9,
                 from .../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:7:
/usr/include/c++/6.3.1/cstdlib:180:3: note: candidate: long long int std::abs(long long int)
   abs(long long __x) { return __builtin_llabs (__x); }
   ^~~
/usr/include/c++/6.3.1/cstdlib:172:3: note: candidate: long int std::abs(long int)
   abs(long __i) { return __builtin_labs(__i); }
   ^~~
In file included from .../odatacpp-server/tests/framework/UnitTestpp/unittestpp.h:37:0,
                 from .../odatacpp-server/tests/functional/core_test/../odata_tests.h:17,
                 from .../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:7:
.../odatacpp-server/tests/functional/core_test/odata_value_test.cpp: In member function ‘virtual void tests::functional::_odata::Suiteodata_value_test_cases::Testprimitive_collection_value::RunImpl() const’:
.../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:373:58: error: call of overloaded ‘abs(double)’ is ambiguous
  VERIFY_IS_TRUE(abs(p_value_1->as<double>() - -12123.2312) < 0.000001);
                                                          ^
.../odatacpp-server/tests/framework/UnitTestpp/src/CheckMacros.h:138:99: note: in definition of macro ‘CHECK_EQUAL’
 al(*UnitTest::CurrentTest::Results(), #expected, #actual, expected, actual, UnitTest::TestDetails(*UnitTest::CurrentTest::Details(), __LINE__), ##__VA_ARGS__); \
                                                                     ^~~~~~
.../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:373:2: note: in expansion of macro ‘VERIFY_IS_TRUE’
  VERIFY_IS_TRUE(abs(p_value_1->as<double>() - -12123.2312) < 0.000001);
  ^
In file included from /usr/include/c++/6.3.1/cstdlib:75:0,
                 from /usr/include/c++/6.3.1/ext/string_conversions.h:41,
                 from /usr/include/c++/6.3.1/bits/basic_string.h:5402,
                 from /usr/include/c++/6.3.1/string:52,
                 from .../odatacpp-server/include/odata/common/utility.h:10,
                 from .../odatacpp-server/include/odata/edm/odata_edm.h:9,
                 from .../odatacpp-server/include/odata/core/odata_value.h:9,
                 from .../odatacpp-server/include/odata/core/odata_core.h:9,
                 from .../odatacpp-server/tests/functional/core_test/../odata_tests.h:9,
                 from .../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:7:
/usr/include/stdlib.h:735:12: note: candidate: int abs(int)
 extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur;
            ^~~
In file included from /usr/include/c++/6.3.1/ext/string_conversions.h:41:0,
                 from /usr/include/c++/6.3.1/bits/basic_string.h:5402,
                 from /usr/include/c++/6.3.1/string:52,
                 from .../odatacpp-server/include/odata/common/utility.h:10,
                 from .../odatacpp-server/include/odata/edm/odata_edm.h:9,
                 from .../odatacpp-server/include/odata/core/odata_value.h:9,
                 from .../odatacpp-server/include/odata/core/odata_core.h:9,
                 from .../odatacpp-server/tests/functional/core_test/../odata_tests.h:9,
                 from .../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:7:
/usr/include/c++/6.3.1/cstdlib:180:3: note: candidate: long long int std::abs(long long int)
   abs(long long __x) { return __builtin_llabs (__x); }
   ^~~
/usr/include/c++/6.3.1/cstdlib:172:3: note: candidate: long int std::abs(long int)
   abs(long __i) { return __builtin_labs(__i); }
   ^~~
In file included from .../odatacpp-server/tests/framework/UnitTestpp/unittestpp.h:37:0,
                 from .../odatacpp-server/tests/functional/core_test/../odata_tests.h:17,
                 from .../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:7:
.../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:375:57: error: call of overloaded ‘abs(double)’ is ambiguous
  VERIFY_IS_TRUE(abs(p_value_2->as<double>() - -123123213) < 0.000001);
                                                         ^
.../odatacpp-server/tests/framework/UnitTestpp/src/CheckMacros.h:138:99: note: in definition of macro ‘CHECK_EQUAL’
 al(*UnitTest::CurrentTest::Results(), #expected, #actual, expected, actual, UnitTest::TestDetails(*UnitTest::CurrentTest::Details(), __LINE__), ##__VA_ARGS__); \
                                                                     ^~~~~~
.../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:375:2: note: in expansion of macro ‘VERIFY_IS_TRUE’
  VERIFY_IS_TRUE(abs(p_value_2->as<double>() - -123123213) < 0.000001);
  ^
In file included from /usr/include/c++/6.3.1/cstdlib:75:0,
                 from /usr/include/c++/6.3.1/ext/string_conversions.h:41,
                 from /usr/include/c++/6.3.1/bits/basic_string.h:5402,
                 from /usr/include/c++/6.3.1/string:52,
                 from .../odatacpp-server/include/odata/common/utility.h:10,
                 from .../odatacpp-server/include/odata/edm/odata_edm.h:9,
                 from .../odatacpp-server/include/odata/core/odata_value.h:9,
                 from .../odatacpp-server/include/odata/core/odata_core.h:9,
                 from .../odatacpp-server/tests/functional/core_test/../odata_tests.h:9,
                 from .../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:7:
/usr/include/stdlib.h:735:12: note: candidate: int abs(int)
 extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur;
            ^~~
In file included from /usr/include/c++/6.3.1/ext/string_conversions.h:41:0,
                 from /usr/include/c++/6.3.1/bits/basic_string.h:5402,
                 from /usr/include/c++/6.3.1/string:52,
                 from .../odatacpp-server/include/odata/common/utility.h:10,
                 from .../odatacpp-server/include/odata/edm/odata_edm.h:9,
                 from .../odatacpp-server/include/odata/core/odata_value.h:9,
                 from .../odatacpp-server/include/odata/core/odata_core.h:9,
                 from .../odatacpp-server/tests/functional/core_test/../odata_tests.h:9,
                 from .../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:7:
/usr/include/c++/6.3.1/cstdlib:180:3: note: candidate: long long int std::abs(long long int)
   abs(long long __x) { return __builtin_llabs (__x); }
   ^~~
/usr/include/c++/6.3.1/cstdlib:172:3: note: candidate: long int std::abs(long int)
   abs(long __i) { return __builtin_labs(__i); }
   ^~~
In file included from .../odatacpp-server/tests/framework/UnitTestpp/unittestpp.h:37:0,
                 from .../odatacpp-server/tests/functional/core_test/../odata_tests.h:17,
                 from .../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:7:
.../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:377:56: error: call of overloaded ‘abs(double)’ is ambiguous
  VERIFY_IS_TRUE(abs(p_value_3->as<double>() - -121.2312) < 0.000001);
                                                        ^
.../odatacpp-server/tests/framework/UnitTestpp/src/CheckMacros.h:138:99: note: in definition of macro ‘CHECK_EQUAL’
 al(*UnitTest::CurrentTest::Results(), #expected, #actual, expected, actual, UnitTest::TestDetails(*UnitTest::CurrentTest::Details(), __LINE__), ##__VA_ARGS__); \
                                                                     ^~~~~~
.../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:377:2: note: in expansion of macro ‘VERIFY_IS_TRUE’
  VERIFY_IS_TRUE(abs(p_value_3->as<double>() - -121.2312) < 0.000001);
  ^
In file included from /usr/include/c++/6.3.1/cstdlib:75:0,
                 from /usr/include/c++/6.3.1/ext/string_conversions.h:41,
                 from /usr/include/c++/6.3.1/bits/basic_string.h:5402,
                 from /usr/include/c++/6.3.1/string:52,
                 from .../odatacpp-server/include/odata/common/utility.h:10,
                 from .../odatacpp-server/include/odata/edm/odata_edm.h:9,
                 from .../odatacpp-server/include/odata/core/odata_value.h:9,
                 from .../odatacpp-server/include/odata/core/odata_core.h:9,
                 from .../odatacpp-server/tests/functional/core_test/../odata_tests.h:9,
                 from .../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:7:
/usr/include/stdlib.h:735:12: note: candidate: int abs(int)
 extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur;
            ^~~
In file included from /usr/include/c++/6.3.1/ext/string_conversions.h:41:0,
                 from /usr/include/c++/6.3.1/bits/basic_string.h:5402,
                 from /usr/include/c++/6.3.1/string:52,
                 from .../odatacpp-server/include/odata/common/utility.h:10,
                 from .../odatacpp-server/include/odata/edm/odata_edm.h:9,
                 from .../odatacpp-server/include/odata/core/odata_value.h:9,
                 from .../odatacpp-server/include/odata/core/odata_core.h:9,
                 from .../odatacpp-server/tests/functional/core_test/../odata_tests.h:9,
                 from .../odatacpp-server/tests/functional/core_test/odata_value_test.cpp:7:
/usr/include/c++/6.3.1/cstdlib:180:3: note: candidate: long long int std::abs(long long int)
   abs(long long __x) { return __builtin_llabs (__x); }
   ^~~
/usr/include/c++/6.3.1/cstdlib:172:3: note: candidate: long int std::abs(long int)
   abs(long __i) { return __builtin_labs(__i); }
   ^~~
make[2]: *** [tests/functional/CMakeFiles/odata-tests-functional.dir/build.make:207: tests/functional/CMakeFiles/odata-tests-functional.dir/core_test/odata_value_test.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:353: tests/functional/CMakeFiles/odata-tests-functional.dir/all] Error 2
make: *** [Makefile:95: all] Error 2

The former is a warning for missing braces around else clause, the latter seems to be remedied by std namespace qualifying calls to abs throughout.

@dkaparis dkaparis linked a pull request Feb 1, 2017 that will close this issue
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant