doe300/VC4C

Compile failure with Clang/LLVM 11

zingaburga opened this issue · 2 comments

I used to have Clang/LLVM 8 and Clang/LLVM 11 installed, however I was getting issues when running OpenCL code which appeared to point to a conflict between the two (like it was using v8 compiled code against v11 tools or something like that).

To try to remedy that, I removed Clang/LLVM 8, leaving only 11 behind, and rebuilt, but this seems to now fail (I'm guessing it originally decided to build against version 8).

From a quick glance, it looks like the key issue might be not being able to convert strings to/from llvm::StringRef.

Build log:

/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp: In constructor ‘vc4c::llvm2qasm::BitcodeReader::BitcodeReader(std::istream&, vc4c::SourceType)’:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:129:111: error: no matching function for call to ‘vc4c::CompilationError::CompilationError(vc4c::CompilationStep, const char [29], llvm::StringRef)’
  129 |            throw CompilationError(CompilationStep::PARSER, "Error parsing LLVM IR module", error.getMessage());
      |                                                                                                              ^

In file included from /home/pi/dev/opencl/VC4C/src/llvm/../Locals.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../GlobalValues.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Module.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Parser.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/home/pi/dev/opencl/VC4C/include/CompilationError.h:74:9: note: candidate: ‘vc4c::CompilationError::CompilationError(vc4c::CompilationError&&)’
   74 |         CompilationError(CompilationError&&) = default; // RPi cross-compiler throws on noexcept
      |         ^~~~~~~~~~~~~~~~
/home/pi/dev/opencl/VC4C/include/CompilationError.h:74:9: note:   candidate expects 1 argument, 3 provided
/home/pi/dev/opencl/VC4C/include/CompilationError.h:73:9: note: candidate: ‘vc4c::CompilationError::CompilationError(const vc4c::CompilationError&)’
   73 |         CompilationError(const CompilationError&) = default;
      |         ^~~~~~~~~~~~~~~~
/home/pi/dev/opencl/VC4C/include/CompilationError.h:73:9: note:   candidate expects 1 argument, 3 provided
/home/pi/dev/opencl/VC4C/include/CompilationError.h:72:9: note: candidate: ‘vc4c::CompilationError::CompilationError(vc4c::CompilationStep, const string&, const string&)’
   72 |         CompilationError(CompilationStep step, const std::string& message, const std::string& object);
      |         ^~~~~~~~~~~~~~~~
/home/pi/dev/opencl/VC4C/include/CompilationError.h:72:95: note:   no known conversion for argument 3 from ‘llvm::StringRef’ to ‘const string&’ {aka ‘const std::__cxx11::basic_string<char>&’}
   72 |         CompilationError(CompilationStep step, const std::string& message, const std::string& object);
      |                                                                            ~~~~~~~~~~~~~~~~~~~^~~~~~
/home/pi/dev/opencl/VC4C/include/CompilationError.h:71:9: note: candidate: ‘vc4c::CompilationError::CompilationError(vc4c::CompilationStep, const string&)’
   71 |         CompilationError(CompilationStep step, const std::string& message);
      |         ^~~~~~~~~~~~~~~~
/home/pi/dev/opencl/VC4C/include/CompilationError.h:71:9: note:   candidate expects 2 arguments, 3 provided
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp: In function ‘void extractKernelMetadata(vc4c::Method&, const llvm::Function&, const llvm::Module&, const llvm::LLVMContext&)’:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:164:13: warning: unused variable ‘metadata’ [-Wunused-variable]
  164 |     if(auto metadata = func.getMetadata("kernel_arg_access_qual"))
      |             ^~~~~~~~
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:179:72: error: no match for ‘operator=’ (operand types are ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} and ‘llvm::StringRef’)
  179 |                 kernel.parameters.at(i).origTypeName = name->getString();
      |                                                                        ^
In file included from /usr/include/c++/10/string:55,
                 from /usr/include/c++/10/stdexcept:39,
                 from /home/pi/dev/opencl/VC4C/include/CompilationError.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Locals.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../GlobalValues.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Module.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Parser.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/bits/basic_string.h:665:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
  665 |       operator=(const basic_string& __str)
      |       ^~~~~~~~
/usr/include/c++/10/bits/basic_string.h:665:37: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘const std::__cxx11::basic_string<char>&’
  665 |       operator=(const basic_string& __str)
      |                 ~~~~~~~~~~~~~~~~~~~~^~~~~
/usr/include/c++/10/bits/basic_string.h:675:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
  675 |       operator=(const _CharT* __s)
      |       ^~~~~~~~
/usr/include/c++/10/bits/basic_string.h:675:31: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘const char*’
  675 |       operator=(const _CharT* __s)
      |                 ~~~~~~~~~~~~~~^~~
/usr/include/c++/10/bits/basic_string.h:686:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(_CharT) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
  686 |       operator=(_CharT __c)
      |       ^~~~~~~~
/usr/include/c++/10/bits/basic_string.h:686:24: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘char’
  686 |       operator=(_CharT __c)
      |                 ~~~~~~~^~~
/usr/include/c++/10/bits/basic_string.h:703:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
  703 |       operator=(basic_string&& __str)
      |       ^~~~~~~~
/usr/include/c++/10/bits/basic_string.h:703:32: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘std::__cxx11::basic_string<char>&&’
  703 |       operator=(basic_string&& __str)
      |                 ~~~~~~~~~~~~~~~^~~~~
/usr/include/c++/10/bits/basic_string.h:766:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(std::initializer_list<_Tp>) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
  766 |       operator=(initializer_list<_CharT> __l)
      |       ^~~~~~~~
/usr/include/c++/10/bits/basic_string.h:766:42: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘std::initializer_list<char>’
  766 |       operator=(initializer_list<_CharT> __l)
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:189:13: warning: unused variable ‘metadata’ [-Wunused-variable]
  189 |     if(auto metadata = func.getMetadata("kernel_arg_base_type"))
      |             ^~~~~~~~
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:228:73: error: no match for ‘operator=’ (operand types are ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} and ‘llvm::StringRef’)
  228 |                 kernel.parameters.at(i).parameterName = name->getString();
      |                                                                         ^
In file included from /usr/include/c++/10/string:55,
                 from /usr/include/c++/10/stdexcept:39,
                 from /home/pi/dev/opencl/VC4C/include/CompilationError.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Locals.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../GlobalValues.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Module.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Parser.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/bits/basic_string.h:665:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
  665 |       operator=(const basic_string& __str)
      |       ^~~~~~~~
/usr/include/c++/10/bits/basic_string.h:665:37: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘const std::__cxx11::basic_string<char>&’
  665 |       operator=(const basic_string& __str)
      |                 ~~~~~~~~~~~~~~~~~~~~^~~~~
/usr/include/c++/10/bits/basic_string.h:675:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
  675 |       operator=(const _CharT* __s)
      |       ^~~~~~~~
/usr/include/c++/10/bits/basic_string.h:675:31: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘const char*’
  675 |       operator=(const _CharT* __s)
      |                 ~~~~~~~~~~~~~~^~~
/usr/include/c++/10/bits/basic_string.h:686:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(_CharT) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
  686 |       operator=(_CharT __c)
      |       ^~~~~~~~
/usr/include/c++/10/bits/basic_string.h:686:24: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘char’
  686 |       operator=(_CharT __c)
      |                 ~~~~~~~^~~
/usr/include/c++/10/bits/basic_string.h:703:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
  703 |       operator=(basic_string&& __str)
      |       ^~~~~~~~
/usr/include/c++/10/bits/basic_string.h:703:32: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘std::__cxx11::basic_string<char>&&’
  703 |       operator=(basic_string&& __str)
      |                 ~~~~~~~~~~~~~~~^~~~~
/usr/include/c++/10/bits/basic_string.h:766:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(std::initializer_list<_Tp>) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
  766 |       operator=(initializer_list<_CharT> __l)
      |       ^~~~~~~~
