Revision: 55671
          http://sourceforge.net/p/brlcad/code/55671
Author:   brlcad
Date:     2013-06-05 04:02:13 +0000 (Wed, 05 Jun 2013)
Log Message:
-----------
make sure the emmintrin.h header actually works, not just exists.  there's a 
gcc bug spanning 4.0-4.5 where the posix_memalign() decls are different causing 
a 'throws different exceptions' failure

Modified Paths:
--------------
    brlcad/trunk/CMakeLists.txt
    brlcad/trunk/include/dvec.h

Modified: brlcad/trunk/CMakeLists.txt
===================================================================
--- brlcad/trunk/CMakeLists.txt 2013-06-05 03:50:41 UTC (rev 55670)
+++ brlcad/trunk/CMakeLists.txt 2013-06-05 04:02:13 UTC (rev 55671)
@@ -1603,7 +1603,15 @@
   endif(OPENGL_INCLUDE_DIR_GLX)
 endif(BRLCAD_ENABLE_OPENGL)
 
+# may have the header, but ensure it works in pedantic mode (gcc bug)
+if (HAVE_EMMINTRIN_H
+    check_cxx_source_compiles("#include <emmintrin.h>\nint main() { return 0; 
}" HAVE_EMMINTRIN)
+    if (HAVE_EMMINTRIN)
+      CONFIG_H_APPEND(BRLCAD "#define HAVE_EMMINTRIN 1\n")
+    endif (HAVE_EMMINTRIN)
+endif (HAVE_EMMINTRIN_H)
 
+
 # *******************************************************************
 # ***         Check for Types/Structures - Stage 6 of 9           ***
 # *******************************************************************
@@ -1628,7 +1636,6 @@
 BRLCAD_TYPE_SIZE("uintptr_t" "")
 BRLCAD_TYPE_SIZE("sig_t" "signal.h")
 
-
 # see if we have a TLS intrinsic, first check C++11 compliance
 check_cxx_source_compiles("static thread_local int i = 0; int main() { return 
i; }" HAVE_THREAD_LOCAL)
 if (HAVE_THREAD_LOCAL)

Modified: brlcad/trunk/include/dvec.h
===================================================================
--- brlcad/trunk/include/dvec.h 2013-06-05 03:50:41 UTC (rev 55670)
+++ brlcad/trunk/include/dvec.h 2013-06-05 04:02:13 UTC (rev 55671)
@@ -125,7 +125,7 @@
 #define VEC_ALIGN
 
 /*#undef __SSE2__*/ // Test FPU version
-#if defined(__SSE2__) && defined(__GNUC__) && defined(HAVE_EMMINTRIN_H)
+#if defined(__SSE2__) && defined(__GNUC__) && defined(HAVE_EMMINTRIN_H) && 
defined(HAVE_EMMINTRIN)
 #  define __x86_vector__
 #  include "vector_x86.h"
 #else

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to