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