/usr/include/c++/10/bits/basic_string.h:766:42: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘std::initializer_list<char>’
  766 |       operator=(initializer_list<_CharT> __l)
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp: In lambda function:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:293:78: error: no match for ‘operator<<’ (operand types are ‘std::basic_ostream<wchar_t>’ and ‘llvm::StringRef’)
  293 |                 logging::Level::DEBUG, log << "Found SPIR kernel-function: " << func.getName() << logging::endl);
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~ ~~~~~~~~~~~~~~
      |                                            |                                                |
      |                                            std::basic_ostream<wchar_t>                      llvm::StringRef
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:108:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ostream_type& (*)(std::basic_ostream<_CharT, _Traits>::__ostream_type&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  108 |       operator<<(__ostream_type& (*__pf)(__ostream_type&))
      |       ^~~~~~~~
/usr/include/c++/10/ostream:108:36: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘std::basic_ostream<wchar_t>::__ostream_type& (*)(std::basic_ostream<wchar_t>::__ostream_type&)’ {aka ‘std::basic_ostream<wchar_t>& (*)(std::basic_ostream<wchar_t>&)’}
  108 |       operator<<(__ostream_type& (*__pf)(__ostream_type&))
      |                  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/10/ostream:117:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ios_type& (*)(std::basic_ostream<_CharT, _Traits>::__ios_type&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ios_type = std::basic_ios<wchar_t>]’
  117 |       operator<<(__ios_type& (*__pf)(__ios_type&))
      |       ^~~~~~~~
/usr/include/c++/10/ostream:117:32: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘std::basic_ostream<wchar_t>::__ios_type& (*)(std::basic_ostream<wchar_t>::__ios_type&)’ {aka ‘std::basic_ios<wchar_t>& (*)(std::basic_ios<wchar_t>&)’}
  117 |       operator<<(__ios_type& (*__pf)(__ios_type&))
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/c++/10/ostream:127:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  127 |       operator<<(ios_base& (*__pf) (ios_base&))
      |       ^~~~~~~~
/usr/include/c++/10/ostream:127:30: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘std::ios_base& (*)(std::ios_base&)’
  127 |       operator<<(ios_base& (*__pf) (ios_base&))
      |                  ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/usr/include/c++/10/ostream:166:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  166 |       operator<<(long __n)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:166:23: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘long int’
  166 |       operator<<(long __n)
      |                  ~~~~~^~~
/usr/include/c++/10/ostream:170:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  170 |       operator<<(unsigned long __n)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:170:32: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘long unsigned int’
  170 |       operator<<(unsigned long __n)
      |                  ~~~~~~~~~~~~~~^~~
/usr/include/c++/10/ostream:174:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  174 |       operator<<(bool __n)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:174:23: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘bool’
  174 |       operator<<(bool __n)
      |                  ~~~~~^~~
In file included from /usr/include/c++/10/ostream:784,
                 from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/bits/ostream.tcc:91:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>]’
   91 |     basic_ostream<_CharT, _Traits>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/10/bits/ostream.tcc:92:22: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘short int’
   92 |     operator<<(short __n)
      |                ~~~~~~^~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:181:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  181 |       operator<<(unsigned short __n)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:181:33: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘short unsigned int’
  181 |       operator<<(unsigned short __n)
      |                  ~~~~~~~~~~~~~~~^~~
In file included from /usr/include/c++/10/ostream:784,
                 from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/bits/ostream.tcc:105:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>]’
  105 |     basic_ostream<_CharT, _Traits>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/10/bits/ostream.tcc:106:20: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘int’
  106 |     operator<<(int __n)
      |                ~~~~^~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:192:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  192 |       operator<<(unsigned int __n)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:192:31: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘unsigned int’
  192 |       operator<<(unsigned int __n)
      |                  ~~~~~~~~~~~~~^~~
/usr/include/c++/10/ostream:201:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  201 |       operator<<(long long __n)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:201:28: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘long long int’
  201 |       operator<<(long long __n)
      |                  ~~~~~~~~~~^~~
/usr/include/c++/10/ostream:205:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  205 |       operator<<(unsigned long long __n)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:205:37: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘long long unsigned int’
  205 |       operator<<(unsigned long long __n)
      |                  ~~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/10/ostream:220:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  220 |       operator<<(double __f)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:220:25: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘double’
  220 |       operator<<(double __f)
      |                  ~~~~~~~^~~
/usr/include/c++/10/ostream:224:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  224 |       operator<<(float __f)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:224:24: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘float’
  224 |       operator<<(float __f)
      |                  ~~~~~~^~~
/usr/include/c++/10/ostream:232:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  232 |       operator<<(long double __f)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:232:30: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘long double’
  232 |       operator<<(long double __f)
      |                  ~~~~~~~~~~~~^~~
/usr/include/c++/10/ostream:245:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  245 |       operator<<(const void* __p)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:245:30: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘const void*’
  245 |       operator<<(const void* __p)
      |                  ~~~~~~~~~~~~^~~
In file included from /usr/include/c++/10/ostream:784,
                 from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/bits/ostream.tcc:119:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__streambuf_type*) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<wchar_t>]’
  119 |     basic_ostream<_CharT, _Traits>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/10/bits/ostream.tcc:120:34: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘std::basic_ostream<wchar_t>::__streambuf_type*’ {aka ‘std::basic_streambuf<wchar_t>*’}
  120 |     operator<<(__streambuf_type* __sbin)
      |                ~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:112:16: note: candidate: ‘std::wostream& operator<<(std::wostream&, const string&)’
  112 | std::wostream& operator<<(std::wostream& stream, const std::string& string);
      |                ^~~~~~~~
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:112:69: note:   no known conversion for argument 2 from ‘llvm::StringRef’ to ‘const string&’ {aka ‘const std::__cxx11::basic_string<char>&’}
  112 | std::wostream& operator<<(std::wostream& stream, const std::string& string);
      |                                                  ~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /usr/include/llvm-11/llvm/ADT/STLExtras.h:19,
                 from /usr/include/llvm-11/llvm/ADT/StringRef.h:12,
                 from /usr/include/llvm-11/llvm/IR/DiagnosticHandler.h:15,
                 from /usr/include/llvm-11/llvm/IR/LLVMContext.h:18,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:19,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/llvm-11/llvm/ADT/Optional.h:431:14: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, llvm::NoneType)’
  431 | raw_ostream &operator<<(raw_ostream &OS, NoneType);
      |              ^~~~~~~~
/usr/include/llvm-11/llvm/ADT/Optional.h:431:38: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t>’ to ‘llvm::raw_ostream&’
  431 | raw_ostream &operator<<(raw_ostream &OS, NoneType);
      |                         ~~~~~~~~~~~~~^~
/usr/include/llvm-11/llvm/ADT/Optional.h:435:14: note: candidate: ‘template<class T, class> llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::Optional<T>&)’
  435 | raw_ostream &operator<<(raw_ostream &OS, const Optional<T> &O) {
      |              ^~~~~~~~
/usr/include/llvm-11/llvm/ADT/Optional.h:435:14: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:293:94: note:   ‘llvm::StringRef’ is not derived from ‘const llvm::Optional<T>’
  293 |                 logging::Level::DEBUG, log << "Found SPIR kernel-function: " << func.getName() << logging::endl);
      |                                                                                              ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/llvm-11/llvm/IR/Module.h:24,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:20,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/llvm-11/llvm/IR/Comdat.h:63:21: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::Comdat&)’
   63 | inline raw_ostream &operator<<(raw_ostream &OS, const Comdat &C) {
      |                     ^~~~~~~~
/usr/include/llvm-11/llvm/IR/Comdat.h:63:45: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t>’ to ‘llvm::raw_ostream&’
   63 | inline raw_ostream &operator<<(raw_ostream &OS, const Comdat &C) {
      |                                ~~~~~~~~~~~~~^~
In file included from /usr/include/llvm-11/llvm/ADT/APFloat.h:19,
                 from /usr/include/llvm-11/llvm/IR/Type.h:17,
                 from /usr/include/llvm-11/llvm/IR/DerivedTypes.h:23,
                 from /usr/include/llvm-11/llvm/IR/DataLayout.h:26,
                 from /usr/include/llvm-11/llvm/IR/Module.h:25,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:20,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/llvm-11/llvm/ADT/APInt.h:2099:21: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::APInt&)’
 2099 | inline raw_ostream &operator<<(raw_ostream &OS, const APInt &I) {
      |                     ^~~~~~~~
/usr/include/llvm-11/llvm/ADT/APInt.h:2099:45: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t>’ to ‘llvm::raw_ostream&’
 2099 | inline raw_ostream &operator<<(raw_ostream &OS, const APInt &I) {
      |                                ~~~~~~~~~~~~~^~
In file included from /usr/include/llvm-11/llvm/ADT/FloatingPointMode.h:17,
                 from /usr/include/llvm-11/llvm/ADT/APFloat.h:21,
                 from /usr/include/llvm-11/llvm/IR/Type.h:17,
                 from /usr/include/llvm-11/llvm/IR/DerivedTypes.h:23,
                 from /usr/include/llvm-11/llvm/IR/DataLayout.h:26,
                 from /usr/include/llvm-11/llvm/IR/Module.h:25,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:20,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/llvm-11/llvm/Support/raw_ostream.h:375:1: note: candidate: ‘template<class OStream, class T> std::enable_if_t<((! std::is_reference< <template-parameter-1-1> >::value) && std::is_base_of<llvm::raw_ostream, OStream>::value), OStream&&> llvm::operator<<(OStream&&, const T&)’
  375 | operator<<(OStream &&OS, const T &Value) {
      | ^~~~~~~~
/usr/include/llvm-11/llvm/Support/raw_ostream.h:375:1: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/10/bits/move.h:57,
                 from /usr/include/c++/10/bits/nested_exception.h:40,
                 from /usr/include/c++/10/exception:148,
                 from /usr/include/c++/10/stdexcept:38,
                 from /home/pi/dev/opencl/VC4C/include/CompilationError.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Locals.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../GlobalValues.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Module.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Parser.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/type_traits: In substitution of ‘template<bool _Cond, class _Tp> using enable_if_t = typename std::enable_if::type [with bool _Cond = false; _Tp = std::basic_ostream<wchar_t>&]’:
/usr/include/llvm-11/llvm/Support/raw_ostream.h:375:1:   required by substitution of ‘template<class OStream, class T> std::enable_if_t<((! std::is_reference< <template-parameter-1-1> >::value) && std::is_base_of<llvm::raw_ostream, OStream>::value), OStream&&> llvm::operator<<(OStream&&, const T&) [with OStream = std::basic_ostream<wchar_t>&; T = llvm::StringRef]’
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:292:13:   required from here
/usr/include/c++/10/type_traits:2554:11: error: no type named ‘type’ in ‘struct std::enable_if<false, std::basic_ostream<wchar_t>&>’
 2554 |     using enable_if_t = typename enable_if<_Cond, _Tp>::type;
      |           ^~~~~~~~~~~
In file included from /usr/include/llvm-11/llvm/ADT/APFloat.h:21,
                 from /usr/include/llvm-11/llvm/IR/Type.h:17,
                 from /usr/include/llvm-11/llvm/IR/DerivedTypes.h:23,
                 from /usr/include/llvm-11/llvm/IR/DataLayout.h:26,
                 from /usr/include/llvm-11/llvm/IR/Module.h:25,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:20,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/llvm-11/llvm/ADT/FloatingPointMode.h:124:21: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, llvm::DenormalMode)’
  124 | inline raw_ostream& operator<<(raw_ostream &OS, DenormalMode Mode) {
      |                     ^~~~~~~~
/usr/include/llvm-11/llvm/ADT/FloatingPointMode.h:124:45: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t>’ to ‘llvm::raw_ostream&’
  124 | inline raw_ostream& operator<<(raw_ostream &OS, DenormalMode Mode) {
      |                                ~~~~~~~~~~~~~^~
In file included from /usr/include/llvm-11/llvm/IR/DerivedTypes.h:23,
                 from /usr/include/llvm-11/llvm/IR/DataLayout.h:26,
                 from /usr/include/llvm-11/llvm/IR/Module.h:25,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:20,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/llvm-11/llvm/IR/Type.h:462:21: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::Type&)’
  462 | inline raw_ostream &operator<<(raw_ostream &OS, const Type &T) {
      |                     ^~~~~~~~
/usr/include/llvm-11/llvm/IR/Type.h:462:45: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t ’ to ‘llvm::raw_ostream&’
  462 | inline raw_ostream &operator<<(raw_ostream &OS, const Type &T) {
      |                                ~~~~~~~~~~~~~^~
In file included from /usr/include/llvm-11/llvm/IR/Function.h:22,
                 from /usr/include/llvm-11/llvm/IR/Module.h:26,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:20,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/llvm-11/llvm/ADT/Twine.h:535:23: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::Twine&)’
  535 |   inline raw_ostream &operator<<(raw_ostream &OS, const Twine &RHS) {
      |                       ^~~~~~~~
/usr/include/llvm-11/llvm/ADT/Twine.h:535:47: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t>’ to ‘llvm::raw_ostream&’
  535 |   inline raw_ostream &operator<<(raw_ostream &OS, const Twine &RHS) {
      |                                  ~~~~~~~~~~~~~^~
In file included from /usr/include/llvm-11/llvm/IR/Argument.h:19,
                 from /usr/include/llvm-11/llvm/IR/Function.h:25,
                 from /usr/include/llvm-11/llvm/IR/Module.h:26,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:20,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/llvm-11/llvm/IR/Value.h:759:21: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::Value&)’
  759 | inline raw_ostream &operator<<(raw_ostream &OS, const Value &V) {
      |                     ^~~~~~~~
/usr/include/llvm-11/llvm/IR/Value.h:759:45: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t>’ to ‘llvm::raw_ostream&’
  759 | inline raw_ostream &operator<<(raw_ostream &OS, const Value &V) {
      |                                ~~~~~~~~~~~~~^~
In file included from /usr/include/llvm-11/llvm/IR/TrackingMDRef.h:16,
                 from /usr/include/llvm-11/llvm/IR/DebugLoc.h:17,
                 from /usr/include/llvm-11/llvm/IR/Instruction.h:22,
                 from /usr/include/llvm-11/llvm/IR/BasicBlock.h:22,
                 from /usr/include/llvm-11/llvm/IR/Function.h:27,
                 from /usr/include/llvm-11/llvm/IR/Module.h:26,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:20,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/llvm-11/llvm/IR/Metadata.h:162:21: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::Metadata&)’
  162 | inline raw_ostream &operator<<(raw_ostream &OS, const Metadata &MD) {
      |                     ^~~~~~~~
/usr/include/llvm-11/llvm/IR/Metadata.h:162:45: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t>’ to ‘llvm::raw_ostream&’
  162 | inline raw_ostream &operator<<(raw_ostream &OS, const Metadata &MD) {
      |                                ~~~~~~~~~~~~~^~
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:20,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/llvm-11/llvm/IR/Module.h:900:21: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::Module&)’
  900 | inline raw_ostream &operator<<(raw_ostream &O, const Module &M) {
      |                     ^~~~~~~~
/usr/include/llvm-11/llvm/IR/Module.h:900:45: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t>’ to ‘llvm::raw_ostream&’
  900 | inline raw_ostream &operator<<(raw_ostream &O, const Module &M) {
      |                                ~~~~~~~~~~~~~^
In file included from /usr/include/llvm-11/llvm/IR/ModuleSummaryIndex.h:26,
                 from /usr/include/llvm-11/llvm/Bitcode/BitcodeReader.h:19,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:17:
/usr/include/llvm-11/llvm/IR/ConstantRange.h:497:21: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::ConstantRange&)’
  497 | inline raw_ostream &operator<<(raw_ostream &OS, const ConstantRange &CR) {
      |                     ^~~~~~~~
/usr/include/llvm-11/llvm/IR/ConstantRange.h:497:45: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t>’ to ‘llvm::raw_ostream&’
  497 | inline raw_ostream &operator<<(raw_ostream &OS, const ConstantRange &CR) {
      |                                ~~~~~~~~~~~~~^~
In file included from /usr/include/llvm-11/llvm/IR/ModuleSummaryIndex.h:31,
                 from /usr/include/llvm-11/llvm/Bitcode/BitcodeReader.h:19,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:17:
/usr/include/llvm-11/llvm/Support/ScaledNumber.h:730:23: note: candidate: ‘template<class DigitsT> llvm::ScaledNumber<DigitsT> llvm::operator<<(const llvm::ScaledNumber<DigitsT>&, int16_t)’
  730 | ScaledNumber<DigitsT> operator<<(const ScaledNumber<DigitsT> &L,
      |                       ^~~~~~~~
/usr/include/llvm-11/llvm/Support/ScaledNumber.h:730:23: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:293:94: note:   ‘std::basic_ostream<wchar_t>’ is not derived from ‘const llvm::ScaledNumber<DigitsT>’
  293 |                 logging::Level::DEBUG, log << "Found SPIR kernel-function: " << func.getName() << logging::endl);
      |                                                                                              ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/llvm-11/llvm/IR/ModuleSummaryIndex.h:31,
                 from /usr/include/llvm-11/llvm/Bitcode/BitcodeReader.h:19,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:17:
/usr/include/llvm-11/llvm/Support/ScaledNumber.h:742:14: note: candidate: ‘template<class DigitsT> llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::ScaledNumber<DigitsT>&)’
  742 | raw_ostream &operator<<(raw_ostream &OS, const ScaledNumber<DigitsT> &X) {
      |              ^~~~~~~~
/usr/include/llvm-11/llvm/Support/ScaledNumber.h:742:14: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:293:94: note:   ‘llvm::StringRef’ is not derived from ‘const llvm::ScaledNumber<DigitsT>’
  293 |                 logging::Level::DEBUG, log << "Found SPIR kernel-function: " << func.getName() << logging::endl);
      |                                                                                              ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/llvm-11/llvm/Bitcode/BitcodeReader.h:19,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:17:
/usr/include/llvm-11/llvm/IR/ModuleSummaryIndex.h:232:21: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::ValueInfo&)’
  232 | inline raw_ostream &operator<<(raw_ostream &OS, const ValueInfo &VI) {
      |                     ^~~~~~~~
/usr/include/llvm-11/llvm/IR/ModuleSummaryIndex.h:232:45: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t>’ to ‘llvm::raw_ostream&’
  232 | inline raw_ostream &operator<<(raw_ostream &OS, const ValueInfo &VI) {
      |                                ~~~~~~~~~~~~~^~
In file included from /usr/include/c++/10/regex:62,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:28:
/usr/include/c++/10/bits/regex.h:1647:5: note: candidate: ‘template<class _Ch_type, class _Ch_traits, class _Bi_iter> std::basic_ostream<_CharT, _Traits>& std::__cxx11::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__cxx11::sub_match<_Bi_iter>&)’
 1647 |     operator<<(basic_ostream<_Ch_type, _Ch_traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/10/bits/regex.h:1647:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:293:94: note:   ‘llvm::StringRef’ is not derived from ‘const std::__cxx11::sub_match<_Bi_iter>’
  293 |                 logging::Level::DEBUG, log << "Found SPIR kernel-function: " << func.getName() << logging::endl);
      |                                                                                              ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/string:55,
                 from /usr/include/c++/10/stdexcept:39,
                 from /home/pi/dev/opencl/VC4C/include/CompilationError.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Locals.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../GlobalValues.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Module.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Parser.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/bits/basic_string.h:6468:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
 6468 |     operator<<(basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/10/bits/basic_string.h:6468:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:293:94: note:   ‘llvm::StringRef’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’
  293 |                 logging::Level::DEBUG, log << "Found SPIR kernel-function: " << func.getName() << logging::endl);
      |                                                                                              ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/memory:84,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Types.h:11,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Values.h:13,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Locals.h:11,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../GlobalValues.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Module.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Parser.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/bits/shared_ptr.h:69:5: note: candidate: ‘template<class _Ch, class _Tr, class _Tp, __gnu_cxx::_Lock_policy _Lp> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__shared_ptr<_Tp, _Lp>&)’
   69 |     operator<<(std::basic_ostream<_Ch, _Tr>& __os,
      |     ^~~~~~~~
/usr/include/c++/10/bits/shared_ptr.h:69:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:293:94: note:   ‘llvm::StringRef’ is not derived from ‘const std::__shared_ptr<_Tp, _Lp>’
  293 |                 logging::Level::DEBUG, log << "Found SPIR kernel-function: " << func.getName() << logging::endl);
      |                                                                                              ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/mutex:42,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Types.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Values.h:13,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Locals.h:11,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../GlobalValues.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Module.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Parser.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/system_error:262:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::error_code&)’
  262 |     operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
      |     ^~~~~~~~
/usr/include/c++/10/system_error:262:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:293:93: note:   cannot convert ‘(& func)->llvm::Function::<anonymous>.llvm::GlobalObject::<anonymous>.llvm::GlobalValue::<anonymous>.llvm::Constant::<anonymous>.llvm::User::<anonymous>.llvm::Value::getName()’ (type ‘llvm::StringRef’) to type ‘const std::error_code&’
  293 |                 logging::Level::DEBUG, log << "Found SPIR kernel-function: " << func.getName() << logging::endl);
      |                                                                                 ~~~~~~~~~~~~^~
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /home/pi/dev/opencl/VC4C/src/llvm/../KernelMetaData.h:15,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Method.h:11,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Module.h:11,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Parser.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/bitset:1540:5: note: candidate: ‘template<class _CharT, class _Traits, unsigned int _Nb> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::bitset<_Nb>&)’
 1540 |     operator<<(std::basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/10/bitset:1540:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:293:94: note:   ‘llvm::StringRef’ is not derived from ‘const std::bitset<_Nb>’
  293 |                 logging::Level::DEBUG, log << "Found SPIR kernel-function: " << func.getName() << logging::endl);
      |                                                                                              ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:506:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT)’
  506 |     operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
      |     ^~~~~~~~
/usr/include/c++/10/ostream:506:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:293:94: note:   deduced conflicting types for parameter ‘_CharT’ (‘wchar_t’ and ‘llvm::StringRef’)
  293 |                 logging::Level::DEBUG, log << "Found SPIR kernel-function: " << func.getName() << logging::endl);
      |                                                                                              ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:511:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, char)’
  511 |     operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
      |     ^~~~~~~~
/usr/include/c++/10/ostream:511:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:293:93: note:   cannot convert ‘(& func)->llvm::Function::<anonymous>.llvm::GlobalObject::<anonymous>.llvm::GlobalValue::<anonymous>.llvm::Constant::<anonymous>.llvm::User::<anonymous>.llvm::Value::getName()’ (type ‘llvm::StringRef’) to type ‘char’
  293 |                 logging::Level::DEBUG, log << "Found SPIR kernel-function: " << func.getName() << logging::endl);
      |                                                                                 ~~~~~~~~~~~~^~
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:517:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char)’
  517 |     operator<<(basic_ostream<char, _Traits>& __out, char __c)
      |     ^~~~~~~~
/usr/include/c++/10/ostream:517:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:293:94: note:   mismatched types ‘char’ and ‘wchar_t’
  293 |                 logging::Level::DEBUG, log << "Found SPIR kernel-function: " << func.getName() << logging::endl);
      |                                                                                              ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:523:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, signed char)’
  523 |     operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
      |     ^~~~~~~~
/usr/include/c++/10/ostream:523:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:293:94: note:   mismatched types ‘char’ and ‘wchar_t’
  293 |                 logging::Level::DEBUG, log << "Found SPIR kernel-function: " << func.getName() << logging::endl);
      |                                                                                              ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:528:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, unsigned char)’
  528 |     operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
      |     ^~~~~~~~
/usr/include/c++/10/ostream:528:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:293:94: note:   mismatched types ‘char’ and ‘wchar_t’
  293 |                 logging::Level::DEBUG, log << "Found SPIR kernel-function: " << func.getName() << logging::endl);
      |                                                                                              ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:589:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const _CharT*)’
  589 |     operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
      |     ^~~~~~~~
/usr/include/c++/10/ostream:589:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:293:94: note:   mismatched types ‘const _CharT*’ and ‘llvm::StringRef’
  293 |                 logging::Level::DEBUG, log << "Found SPIR kernel-function: " << func.getName() << logging::endl);
      |                                                                                              ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/ostream:784,
                 from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/bits/ostream.tcc:321:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*)’
  321 |     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
      |     ^~~~~~~~
/usr/include/c++/10/bits/ostream.tcc:321:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:293:93: note:   cannot convert ‘(& func)->llvm::Function::<anonymous>.llvm::GlobalObject::<anonymous>.llvm::GlobalValue::<anonymous>.llvm::Constant::<anonymous>.llvm::User::<anonymous>.llvm::Value::getName()’ (type ‘llvm::StringRef’) to type ‘const char*’
  293 |                 logging::Level::DEBUG, log << "Found SPIR kernel-function: " << func.getName() << logging::endl);
      |                                                                                 ~~~~~~~~~~~~^~
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:606:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*)’
  606 |     operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
      |     ^~~~~~~~
/usr/include/c++/10/ostream:606:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:293:94: note:   mismatched types ‘char’ and ‘wchar_t’
  293 |                 logging::Level::DEBUG, log << "Found SPIR kernel-function: " << func.getName() << logging::endl);
      |                                                                                              ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:619:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const signed char*)’
  619 |     operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
      |     ^~~~~~~~
/usr/include/c++/10/ostream:619:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:293:94: note:   mismatched types ‘char’ and ‘wchar_t’
  293 |                 logging::Level::DEBUG, log << "Found SPIR kernel-function: " << func.getName() << logging::endl);
      |                                                                                              ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:624:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*)’
  624 |     operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
      |     ^~~~~~~~
/usr/include/c++/10/ostream:624:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:293:94: note:   mismatched types ‘char’ and ‘wchar_t’
  293 |                 logging::Level::DEBUG, log << "Found SPIR kernel-function: " << func.getName() << logging::endl);
      |                                                                                              ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:773:5: note: candidate: ‘template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&)’
  773 |     operator<<(_Ostream&& __os, const _Tp& __x)
      |     ^~~~~~~~
/usr/include/c++/10/ostream:773:5: note:   template argument deduction/substitution failed:
/usr/include/c++/10/ostream: In substitution of ‘template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::basic_ostream<wchar_t>&; _Tp = llvm::StringRef]’:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:292:13:   required from here
/usr/include/c++/10/ostream:773:5: error: no type named ‘type’ in ‘struct std::enable_if<false, std::basic_ostream<wchar_t>&>’
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp: In member function ‘vc4c::DataType vc4c::llvm2qasm::BitcodeReader::toDataType(vc4c::Module&, const llvm::Type*, vc4c::Optional<vc4c::AddressSpace>)’:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:326:41: error: ‘const class llvm::Type’ has no member named ‘getVectorElementType’; did you mean ‘getPointerElementType’?
  326 |         return toDataType(module, type->getVectorElementType())
      |                                         ^~~~~~~~~~~~~~~~~~~~
      |                                         getPointerElementType
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:327:96: error: ‘const class llvm::VectorType’ has no member named ‘getVectorNumElements’; did you mean ‘getNumElements’?
  327 |             .toVectorType(static_cast<unsigned char>(llvm::cast<const llvm::VectorType>(type)->getVectorNumElements()));
      |                                                                                                ^~~~~~~~~~~~~~~~~~~~
      |                                                                                                getNumElements
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:408:56: error: cannot convert ‘llvm::StringRef’ to ‘const string&’ {aka ‘const std::__cxx11::basic_string<char>&’}
  408 |             module.createStructType(type->getStructName(), {}, llvm::cast<const llvm::StructType>(type)->isPacked());
      |                                     ~~~~~~~~~~~~~~~~~~~^~
      |                                                        |
      |                                                        llvm::StringRef
