Hi Robert,

Am 22.11.2013 um 11:08 schrieb Robert Osfield <[email protected]>:

On 22 November 2013 09:19, Stephan Maximilian Huber <[email protected]> wrote:
I can fix the linker error w/o any code-changes if I change the optimize-flags from -O3 to -O0 for the osgdb_serializers_osgga-target. I’ll try to adapt the cmake-file.Will this change break ABI-compatibility?

The plugins don't effect the ABI of the core libraries which applications link directly too, it would only be applications that directly link the plugins that could be effected, but these are principally just the statically linked ones which of course aren't effected by ABI considerations of the shared libraries.  

Thanks for the clarification.

So changing the optimize flag for this plugin would be possible, but it's kinda crappy solution having to disable optimization because a particular version of a compiler is buggy.  What happens when Clang fix the bug?  When might we then be able to revert the workaround?

I did a search if the bug is known, but can’t find anything valuable. On the other side is the osgga-serializer not that performance-critical and it affects only the 3.2-branch, for trunk we can workaround with the explicit destructor. And I can try to remove the workaround when a new clang-version is available.

Attached you’ll find a modified cmake-file for review. By the way, can you merge the standard-lib-cmake-selection-patch I sent into the 3.2-branch? 

cheers,

Stephan


FILE(GLOB TARGET_SRC *.cpp)
FILE(GLOB TARGET_H *.h)

SET(TARGET_ADDED_LIBRARIES osgGA )

# fix an obscure compiler bug for xcode 5 + clang
IF(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND APPLE)
  SET(CMAKE_CXX_FLAGS_RELEASE "-O0 -DNDEBUG")
  SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O0 -g -DNDEBUG")
ENDIF()

#### end var setup  ###
SETUP_PLUGIN(osgga)
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to