EOS smart contracts are writeen in c++, but does EOS VM also support (Ethereum's) solidity?
According to official eos developer guide
It doesn't support solidity now. It only supports c++ but they have also mentioned that there are other languages which will be supported in the future.
Rust, Python, and Solidity will be supported in the future updates.
Dan mentioned in a comment on this website that "EOSIO will not support the EVM."
However, if a Solidity to WASM compiler will exist, then Solidity can be supported.