In file included from /home/pi/dev/opencl/VC4C/src/llvm/../Values.h:13,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Locals.h:11,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../GlobalValues.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Module.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Parser.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/home/pi/dev/opencl/VC4C/src/llvm/../Types.h:518:32: note:   initializing argument 1 of ‘vc4c::StructType* vc4c::TypeHolder::createStructType(const string&, const std::vector<vc4c::DataType>&, bool)’
  518 |             const std::string& name, const std::vector<DataType>& elementTypes, bool isPacked = false);
      |             ~~~~~~~~~~~~~~~~~~~^~~~
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp: In lambda function:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:416:30: error: no match for ‘operator<<’ (operand types are ‘std::basic_ostream<wchar_t>’ and ‘llvm::StringRef’)
  416 |             log << "Struct " << type->getStructName() << ": " << structType->getContent() << logging::endl);
      |             ~~~~~~~~~~~~~~~~ ^~ ~~~~~~~~~~~~~~~~~~~~~
      |                 |                                  |
      |                 std::basic_ostream<wchar_t>        llvm::StringRef
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:108:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ostream_type& (*)(std::basic_ostream<_CharT, _Traits>::__ostream_type&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  108 |       operator<<(__ostream_type& (*__pf)(__ostream_type&))
      |       ^~~~~~~~
/usr/include/c++/10/ostream:108:36: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘std::basic_ostream<wchar_t>::__ostream_type& (*)(std::basic_ostream<wchar_t>::__ostream_type&)’ {aka ‘std::basic_ostream<wchar_t>& (*)(std::basic_ostream<wchar_t>&)’}
  108 |       operator<<(__ostream_type& (*__pf)(__ostream_type&))
      |                  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/10/ostream:117:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ios_type& (*)(std::basic_ostream<_CharT, _Traits>::__ios_type&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ios_type = std::basic_ios<wchar_t>]’
  117 |       operator<<(__ios_type& (*__pf)(__ios_type&))
      |       ^~~~~~~~
/usr/include/c++/10/ostream:117:32: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘std::basic_ostream<wchar_t>::__ios_type& (*)(std::basic_ostream<wchar_t>::__ios_type&)’ {aka ‘std::basic_ios<wchar_t>& (*)(std::basic_ios<wchar_t>&)’}
  117 |       operator<<(__ios_type& (*__pf)(__ios_type&))
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/c++/10/ostream:127:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  127 |       operator<<(ios_base& (*__pf) (ios_base&))
      |       ^~~~~~~~
/usr/include/c++/10/ostream:127:30: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘std::ios_base& (*)(std::ios_base&)’
  127 |       operator<<(ios_base& (*__pf) (ios_base&))
      |                  ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/usr/include/c++/10/ostream:166:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  166 |       operator<<(long __n)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:166:23: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘long int’
  166 |       operator<<(long __n)
      |                  ~~~~~^~~
/usr/include/c++/10/ostream:170:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  170 |       operator<<(unsigned long __n)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:170:32: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘long unsigned int’
  170 |       operator<<(unsigned long __n)
      |                  ~~~~~~~~~~~~~~^~~
/usr/include/c++/10/ostream:174:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  174 |       operator<<(bool __n)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:174:23: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘bool’
  174 |       operator<<(bool __n)
      |                  ~~~~~^~~
In file included from /usr/include/c++/10/ostream:784,
                 from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/bits/ostream.tcc:91:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>]’
   91 |     basic_ostream<_CharT, _Traits>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/10/bits/ostream.tcc:92:22: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘short int’
   92 |     operator<<(short __n)
      |                ~~~~~~^~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:181:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  181 |       operator<<(unsigned short __n)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:181:33: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘short unsigned int’
  181 |       operator<<(unsigned short __n)
      |                  ~~~~~~~~~~~~~~~^~~
In file included from /usr/include/c++/10/ostream:784,
                 from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/bits/ostream.tcc:105:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>]’
  105 |     basic_ostream<_CharT, _Traits>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/10/bits/ostream.tcc:106:20: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘int’
  106 |     operator<<(int __n)
      |                ~~~~^~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:192:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  192 |       operator<<(unsigned int __n)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:192:31: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘unsigned int’
  192 |       operator<<(unsigned int __n)
      |                  ~~~~~~~~~~~~~^~~
/usr/include/c++/10/ostream:201:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  201 |       operator<<(long long __n)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:201:28: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘long long int’
  201 |       operator<<(long long __n)
      |                  ~~~~~~~~~~^~~
/usr/include/c++/10/ostream:205:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  205 |       operator<<(unsigned long long __n)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:205:37: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘long long unsigned int’
  205 |       operator<<(unsigned long long __n)
      |                  ~~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/10/ostream:220:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  220 |       operator<<(double __f)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:220:25: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘double’
  220 |       operator<<(double __f)
      |                  ~~~~~~~^~~
/usr/include/c++/10/ostream:224:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  224 |       operator<<(float __f)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:224:24: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘float’
  224 |       operator<<(float __f)
      |                  ~~~~~~^~~
/usr/include/c++/10/ostream:232:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  232 |       operator<<(long double __f)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:232:30: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘long double’
  232 |       operator<<(long double __f)
      |                  ~~~~~~~~~~~~^~~
/usr/include/c++/10/ostream:245:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<wchar_t>]’
  245 |       operator<<(const void* __p)
      |       ^~~~~~~~
/usr/include/c++/10/ostream:245:30: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘const void*’
  245 |       operator<<(const void* __p)
      |                  ~~~~~~~~~~~~^~~
In file included from /usr/include/c++/10/ostream:784,
                 from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/bits/ostream.tcc:119:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__streambuf_type*) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_ostream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<wchar_t>]’
  119 |     basic_ostream<_CharT, _Traits>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/10/bits/ostream.tcc:120:34: note:   no known conversion for argument 1 from ‘llvm::StringRef’ to ‘std::basic_ostream<wchar_t>::__streambuf_type*’ {aka ‘std::basic_streambuf<wchar_t>*’}
  120 |     operator<<(__streambuf_type* __sbin)
      |                ~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:112:16: note: candidate: ‘std::wostream& operator<<(std::wostream&, const string&)’
  112 | std::wostream& operator<<(std::wostream& stream, const std::string& string);
      |                ^~~~~~~~
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:112:69: note:   no known conversion for argument 2 from ‘llvm::StringRef’ to ‘const string&’ {aka ‘const std::__cxx11::basic_string<char>&’}
  112 | std::wostream& operator<<(std::wostream& stream, const std::string& string);
      |                                                  ~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /usr/include/llvm-11/llvm/ADT/STLExtras.h:19,
                 from /usr/include/llvm-11/llvm/ADT/StringRef.h:12,
                 from /usr/include/llvm-11/llvm/IR/DiagnosticHandler.h:15,
                 from /usr/include/llvm-11/llvm/IR/LLVMContext.h:18,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:19,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/llvm-11/llvm/ADT/Optional.h:431:14: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, llvm::NoneType)’
  431 | raw_ostream &operator<<(raw_ostream &OS, NoneType);
      |              ^~~~~~~~
/usr/include/llvm-11/llvm/ADT/Optional.h:431:38: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t>’ to ‘llvm::raw_ostream&’
  431 | raw_ostream &operator<<(raw_ostream &OS, NoneType);
      |                         ~~~~~~~~~~~~~^~
