Skip to content

Compilation error with GCC 10.2 #162

@herwinw

Description

@herwinw
FAILED: jsrc/CMakeFiles/j.dir/Debug/verbs/dyadic/take_drop.cpp.o 
/usr/bin/c++ -Dj_EXPORTS -DCMAKE_INTDIR=\"Debug\" -I../jsrc -g -fPIC -fvisibility=hidden -fPIE -fPIC -Wfatal-errors -fdiagnostics-color=always -Werror -Wall -Wextra -Wunused-macros -Wno-error=unused-macros -Wno-unused-parameter -Wno-unused-value -Wno-unused-variable -Wno-sign-compare -std=c++17 -MD -MT jsrc/CMakeFiles/j.dir/Debug/verbs/dyadic/take_drop.cpp.o -MF jsrc/CMakeFiles/j.dir/Debug/verbs/dyadic/take_drop.cpp.o.d -o jsrc/CMakeFiles/j.dir/Debug/verbs/dyadic/take_drop.cpp.o -c ../jsrc/verbs/dyadic/take_drop.cpp
In file included from ../jsrc/j.h:1042,
                 from ../jsrc/array.hpp:5,
                 from ../jsrc/verbs/dyadic/take_drop.cpp:5:
../jsrc/verbs/dyadic/take_drop.cpp: In function ‘AD* jttks(J, array, array)’:
../jsrc/verbs/dyadic/take_drop.cpp:82:74: error: cast between incompatible function types from ‘AD* (*)(J, A, A)’ {aka ‘AD* (*)(JST*, AD*, AD*)’} to ‘AF’ {aka ‘AD* (*)()’} [-Werror=cast-function-type]
   82 |         x        = irs2(vec(INT, r - m, m + u), SPA(wp, x), 0L, 1L, -1L, reinterpret_cast<AF>(jttake));
      |                                                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsrc/ja.h:270:80: note: in definition of macro ‘irs2’
  270 | #define irs2(x0, x1, x2, x3, x4, x5) jtirs2(jt, (x0), (x1), (x2), (x3), (x4), (x5))
      |                                                                                ^~
compilation terminated due to -Wfatal-errors.

Compiler version is g++ (Debian 10.2.1-6) 10.2.1 20210110. The CI uses an older version of GCC (7.5.0), which seems to work fine. Compiling with clang 11.0.1-2 works fine on my system as well.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions