[LLVMdev] lld fails to build on Visual Studio 2013

Daniel Albuschat d.albuschat at gmail.com
Fri Nov 15 09:09:30 PST 2013


Hey there,

lld fails to build on Visual Studio 2013 because of ErrorOr<void>.
For example, ErrorOr<void> is used in InputGraph.h as the return type
of InputGraph::reset.
Inside of ErrorOr, there is:
typedef typename remove_reference<T>::type &reference
As T is void, and remove_reference <T>::type results in void, the
typedef expands to:
typedef void & reference, which looks rather invalid.

So the punchline is this:
In Visual Studio 2012, the statement typedef remove_reference
<T>::type & reference; compiled. On 2013, it fails.

Greetings,
Daniel Albuschat



More information about the llvm-dev mailing list