Issue with xmmintrin.h and gcc

Running on a corei5 - amd64 PCBSD 9.0 RC3 install - ran freebsd-update to get 9.0-RC3-p1.

I am making a new port for luxrender and found an issue relating to xmmintrin.h. I have a couple of small patches for freebsd FreeBSD build - to adjust including system headers - but I think this one seems odd.

Build with clang (system) or gcc46 (port) works. Build with gcc (v4.2.1 in base install) breaks with the following:

Code:
In file included from /usr/include/gcc/4.2/xmmintrin.h:42,
                 from /usr/ports/graphics/luxrays/work/luxrays-392039ecdeab/include/luxrays/accelerators/mqbvhaccel.h:26,
                 from /usr/ports/graphics/luxrays/work/luxrays-392039ecdeab/src/accelerators/mqbvhaccel.cpp:22:
In file included from /usr/include/gcc/4.2/xmmintrin.h:42,
                 from /usr/ports/graphics/luxrays/work/luxrays-392039ecdeab/include/luxrays/accelerators/qbvhaccel.h:26,
                 from /usr/ports/graphics/luxrays/work/luxrays-392039ecdeab/src/accelerators/qbvhaccel.cpp:22:
/usr/include/gcc/4.2/mm_malloc.h:37: error: declaration of 'int posix_memalign(void**, size_t, size_t) throw ()' throws different exceptions
/usr/include/stdlib.h:156: error: from previous declaration 'int posix_memalign(void**, size_t, size_t)'
/usr/include/gcc/4.2/mm_malloc.h:37: error: declaration of 'int posix_memalign(void**, size_t, size_t) throw ()' throws different exceptions
/usr/include/stdlib.h:156: error: from previous declaration 'int posix_memalign(void**, size_t, size_t)'

Is that something that should be fixed in base or should I adjust based on compiler used? Or am I missing something more intricate?

If you want to test I am using this checkout of luxrays and the patches are the same as I showed in this thread.
 
Back
Top