Use vanilla clang & llvm
Closed this issue · 1 comments
conr2d commented
eoscc uses the customized version of clang & llvm (eosio_llvm submodule) adopted from eosio.cdt.
The last released version of llvm is 11, but eoscc still stays at 7 due to diff between vanilla and eosio_llvm. Let's move to vanilla clang & llvm to utilize the improvements in the latest version.
The biggest obstacle to this transfer is ABI generation. eosio-abigen
is a deprecated tool, and user-defined attributes like [[eosio::action]]
is not supported in vanilla, so we need to implement ABI generator for our own.
The code written for our new 2.x compiler using vanilla will be a little different from that for eosio.cdt, but code compatibility needs to be kept as possible as it can.