Kai, can you offer some compiler insight here?

Something is getting tangled here, but I'm not quite sure what.

I can't reproduce it here. It looks like a GCC bug, but I'm not familiar with those constprop symbols. Maybe Kai will have some idea.

I've had someone else try, and they see the same error. Here's the code I'm using http://privatepaste.com/a27ce89f72. Compile for x86 with -Os -fwhole-program. Remove the "-fwhole-program" and it works.

Even when this "works," the inline code for InterlockedExchange is included in the exe AND there is a dependency on kernel32.dll. This fact makes me really uncomfortable. We're actually defining 2 implementations for the same function. And the compiler isn't just picking one, it's somehow trying to use both.

I worry that even if we discover a work-around for this specific issue, it seems like we're trying to trick the compiler into doing something it normally forbids. That seldom ends well.

I'd like to see this work. But I'm starting to lean back towards just using the imports for x86.

dw
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to