Quantcast
Channel: Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 1616

error: declaration is incompatible (regparm involved)

$
0
0

hi, i'm trying to build a project (https://github.com/riclas/rstm/) with ICC but i get the following error:

libstm/txthread.cpp(138): error: declaration is incompatible with "__attribute((regparm(3))) bool (*volatile stm::TxThread::tmbegin)(stm::TxThread *)" (declared at line 152 of "include/stm/txthread.hpp")

    __attribute__((regparm(3))) bool (*volatile TxThread::tmbegin)(TxThread*) = begin_CGL;

 

txthread.cpp(138): bool TM_FASTCALL (*volatile TxThread::tmbegin)(TxThread*) = begin_CGL;

txthread.hpp(152): static TM_FASTCALL bool(*volatile tmbegin)(TxThread*);

TM_FASTCALL is a macro that expands into: __attribute__((regparm(3)))

This works fine in GCC. It also works if i don't define TM_FASTCALL, but then there are other problems, and i'm not sure if this is the root cause or not.

Thanks for any tips, cheers.

 


Viewing all articles
Browse latest Browse all 1616

Trending Articles