EOSCC v1.6.3 Release

Jeeyong Um
2 min readOct 7, 2019

https://github.com/turnpike/eoscc/releases/tag/v1.6.3

I want to introduce EOSCC v1.6.3 (FKA sio4.cdt), the EOSIO Compiler Collection. EOSCC is an alternative to EOSIO.CDT (Contract Development Toolkit) including contract compiler and standard libraries with hotfixes and experimental features. EOSIO.CDT provides more tools to help development, but the current build of EOSCC excludes them except for the core tools for building WASM binary and ABI.

After the release of v1.6.3 preview 1, I accepted several feedbacks. For a full list, please refer to the release notes.

Package name

The name of package is changed to EOSCC. The former name “sio4.cdt” doesn’t explain what it does. Now you can guess its functionalities by its name. :)

Installable along with EOSIO.CDT

Not to make developers learn new things, I tried making user experience as similar as possible to that of EOSIO.CDT. However, not many want to take risk of replacing official tools with experimental one.

EOSCC becomes installable along with EOSIO.CDT, but the name of its executables has changed to avoid conflicts.

  • eoscc (eosio-cc)
  • eosc++ (eosio-cpp)
  • eosld (eosio-ld)
  • eosranlib (eosio-ranlib)
  • eosar (eosio-ar)

For example, you can compile your contract with new command:

eosc++ -o test.wasm test.cpp --abigen

You can use both tools and compare results generated.

Other changes

Add support for RTTI

EOSIO.CDT doesn’t support the features that requires RTTI (Run-Time Type Information). EOSCC supports RTTI-related features like typeid operator or dynamic_cast expression. You can include <typeinfo> or <typeindex> header in your contract.

Update libcxx to v9.0.0

There are no significant changes compared to v9.0.0-rc2 in EOSIO contract use case, but the shipped version of libcxx is upgraded to v9.0.0 according to official release.

Add missing operator < for permission_level

Because < operator was not overloaded for eosio::permission_level, so some of standard containers like std::set could not be used with permission level type. This fix is applied to EOSIO.CDT too.

Enforce cxx build with eosc++

When you built cpp and c source files together by eosio-cpp, it failed because internal driver handles c source file with c++ compile options. This fix is applied to EOSIO.CDT too.

Disclaimer

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

--

--