/usr/include/llvm-11/llvm/ADT/Optional.h:435:14: note: candidate: ‘template<class T, class> llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::Optional<T>&)’
  435 | raw_ostream &operator<<(raw_ostream &OS, const Optional<T> &O) {
      |              ^~~~~~~~
/usr/include/llvm-11/llvm/ADT/Optional.h:435:14: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:416:53: note:   ‘llvm::StringRef’ is not derived from ‘const llvm::Optional<T>’
  416 |             log << "Struct " << type->getStructName() << ": " << structType->getContent() << logging::endl);
      |                                                     ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/llvm-11/llvm/IR/Module.h:24,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:20,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/llvm-11/llvm/IR/Comdat.h:63:21: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::Comdat&)’
   63 | inline raw_ostream &operator<<(raw_ostream &OS, const Comdat &C) {
      |                     ^~~~~~~~
/usr/include/llvm-11/llvm/IR/Comdat.h:63:45: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t>’ to ‘llvm::raw_ostream&’
   63 | inline raw_ostream &operator<<(raw_ostream &OS, const Comdat &C) {
      |                                ~~~~~~~~~~~~~^~
In file included from /usr/include/llvm-11/llvm/ADT/APFloat.h:19,
                 from /usr/include/llvm-11/llvm/IR/Type.h:17,
                 from /usr/include/llvm-11/llvm/IR/DerivedTypes.h:23,
                 from /usr/include/llvm-11/llvm/IR/DataLayout.h:26,
                 from /usr/include/llvm-11/llvm/IR/Module.h:25,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:20,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/llvm-11/llvm/ADT/APInt.h:2099:21: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::APInt&)’
 2099 | inline raw_ostream &operator<<(raw_ostream &OS, const APInt &I) {
      |                     ^~~~~~~~
/usr/include/llvm-11/llvm/ADT/APInt.h:2099:45: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t>’ to ‘llvm::raw_ostream&’
 2099 | inline raw_ostream &operator<<(raw_ostream &OS, const APInt &I) {
      |                                ~~~~~~~~~~~~~^~
In file included from /usr/include/llvm-11/llvm/ADT/FloatingPointMode.h:17,
                 from /usr/include/llvm-11/llvm/ADT/APFloat.h:21,
                 from /usr/include/llvm-11/llvm/IR/Type.h:17,
                 from /usr/include/llvm-11/llvm/IR/DerivedTypes.h:23,
                 from /usr/include/llvm-11/llvm/IR/DataLayout.h:26,
                 from /usr/include/llvm-11/llvm/IR/Module.h:25,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:20,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/llvm-11/llvm/Support/raw_ostream.h:375:1: note: candidate: ‘template<class OStream, class T> std::enable_if_t<((! std::is_reference< <template-parameter-1-1> >::value) && std::is_base_of<llvm::raw_ostream, OStream>::value), OStream&&> llvm::operator<<(OStream&&, const T&)’
  375 | operator<<(OStream &&OS, const T &Value) {
      | ^~~~~~~~
/usr/include/llvm-11/llvm/Support/raw_ostream.h:375:1: note:   template argument deduction/substitution failed:
In file included from /usr/include/llvm-11/llvm/ADT/APFloat.h:21,
                 from /usr/include/llvm-11/llvm/IR/Type.h:17,
                 from /usr/include/llvm-11/llvm/IR/DerivedTypes.h:23,
                 from /usr/include/llvm-11/llvm/IR/DataLayout.h:26,
                 from /usr/include/llvm-11/llvm/IR/Module.h:25,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:20,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/llvm-11/llvm/ADT/FloatingPointMode.h:124:21: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, llvm::DenormalMode)’
  124 | inline raw_ostream& operator<<(raw_ostream &OS, DenormalMode Mode) {
      |                     ^~~~~~~~
/usr/include/llvm-11/llvm/ADT/FloatingPointMode.h:124:45: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t>’ to ‘llvm::raw_ostream&’
  124 | inline raw_ostream& operator<<(raw_ostream &OS, DenormalMode Mode) {
      |                                ~~~~~~~~~~~~~^~
In file included from /usr/include/llvm-11/llvm/IR/DerivedTypes.h:23,
                 from /usr/include/llvm-11/llvm/IR/DataLayout.h:26,
                 from /usr/include/llvm-11/llvm/IR/Module.h:25,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:20,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/llvm-11/llvm/IR/Type.h:462:21: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::Type&)’
  462 | inline raw_ostream &operator<<(raw_ostream &OS, const Type &T) {
      |                     ^~~~~~~~
/usr/include/llvm-11/llvm/IR/Type.h:462:45: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t ’ to ‘llvm::raw_ostream&’
  462 | inline raw_ostream &operator<<(raw_ostream &OS, const Type &T) {
      |                                ~~~~~~~~~~~~~^~
In file included from /usr/include/llvm-11/llvm/IR/Function.h:22,
                 from /usr/include/llvm-11/llvm/IR/Module.h:26,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:20,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/llvm-11/llvm/ADT/Twine.h:535:23: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::Twine&)’
  535 |   inline raw_ostream &operator<<(raw_ostream &OS, const Twine &RHS) {
      |                       ^~~~~~~~
/usr/include/llvm-11/llvm/ADT/Twine.h:535:47: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t>’ to ‘llvm::raw_ostream&’
  535 |   inline raw_ostream &operator<<(raw_ostream &OS, const Twine &RHS) {
      |                                  ~~~~~~~~~~~~~^~
In file included from /usr/include/llvm-11/llvm/IR/Argument.h:19,
                 from /usr/include/llvm-11/llvm/IR/Function.h:25,
                 from /usr/include/llvm-11/llvm/IR/Module.h:26,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:20,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/llvm-11/llvm/IR/Value.h:759:21: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::Value&)’
  759 | inline raw_ostream &operator<<(raw_ostream &OS, const Value &V) {
      |                     ^~~~~~~~
/usr/include/llvm-11/llvm/IR/Value.h:759:45: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t>’ to ‘llvm::raw_ostream&’
  759 | inline raw_ostream &operator<<(raw_ostream &OS, const Value &V) {
      |                                ~~~~~~~~~~~~~^~
In file included from /usr/include/llvm-11/llvm/IR/TrackingMDRef.h:16,
                 from /usr/include/llvm-11/llvm/IR/DebugLoc.h:17,
                 from /usr/include/llvm-11/llvm/IR/Instruction.h:22,
                 from /usr/include/llvm-11/llvm/IR/BasicBlock.h:22,
                 from /usr/include/llvm-11/llvm/IR/Function.h:27,
                 from /usr/include/llvm-11/llvm/IR/Module.h:26,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:20,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/llvm-11/llvm/IR/Metadata.h:162:21: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::Metadata&)’
  162 | inline raw_ostream &operator<<(raw_ostream &OS, const Metadata &MD) {
      |                     ^~~~~~~~
/usr/include/llvm-11/llvm/IR/Metadata.h:162:45: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t>’ to ‘llvm::raw_ostream&’
  162 | inline raw_ostream &operator<<(raw_ostream &OS, const Metadata &MD) {
      |                                ~~~~~~~~~~~~~^~
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:20,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/llvm-11/llvm/IR/Module.h:900:21: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::Module&)’
  900 | inline raw_ostream &operator<<(raw_ostream &O, const Module &M) {
      |                     ^~~~~~~~
/usr/include/llvm-11/llvm/IR/Module.h:900:45: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t>’ to ‘llvm::raw_ostream&’
  900 | inline raw_ostream &operator<<(raw_ostream &O, const Module &M) {
      |                                ~~~~~~~~~~~~~^
In file included from /usr/include/llvm-11/llvm/IR/ModuleSummaryIndex.h:26,
                 from /usr/include/llvm-11/llvm/Bitcode/BitcodeReader.h:19,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:17:
/usr/include/llvm-11/llvm/IR/ConstantRange.h:497:21: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::ConstantRange&)’
  497 | inline raw_ostream &operator<<(raw_ostream &OS, const ConstantRange &CR) {
      |                     ^~~~~~~~
/usr/include/llvm-11/llvm/IR/ConstantRange.h:497:45: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t>’ to ‘llvm::raw_ostream&’
  497 | inline raw_ostream &operator<<(raw_ostream &OS, const ConstantRange &CR) {
      |                                ~~~~~~~~~~~~~^~
In file included from /usr/include/llvm-11/llvm/IR/ModuleSummaryIndex.h:31,
                 from /usr/include/llvm-11/llvm/Bitcode/BitcodeReader.h:19,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:17:
/usr/include/llvm-11/llvm/Support/ScaledNumber.h:730:23: note: candidate: ‘template<class DigitsT> llvm::ScaledNumber<DigitsT> llvm::operator<<(const llvm::ScaledNumber<DigitsT>&, int16_t)’
  730 | ScaledNumber<DigitsT> operator<<(const ScaledNumber<DigitsT> &L,
      |                       ^~~~~~~~
/usr/include/llvm-11/llvm/Support/ScaledNumber.h:730:23: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:416:53: note:   ‘std::basic_ostream<wchar_t>’ is not derived from ‘const llvm::ScaledNumber<DigitsT>’
  416 |             log << "Struct " << type->getStructName() << ": " << structType->getContent() << logging::endl);
      |                                                     ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/llvm-11/llvm/IR/ModuleSummaryIndex.h:31,
                 from /usr/include/llvm-11/llvm/Bitcode/BitcodeReader.h:19,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:17:
/usr/include/llvm-11/llvm/Support/ScaledNumber.h:742:14: note: candidate: ‘template<class DigitsT> llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::ScaledNumber<DigitsT>&)’
  742 | raw_ostream &operator<<(raw_ostream &OS, const ScaledNumber<DigitsT> &X) {
      |              ^~~~~~~~
/usr/include/llvm-11/llvm/Support/ScaledNumber.h:742:14: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:416:53: note:   ‘llvm::StringRef’ is not derived from ‘const llvm::ScaledNumber<DigitsT>’
  416 |             log << "Struct " << type->getStructName() << ": " << structType->getContent() << logging::endl);
      |                                                     ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/llvm-11/llvm/Bitcode/BitcodeReader.h:19,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:17:
/usr/include/llvm-11/llvm/IR/ModuleSummaryIndex.h:232:21: note: candidate: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::ValueInfo&)’
  232 | inline raw_ostream &operator<<(raw_ostream &OS, const ValueInfo &VI) {
      |                     ^~~~~~~~
/usr/include/llvm-11/llvm/IR/ModuleSummaryIndex.h:232:45: note:   no known conversion for argument 1 from ‘std::basic_ostream<wchar_t>’ to ‘llvm::raw_ostream&’
  232 | inline raw_ostream &operator<<(raw_ostream &OS, const ValueInfo &VI) {
      |                                ~~~~~~~~~~~~~^~
In file included from /usr/include/c++/10/regex:62,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:28:
/usr/include/c++/10/bits/regex.h:1647:5: note: candidate: ‘template<class _Ch_type, class _Ch_traits, class _Bi_iter> std::basic_ostream<_CharT, _Traits>& std::__cxx11::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__cxx11::sub_match<_Bi_iter>&)’
 1647 |     operator<<(basic_ostream<_Ch_type, _Ch_traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/10/bits/regex.h:1647:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:416:53: note:   ‘llvm::StringRef’ is not derived from ‘const std::__cxx11::sub_match<_Bi_iter>’
  416 |             log << "Struct " << type->getStructName() << ": " << structType->getContent() << logging::endl);
      |                                                     ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/string:55,
                 from /usr/include/c++/10/stdexcept:39,
                 from /home/pi/dev/opencl/VC4C/include/CompilationError.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Locals.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../GlobalValues.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Module.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Parser.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/bits/basic_string.h:6468:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
 6468 |     operator<<(basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/10/bits/basic_string.h:6468:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:416:53: note:   ‘llvm::StringRef’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’
  416 |             log << "Struct " << type->getStructName() << ": " << structType->getContent() << logging::endl);
      |                                                     ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/memory:84,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Types.h:11,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Values.h:13,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Locals.h:11,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../GlobalValues.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Module.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Parser.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/bits/shared_ptr.h:69:5: note: candidate: ‘template<class _Ch, class _Tr, class _Tp, __gnu_cxx::_Lock_policy _Lp> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__shared_ptr<_Tp, _Lp>&)’
   69 |     operator<<(std::basic_ostream<_Ch, _Tr>& __os,
      |     ^~~~~~~~
/usr/include/c++/10/bits/shared_ptr.h:69:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:416:53: note:   ‘llvm::StringRef’ is not derived from ‘const std::__shared_ptr<_Tp, _Lp>’
  416 |             log << "Struct " << type->getStructName() << ": " << structType->getContent() << logging::endl);
      |                                                     ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/mutex:42,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Types.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Values.h:13,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Locals.h:11,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../GlobalValues.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Module.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Parser.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/system_error:262:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::error_code&)’
  262 |     operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
      |     ^~~~~~~~
/usr/include/c++/10/system_error:262:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:416:52: note:   cannot convert ‘type->llvm::Type::getStructName()’ (type ‘llvm::StringRef’) to type ‘const std::error_code&’
  416 |             log << "Struct " << type->getStructName() << ": " << structType->getContent() << logging::endl);
      |                                 ~~~~~~~~~~~~~~~~~~~^~
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /home/pi/dev/opencl/VC4C/src/llvm/../KernelMetaData.h:15,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Method.h:11,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Module.h:11,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Parser.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/bitset:1540:5: note: candidate: ‘template<class _CharT, class _Traits, unsigned int _Nb> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::bitset<_Nb>&)’
 1540 |     operator<<(std::basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/10/bitset:1540:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:416:53: note:   ‘llvm::StringRef’ is not derived from ‘const std::bitset<_Nb>’
  416 |             log << "Struct " << type->getStructName() << ": " << structType->getContent() << logging::endl);
      |                                                     ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:506:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT)’
  506 |     operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
      |     ^~~~~~~~
/usr/include/c++/10/ostream:506:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:416:53: note:   deduced conflicting types for parameter ‘_CharT’ (‘wchar_t’ and ‘llvm::StringRef’)
  416 |             log << "Struct " << type->getStructName() << ": " << structType->getContent() << logging::endl);
      |                                                     ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:511:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, char)’
  511 |     operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
      |     ^~~~~~~~
/usr/include/c++/10/ostream:511:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:416:52: note:   cannot convert ‘type->llvm::Type::getStructName()’ (type ‘llvm::StringRef’) to type ‘char’
  416 |             log << "Struct " << type->getStructName() << ": " << structType->getContent() << logging::endl);
      |                                 ~~~~~~~~~~~~~~~~~~~^~
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:517:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char)’
  517 |     operator<<(basic_ostream<char, _Traits>& __out, char __c)
      |     ^~~~~~~~
/usr/include/c++/10/ostream:517:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:416:53: note:   mismatched types ‘char’ and ‘wchar_t’
  416 |             log << "Struct " << type->getStructName() << ": " << structType->getContent() << logging::endl);
      |                                                     ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:523:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, signed char)’
  523 |     operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
      |     ^~~~~~~~
