search for: remove_reference

Displaying 8 results from an estimated 8 matches for "remove_reference".

2013 Nov 15
2
[LLVMdev] lld fails to build on Visual Studio 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 & referenc...
2013 Nov 15
0
[LLVMdev] lld fails to build on Visual Studio 2013
...;d.albuschat at gmail.com> wrote: > 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 &...
2013 Nov 15
1
[LLVMdev] lld fails to build on Visual Studio 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 statem...
2013 Nov 21
3
[LLVMdev] ErrorOr<> conflicts with unique_ptr<>
...itly-deleted copy constructor of 'std::__1::unique_ptr<Foo, std::__1::default_delete<Foo> >’ } void sinkU(std::unique_ptr<Foo> f) { f->doit(); // works as expected } void sinkE(ErrorOr<Foo*> f) { f->doit(); // ERROR: member reference base type 'typename remove_reference<Foo *>::type' (aka 'Foo *') is not a structure or union' } void sinkEU(ErrorOr<std::unique_ptr<Foo>> f) { f->doit(); // ERROR: no member named 'doit' in 'std::__1::unique_ptr<Foo, std::__1::default_delete<Foo> >' } --------------...
2013 Nov 22
0
[LLVMdev] ErrorOr<> conflicts with unique_ptr<>
.../verbose and say return ErrorOr<...>(std::move(f)); ) > } > > > void sinkU(std::unique_ptr<Foo> f) { > f->doit(); // works as expected > } > > void sinkE(ErrorOr<Foo*> f) { > f->doit(); // ERROR: member reference base type 'typename > remove_reference<Foo *>::type' (aka 'Foo *') is not a structure or union' > It's questionable whether this should work. ErrorOr<T> models a pointer to T. So if you had ErrorOr<Foo> f you'd expect to be able to do f->doit(), but if it's an ErrorOr<Foo*>, jsu...
2013 Nov 22
3
[LLVMdev] ErrorOr<> conflicts with unique_ptr<>
...the errors that you can’t access its methods (below). > > } > > > void sinkU(std::unique_ptr<Foo> f) { > f->doit(); // works as expected > } > > void sinkE(ErrorOr<Foo*> f) { > f->doit(); // ERROR: member reference base type 'typename remove_reference<Foo *>::type' (aka 'Foo *') is not a structure or union' > > It's questionable whether this should work. ErrorOr<T> models a pointer to T. So if you had ErrorOr<Foo> f you'd expect to be able to do f->doit(), but if it's an ErrorOr<Foo*>...
2013 Nov 22
0
[LLVMdev] ErrorOr<> conflicts with unique_ptr<>
.... > > > > >> } >> >> >> void sinkU(std::unique_ptr<Foo> f) { >> f->doit(); // works as expected >> } >> >> void sinkE(ErrorOr<Foo*> f) { >> f->doit(); // ERROR: member reference base type 'typename >> remove_reference<Foo *>::type' (aka 'Foo *') is not a structure or union' >> > > It's questionable whether this should work. ErrorOr<T> models a pointer to > T. So if you had ErrorOr<Foo> f you'd expect to be able to do f->doit(), > but if it's an E...
2014 Dec 17
5
[LLVMdev] How to figure out what #includes are needed?
This is partly an llvm question, and maybe partly C++. I am trying to make calls on code in the llvm infrastructure.(3.4.2) I appear to be missing some include files, but don't know how to track them down. I get compile errors on existing llvm header files, like the following two examples: -------------------------------------------------------------------------------- In file included