[Insight-developers] Tcl failure on MacOSX-WrapITK

Brad King brad.king at kitware.com
Thu Feb 24 11:42:39 EST 2011


On 02/24/2011 05:50 AM, Gaëtan Lehmann wrote:
> I still get a lot of error messages in xmmintrin.h, emmintrin.h and  
> mmintrin.h - the errors are at the end of the email.
> 
> Brad (K), do you know how to fix that problem?
[snip]
> /usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3/include/mmintrin.h: In  
> function 'void _mm_empty()':
> /usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3/include/mmintrin.h:48:  
> error: '__builtin_ia32_emms' was not declared in this scope

These system headers use __builtin_XYZ functions that are provided
by the real compiler but not by gccxml's parser.  No header actually
declares them because they are builtin to the native compiler.  We
have patched copies of the headers in gccxml for more recent GCC:

 $ ls GCC_XML/Support/GCC/*/mm*
 GCC_XML/Support/GCC/4.0/mmintrin.h
 GCC_XML/Support/GCC/4.1/mmintrin.h
 GCC_XML/Support/GCC/4.2/mmintrin.h
 GCC_XML/Support/GCC/4.3/mmintrin.h
 GCC_XML/Support/GCC/4.4/mmintrin.h
 GCC_XML/Support/GCC/4.5/mmintrin.h

The patched copies comment out or remove the function body of each
inline function that calls one of these builtin functions.  It does
not affect the results because gccxml does not dump the function
bodies anyway.  For example:

$ diff /usr/lib/gcc/x86_64-linux-gnu/4.4/include/mmintrin.h GCC_XML/Support/GCC/4.4/mmintrin.h
48,50c48
< {
<   __builtin_ia32_emms ();
< }
---
> ;
54,56c52
< {
<   _mm_empty ();
< }
---
> ;
...

You'll have to copy/patch the appropriate headers into the

 GCC_XML/Support/GCC/3.4

directory.  When you get it working please send me the original
and modified copies of each header so I can commit to gccxml.

Thanks,
-Brad


More information about the Insight-developers mailing list