[cfe-dev] Error in xmmintrin.h with Clang and LLVM 3.1 built from RELEASE_31 tag.
Gordon Keiser
gkeiser at arxan.com
Wed May 23 01:52:57 PDT 2012
May not be the problem here, but errors similar to that happen in xmmintrin.h when building things with GCC and not specifying -msse2. It's a bit too late for me to go digging into the clang driver, but I know I've seen this before from GCC and LLVM-GCC because they assume you have an original Pentium III unless told otherwise. Various combinations of -mcpu / -march usually do it, too.
-Gordon
> -----Original Message-----
> From: cfe-dev-bounces at cs.uiuc.edu [mailto:cfe-dev-bounces at cs.uiuc.edu]
> On Behalf Of Eli Friedman
> Sent: Wednesday, May 23, 2012 1:29 AM
> To: Gabe Rives-Corbett
> Cc: cfe-dev at cs.uiuc.edu
> Subject: Re: [cfe-dev] Error in xmmintrin.h with Clang and LLVM 3.1 built from
> RELEASE_31 tag.
>
> On Tue, May 22, 2012 at 9:28 PM, Gabe Rives-Corbett
> <gabe at gaberivescorbett.com> wrote:
> > Hello,
> >
> > I built Clang and LLVM 3.1 on OS X using the following configure command:
> >
> > configure --with-gcc-toolchain=/opt/local/ --prefix=/opt/clang-3.1/
> > --enable-targets=x86_64,x86 --enable-optimized
> >
> > the reason for the gcc-tolchain location is to use the macports gcc
> > 4.6
> > libstdc++ in order to support more of C++11. I also made the
> > libstdc++ following
> > changes to InitHeaderSearch::AddDefaultCIncludePaths:
> >
> > void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple
> > &triple,
> > const HeaderSearchOptions
> > &HSOpts) {
> > llvm::Triple::OSType os = triple.getOS();
> >
> > if (HSOpts.UseStandardSystemIncludes) {
> > switch (os) {
> > case llvm::Triple::FreeBSD:
> > case llvm::Triple::NetBSD:
> > break;
> > default:
> > // FIXME: temporary hack: hard-coded paths.
> > //AddPath("/usr/local/include", System, true, false, false);
> >
> > AddPath("/opt/local/include/gcc46/c++", System, true, false,
> > false);
> > AddPath("/opt/local/include/gcc46/c++/x86_64-apple-darwin11/.",
> > System, true, false, false);
> > AddPath("/opt/local/include/gcc46/c++/backward/", System, true,
> > false, false);
> >
> > AddPath("/opt/local/lib/gcc46/gcc/x86_64-apple-darwin11/4.6.3/include"
> > ,
> > System, true, false, false);
> > AddPath("/usr/local/include", System, true, false, false);
> >
> > AddPath("/opt/local/lib/gcc46/gcc/x86_64-apple-darwin11/4.6.3/include-
> > fixed",
> > System, true, false, false);
> > AddPath("/usr/include", System, true, false, false);
> >
> > break;
> > }
> > }
> >
> >
> > Then when building a C source file I get the following error:
> >
> > In file included from
> > /System/Library/Frameworks/Carbon.framework/Headers/Carbon.h:20:
> > In file included from
> >
> /System/Library/Frameworks/CoreServices.framework/Headers/CoreServices
> .h:21:
> > In file included from
> >
> /System/Library/Frameworks/CoreServices.framework/Frameworks/AE.frame
> work/Headers/AE.h:20:
> > In file included from
> >
> /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonC
> ore.framework/Headers/CarbonCore.h:129:
> > In file included from
> >
> /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonC
> ore.framework/Headers/DriverServices.h:32:
> > In file included from
> >
> /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonC
> ore.framework/Headers/MachineExceptions.h:29:
> > /opt/local/lib/gcc46/gcc/x86_64-apple-
> darwin11/4.6.3/include/xmmintrin.h:102:10:
> > error: invalid conversion between vector type '__m128' and integer
> > type 'int' of different size
> >
> > Any ideas?
>
> Adding "/opt/local/lib/gcc46/gcc/x86_64-apple-darwin11/4.6.3/include/"
> to your include paths is a bad idea.
>
> -Eli
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
More information about the cfe-dev
mailing list