/usr/include/c++/10/ostream:523:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:416:53: note:   mismatched types ‘char’ and ‘wchar_t’
  416 |             log << "Struct " << type->getStructName() << ": " << structType->getContent() << logging::endl);
      |                                                     ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:528:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, unsigned char)’
  528 |     operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
      |     ^~~~~~~~
/usr/include/c++/10/ostream:528:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:416:53: note:   mismatched types ‘char’ and ‘wchar_t’
  416 |             log << "Struct " << type->getStructName() << ": " << structType->getContent() << logging::endl);
      |                                                     ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:589:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const _CharT*)’
  589 |     operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
      |     ^~~~~~~~
/usr/include/c++/10/ostream:589:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:416:53: note:   mismatched types ‘const _CharT*’ and ‘llvm::StringRef’
  416 |             log << "Struct " << type->getStructName() << ": " << structType->getContent() << logging::endl);
      |                                                     ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/ostream:784,
                 from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/bits/ostream.tcc:321:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*)’
  321 |     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
      |     ^~~~~~~~
/usr/include/c++/10/bits/ostream.tcc:321:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:416:52: note:   cannot convert ‘type->llvm::Type::getStructName()’ (type ‘llvm::StringRef’) to type ‘const char*’
  416 |             log << "Struct " << type->getStructName() << ": " << structType->getContent() << logging::endl);
      |                                 ~~~~~~~~~~~~~~~~~~~^~
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:606:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*)’
  606 |     operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
      |     ^~~~~~~~
/usr/include/c++/10/ostream:606:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:416:53: note:   mismatched types ‘char’ and ‘wchar_t’
  416 |             log << "Struct " << type->getStructName() << ": " << structType->getContent() << logging::endl);
      |                                                     ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:619:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const signed char*)’
  619 |     operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
      |     ^~~~~~~~
/usr/include/c++/10/ostream:619:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:416:53: note:   mismatched types ‘char’ and ‘wchar_t’
  416 |             log << "Struct " << type->getStructName() << ": " << structType->getContent() << logging::endl);
      |                                                     ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:624:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*)’
  624 |     operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
      |     ^~~~~~~~
/usr/include/c++/10/ostream:624:5: note:   template argument deduction/substitution failed:
In file included from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:13:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:416:53: note:   mismatched types ‘char’ and ‘wchar_t’
  416 |             log << "Struct " << type->getStructName() << ": " << structType->getContent() << logging::endl);
      |                                                     ^
/home/pi/dev/opencl/VC4C/build/cpplog/src/cpplog-project/include/log.h:121:96: note: in definition of macro ‘CPPLOG_LAZ ’
  121 | #define CPPLOG_LAZY(level, content) CPPLOG_NAMESPACE::logLazy(level, [&](std::wostream& log) { content; })
      |                                                                                                ^~~~~~~
In file included from /usr/include/c++/10/iostream:39,
                 from /home/pi/dev/opencl/VC4C/include/Precompiler.h:16,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:12,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/usr/include/c++/10/ostream:773:5: note: candidate: ‘template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&)’
  773 |     operator<<(_Ostream&& __os, const _Tp& __x)
      |     ^~~~~~~~
/usr/include/c++/10/ostream:773:5: note:   template argument deduction/substitution failed:
/usr/include/c++/10/ostream: In substitution of ‘template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::basic_ostream<wchar_t>&; _Tp = llvm::StringRef]’:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:415:9:   required from here
/usr/include/c++/10/ostream:773:5: error: no type named ‘type’ in ‘struct std::enable_if<false, std::basic_ostream<wchar_t>&>’
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp: In function ‘vc4c::ParameterDecorations toParameterDecorations(const llvm::Argument&, vc4c::DataType, bool)’:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:461:113: error: no matching function for call to ‘vc4c::CompilationError::CompilationError(vc4c::CompilationStep, const char [59], llvm::StringRef)’
  461 |          CompilationStep::PARSER, "Kernel parameter decorated with inalloca are not supported", arg.getName());
      |                                                                                                              ^

In file included from /home/pi/dev/opencl/VC4C/src/llvm/../Locals.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../GlobalValues.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Module.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Parser.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/home/pi/dev/opencl/VC4C/include/CompilationError.h:74:9: note: candidate: ‘vc4c::CompilationError::CompilationError(vc4c::CompilationError&&)’
   74 |         CompilationError(CompilationError&&) = default; // RPi cross-compiler throws on noexcept
      |         ^~~~~~~~~~~~~~~~
/home/pi/dev/opencl/VC4C/include/CompilationError.h:74:9: note:   candidate expects 1 argument, 3 provided
/home/pi/dev/opencl/VC4C/include/CompilationError.h:73:9: note: candidate: ‘vc4c::CompilationError::CompilationError(const vc4c::CompilationError&)’
   73 |         CompilationError(const CompilationError&) = default;
      |         ^~~~~~~~~~~~~~~~
