[llvm] r351138 - [ORC] Move ORC Core symbol map and set types into their own header: CoreTypes.h.

Martin Storsjö via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 15 01:07:07 PST 2019


This broke compilation with GCC 5.4.

Compiling unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp now fails with 
errors like these:

../unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp:268:271:   required from here
../utils/unittest/googletest/include/gtest/internal/custom/raw-ostream.h:68:40:
error: no match for ‘operator<<’ (operand types are ‘llvm::raw_ostream’ 
and ‘llvm_gtest::ConvertibleTo<const llvm::JITSymbolFlags&>’)
                                         << ConvertibleTo<const T &>()))> {


../include/llvm/Support/raw_ostream.h:147:16: note: candidate: 
llvm::raw_ostream& llvm::raw_ostream::operator<<(char)
    raw_ostream &operator<<(char C) {
                 ^
../include/llvm/Support/raw_ostream.h:147:16: note:   no known conversion 
for argument 1 from ‘llvm_gtest::ConvertibleTo<const 
llvm::JITSymbolFlags&>’ to ‘char’
../include/llvm/Support/raw_ostream.h:154:16: note: candidate: 
llvm::raw_ostream& llvm::raw_ostream::operator<<(unsigned char)
    raw_ostream &operator<<(unsigned char C) {
                 ^

... and so on for lots of types, but none of the operators declared in 
CoreTypes.h are listed as candidates. However if I remove the declaration 
of "raw_ostream &operator<<(raw_ostream &OS, const JITSymbolFlags 
&Flags);" from there (which was added into the public header in this 
commit, before it was only present within Core.cpp) compiling the unit 
test works again.

// Martin



On Mon, 14 Jan 2019, Lang Hames via llvm-commits wrote:

> Author: lhames
> Date: Mon Jan 14 15:49:13 2019
> New Revision: 351138
>
> URL: http://llvm.org/viewvc/llvm-project?rev=351138&view=rev
> Log:
> [ORC] Move ORC Core symbol map and set types into their own header: CoreTypes.h.
>
> This will allow other utilities (including a future RuntimeDyld replacement) to
> use these types without pulling in the major Core types (JITDylib, etc.).


More information about the llvm-commits mailing list