Skip to content

Compilation failure with gcc 6 #2874

@WilliamTambellini

Description

@WilliamTambellini

Hello
The master branch does not compile anymore with gcc6.1 under Linux:

In file included from repos/arrayfire/src/api/c/type_util.cpp:12:0:
repos/arrayfire/src/api/c/type_util.cpp: In function ‘size_t size_of(af_dtype)’:
repos/arrayfire/src/backend/common/err_common.hpp:160:62: error: use of deleted function ‘TypeError::TypeError(TypeError&&)’
type, boost::stacktrace::stacktrace());
^
repos/arrayfire/src/api/c/type_util.cpp:32:22: note: in expansion of macro ‘TYPE_ERROR’
default: TYPE_ERROR(1, type);
repos/arrayfire/src/backend/common/err_common.hpp:72:5: error: use of deleted function ‘AfError::AfError(AfError&&)’
repos/arrayfire/src/backend/common/err_common.hpp:44:5: note: ‘AfError::AfError(AfError&&) noexcept’ is implicitly deleted because its exception-specification does not match the implicit exception-specification ‘’
AfError(AfError&& other) noexcept = default;
^~~~~~~

Commenting out the move ctors
https://en.cppreference.com/w/cpp/language/move_constructor
in err_common.hpp resolves the issue even if, sure, not ideal.

Looks like the standard changed about default ctors:
https://stackoverflow.com/questions/29483120/program-with-noexcept-constructor-accepted-by-gcc-rejected-by-clang

Are you officially dropping gcc6 support ?
Kind
W.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions