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