TVM with GCC 8.1 build errors

Hi all. I found that TVM won’t build with GCC 8.1 with the following build error. (GCC 6 and clang 6 works fine tough…)

/home/marty/文件/tvm/src/lang/reflection.cc:379:24:   required from here
/home/marty/文件/tvm/include/tvm/packed_func_ext.h:96:7: error: static assertion failed: Conversion only works for NodeRef
       std::is_base_of<NodeRef, TNodeRef>::value,
       ^~~
/home/marty/文件/tvm/include/tvm/packed_func_ext.h:104:10: error: no matching function for call to 'std::__cxx11::basic_string<char>::basic_string(std::shared_ptr<tvm::Node>&)'
   return TNodeRef(sptr);
          ^~~~~~~~~~~~~~

Have anyone met the same issue?

thanks for reporting this issue, https://github.com/dmlc/tvm/pull/1304 should fix it.

The error was due to gcc-8 have some problem redirecting to the right operator T (where T is double, or int) inside the inside a template function. This PR introduces a workaround of that

Thanks. It works now.