[CI] C++ standard for the TVM project

Are we using c++ std14 or std17 for the tvm project ? From what I can tell, it looks like std14.

If so, is the CI expected to fail on C++17 only features ?

cc : @tqchen

I think so, we only compile with std=c++14, so it should fail on new things that are in c++17

So if you look at : https://github.com/apache/incubator-tvm/blob/main/src/runtime/micro/micro_session.cc

You can see that there is a : static constexpr const size_t kReceiveBufferSizeBytes = 128; which is declared but not defined and used directly below as an argument which leads to linking failure in our dev. environment in < c++17 ( in C++17, I believe it does an inline directly).

However, the tvm upstream CI does not see this issue and Im quite puzzled how it only gives the error in my local dev. environment when built with USE_MICRO. While the fix is trivial, I was looking how this escapes CI.

This is certainly interesting. I think the behavior depends on the debug/release and whether the symbol is inlined. This is indeed a problem that we can see in a few places. The simplest thing is to re-assign a local var before use