/home/pi/dev/opencl/VC4C/include/CompilationError.h:73:9: note:   candidate expects 1 argument, 3 provided
/home/pi/dev/opencl/VC4C/include/CompilationError.h:72:9: note: candidate: ‘vc4c::CompilationError::CompilationError(vc4c::CompilationStep, const string&, const string&)’
   72 |         CompilationError(CompilationStep step, const std::string& message, const std::string& object);
      |         ^~~~~~~~~~~~~~~~
/home/pi/dev/opencl/VC4C/include/CompilationError.h:72:95: note:   no known conversion for argument 3 from ‘llvm::StringRef’ to ‘const string&’ {aka ‘const std::__cxx11::basic_string<char>&’}
   72 |         CompilationError(CompilationStep step, const std::string& message, const std::string& object);
      |                                                                            ~~~~~~~~~~~~~~~~~~~^~~~~~
/home/pi/dev/opencl/VC4C/include/CompilationError.h:71:9: note: candidate: ‘vc4c::CompilationError::CompilationError(vc4c::CompilationStep, const string&)’
   71 |         CompilationError(CompilationStep step, const std::string& message);
      |         ^~~~~~~~~~~~~~~~
/home/pi/dev/opencl/VC4C/include/CompilationError.h:71:9: note:   candidate expects 2 arguments, 3 provided
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp: In member function ‘vc4c::Method& vc4c::llvm2qasm::BitcodeReader::parseFunction(vc4c::Module&, const llvm::Function&)’:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:491:48: error: invalid initialization of reference of type ‘const string&’ {aka ‘const std::__cxx11::basic_string<char>&’} from expression of type ‘llvm::StringRef’
  491 |     method->name = cleanMethodName(func.getName());
      |                                    ~~~~~~~~~~~~^~
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:76:55: note: in passing argument 1 of ‘std::string cleanMethodName(const string&)’
   76 | static std::string cleanMethodName(const std::string& name)
      |                                    ~~~~~~~~~~~~~~~~~~~^~~~
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp: In member function ‘void vc4c::llvm2qasm::BitcodeReader::parseInstruction(vc4c::Module&, vc4c::Method&, vc4c::llvm2qasm::LLVMInstructionList&, const llvm::Instruction&)’:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:858:75: error: ‘const class llvm::CallInst’ has no member named ‘getCalledValue’
  858 |             if(auto alias = llvm::dyn_cast<const llvm::GlobalAlias>(call->getCalledValue()))
      |                                                                           ^~~~~~~~~~~~~~
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:879:102: error: no matching function for call to ‘vc4c::CompilationError::CompilationError(vc4c::CompilationStep, const char [42], llvm::StringRef)’
  879 |                 CompilationStep::PARSER, "Unhandled type of indirect function call!", call->getName());
      |                                                                                                      ^
In file included from /home/pi/dev/opencl/VC4C/src/llvm/../Locals.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../GlobalValues.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Module.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Parser.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/home/pi/dev/opencl/VC4C/include/CompilationError.h:74:9: note: candidate: ‘vc4c::CompilationError::CompilationError(vc4c::CompilationError&&)’
   74 |         CompilationError(CompilationError&&) = default; // RPi cross-compiler throws on noexcept
      |         ^~~~~~~~~~~~~~~~
/home/pi/dev/opencl/VC4C/include/CompilationError.h:74:9: note:   candidate expects 1 argument, 3 provided
/home/pi/dev/opencl/VC4C/include/CompilationError.h:73:9: note: candidate: ‘vc4c::CompilationError::CompilationError(const vc4c::CompilationError&)’
   73 |         CompilationError(const CompilationError&) = default;
      |         ^~~~~~~~~~~~~~~~
/home/pi/dev/opencl/VC4C/include/CompilationError.h:73:9: note:   candidate expects 1 argument, 3 provided
/home/pi/dev/opencl/VC4C/include/CompilationError.h:72:9: note: candidate: ‘vc4c::CompilationError::CompilationError(vc4c::CompilationStep, const string&, const string&)’
   72 |         CompilationError(CompilationStep step, const std::string& message, const std::string& object);
      |         ^~~~~~~~~~~~~~~~
/home/pi/dev/opencl/VC4C/include/CompilationError.h:72:95: note:   no known conversion for argument 3 from ‘llvm::StringRef’ to ‘const string&’ {aka ‘const std::__cxx11::basic_string<char>&’}
   72 |         CompilationError(CompilationStep step, const std::string& message, const std::string& object);
      |                                                                            ~~~~~~~~~~~~~~~~~~~^~~~~~
/home/pi/dev/opencl/VC4C/include/CompilationError.h:71:9: note: candidate: ‘vc4c::CompilationError::CompilationError(vc4c::CompilationStep, const string&)’
   71 |         CompilationError(CompilationStep step, const std::string& message);
      |         ^~~~~~~~~~~~~~~~
/home/pi/dev/opencl/VC4C/include/CompilationError.h:71:9: note:   candidate expects 2 arguments, 3 provided
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:884:49: error: conversion from ‘llvm::StringRef’ to non-scalar type ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} requested
  884 |             std::string funcName = func->getName();
      |                                    ~~~~~~~~~~~~~^~
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:985:38: error: ‘const class llvm::ShuffleVectorInst’ has no member named ‘getMask’
  985 |             toValue(method, shuffle->getMask(), &instructions)));
      |                                      ^~~~~~~
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp: In member function ‘vc4c::Value vc4c::llvm2qasm::BitcodeReader::toConstant(vc4c::Module&, const llvm::Value*, vc4c::Method*, vc4c::llvm2qasm::LLVMInstructionList*)’:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:1172:18: warning: unused variable ‘constant’ [-Wunused-variable]
 1172 |     else if(auto constant = llvm::dyn_cast<const llvm::ConstantAggregateZero>(val))
      |                  ^~~~~~~~
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp: In member function ‘vc4c::Value vc4c::llvm2qasm::BitcodeReader::precalculateConstantExpression(vc4c::Module&, const llvm::ConstantExpr*, vc4c::Method*, vc4c::llvm2qasm::LLVMInstructionList*)’:
/home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:1267:108: error: no matching function for call to ‘vc4c::CompilationError::CompilationError(vc4c::CompilationStep, const char [73], llvm::StringRef)’
 1267 |                 "Only constant global getelementptr without offsets are supported for now", expr->getName());
      |                                                                                                            ^
In file included from /home/pi/dev/opencl/VC4C/src/llvm/../Locals.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../GlobalValues.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Module.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/../Parser.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.h:10,
                 from /home/pi/dev/opencl/VC4C/src/llvm/BitcodeReader.cpp:7:
/home/pi/dev/opencl/VC4C/include/CompilationError.h:74:9: note: candidate: ‘vc4c::CompilationError::CompilationError(vc4c::CompilationError&&)’
   74 |         CompilationError(CompilationError&&) = default; // RPi cross-compiler throws on noexcept
      |         ^~~~~~~~~~~~~~~~
/home/pi/dev/opencl/VC4C/include/CompilationError.h:74:9: note:   candidate expects 1 argument, 3 provided
/home/pi/dev/opencl/VC4C/include/CompilationError.h:73:9: note: candidate: ‘vc4c::CompilationError::CompilationError(const vc4c::CompilationError&)’
   73 |         CompilationError(const CompilationError&) = default;
      |         ^~~~~~~~~~~~~~~~
/home/pi/dev/opencl/VC4C/include/CompilationError.h:73:9: note:   candidate expects 1 argument, 3 provided
/home/pi/dev/opencl/VC4C/include/CompilationError.h:72:9: note: candidate: ‘vc4c::CompilationError::CompilationError(vc4c::CompilationStep, const string&, const string&)’
   72 |         CompilationError(CompilationStep step, const std::string& message, const std::string& object);
      |         ^~~~~~~~~~~~~~~~
/home/pi/dev/opencl/VC4C/include/CompilationError.h:72:95: note:   no known conversion for argument 3 from ‘llvm::StringRef’ to ‘const string&’ {aka ‘const std::__cxx11::basic_string<char>&’}
   72 |         CompilationError(CompilationStep step, const std::string& message, const std::string& object);
      |                                                                            ~~~~~~~~~~~~~~~~~~~^~~~~~
/home/pi/dev/opencl/VC4C/include/CompilationError.h:71:9: note: candidate: ‘vc4c::CompilationError::CompilationError(vc4c::CompilationStep, const string&)’
   71 |         CompilationError(CompilationStep step, const std::string& message);
      |         ^~~~~~~~~~~~~~~~
/home/pi/dev/opencl/VC4C/include/CompilationError.h:71:9: note:   candidate expects 2 arguments, 3 provided
^Cmake[2]: *** [src/CMakeFiles/VC4CC.dir/build.make:836: src/CMakeFiles/VC4CC.dir/llvm/BitcodeReader.cpp.o] Interrupt
make[1]: *** [CMakeFiles/Makefile2:2065: src/CMakeFiles/VC4CC.dir/all] Interrupt
make: *** [Makefile:182: all] Interrupt

Could be a while until I update the repo itself, but this patch should fix clang 11 compilation and usage.

Thanks so much for the quick patch!

The cmake patch didn't apply for me - it seems like the file uses tab indentation, whilst the patch is looking for spaces. I applied the changes manually though, and it all works great!