__wine_uuidof causing a wall of "warning: returning reference to temporary" on g++
future at shiny.co.il
Mon Jul 30 06:13:27 CDT 2012
On Sun, Jul 29, 2012 at 9:47 PM, Jacek Caban <jacek at codeweavers.com> wrote:
> Upon first attempts to compile, I've received a wall of "warning:
>> returning reference to temporary" on Wine's headers from g++.
>> All of those seem to stem from guidgen.h definition of __wine_uuidof /
>> __CRT_UUID_DECL for C++.
> I don't see these warnings here. Also Wine has the same code for __uuidof
> as mingw-w64, which is much more widely used with g++ (Wine is mostly
> tested on C), and I never heard about such problem. Do you have any idea
> about what could be different in your setup? What's your g++ version?
I'm using gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) to build my
As to the difference from mingw-w64, I see different code in there:
The idea is that if matches closer to the meaning of __uuidof, which should
> return a reference to constant IID structure.
> I'd expect compiler to be smart enough to produce same code without the
> reference anyway (after all it's an inline function), but still being more
> explicit would be nice. Could you please test if the attached patch fixes
> the problem for you?
Yep, it does.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the wine-devel