[cfe-dev] OpenCL : invalid operands to binary expression
Xiuxia Zhang
zhangxiuxia1 at gmail.com
Tue Apr 22 08:13:37 PDT 2014
Hi Sam,
Thanks for your advice. I've tried to include clang header path
instead of gcc header, and it works, and the compiler doesn't complain the
following 2 kinds of errors anymore:
1. unknown builtin '__builtin_ia32_cmpneqps'
2. error: invalid conversion between vector type '__m128' and integer
type 'int' of different size
However there are some other 5 kinds of errors reported as before,
/usr/include/stdlib.h:337:4: error: unknown type name 'size_t'; did you
mean 'ssize_t'?
/usr/include/stdlib.h:857:20: error: unknown type name 'wchar_t'
/sandbox/xiuxia/llvm_build/Debug+Asserts/lib/clang/3.4/include/mm_malloc.h:33:44:
error: unknown type name 'size_t'; did you mean 'ssize_t'?
/usr/include/CL/cl.h:562:17: error: redefinition of parameter 'size_t'
/sandbox/xiuxia/libclc/libclc/generic/include/clc/integer/abs.inc:1:41:
error: conflicting types for 'abs'
atom_kernel.h:45:24: error: invalid operands to binary expression
('MMD_floatK3' (aka 'struct sdouble3') and 'MMD_floatK3')
I am not very familiar with clang, and find it is difficult to find
materials about how to learning clang. I feel perplexed when encounter this
kind of problems. Hope you could give me some suggestions.
Best,
Xiuxia
On Tue, Apr 22, 2014 at 5:36 AM, Sam Parker <S.Parker3 at lboro.ac.uk> wrote:
> Hi,
>
> Have you ensured you are meeting this requirement?
>
> // <Warning!!> -- Platform Specific Code lives here
> // This depends on A) that you're running linux and
> // B) that you have the same GCC LIBs installed that
> // I do.
> // Search through Clang itself for something like this,
> // go on, you won't find it. The reason why is Clang
> // has its own versions of std* which are installed under
> // /usr/local/lib/clang/<version>/include/
> // See somewhere around Driver.cpp:77 to see Clang adding
> // its version of the headers to its include path.
>
> you're using the gcc include path, and i've always used the clang path
> instead.
>
> cheers,
> sam
>
> Sam Parker
> Research Student
> Electronic Systems Design Group
> Loughborough University
> UK
>
> ________________________________________
> From: cfe-dev-bounces at cs.uiuc.edu [cfe-dev-bounces at cs.uiuc.edu] on behalf
> of Xiuxia [zhangxiuxia1 at gmail.com]
> Sent: 22 April 2014 00:30
> To: cfe-dev at cs.uiuc.edu
> Subject: Re: [cfe-dev] OpenCL : invalid operands to binary expression
>
> Hi Sam,
> Thanks for your reply and suggestions.
> I followed your suggestion, and add necessary source code to CI_opencl.cpp
> and input file. However there are same problems.
>
>
> Here is my input file(atom_kernel.h) and clang consumer file(CI_opencl.cpp)
> and error output (error.output). Makefile is the same.
>
> almost the same error. Compiler still complain types and sse instructions
> missing.
>
>
> Thanks,
> Xiuxia
>
>
> On Mon, Apr 21, 2014 at 4:40 PM, Sam Parker [via Clang Developers] <
> ml-node+s42468n4038933h96 at n3.nabble.com> wrote:
>
> > Hi,
> >
> > Ok, I though you were just trying to compile on the command line...
> > Haven't checked this, but something along like this should work:
> >
> > Invocation->setLangDefaults(langOpts,
> > clang::IK_CXX,
> > // change to clang::IK_OpenCL
> > clang::LangStandard::lang_opencl);
> >
> > And grab the opencl header files from libclc.llvm.org and add these to
> > your search path:
> > hso->AddPath("/path/to/libclc/headers", clang::frontend::Angled, false,
> > false);
> >
> > and you'll also have to enable the storage classes:
> >
> ci.getPreprocessorOpts().addMacroDef("cl_clang_storage_class_specifiers");
> >
> > good luck,
> > Sam
> >
> > Sam Parker
> > Research Student
> > Electronic Systems Design Group
> > Loughborough University
> > UK
> >
> > ________________________________________
> > From: [hidden email]<
> http://user/SendEmail.jtp?type=node&node=4038933&i=0>[[hidden
> > email] <http://user/SendEmail.jtp?type=node&node=4038933&i=1>] on behalf
> > of Xiuxia [[hidden email]<
> http://user/SendEmail.jtp?type=node&node=4038933&i=2>]
> >
> > Sent: 21 April 2014 17:20
> > To: [hidden email] <http://user/SendEmail.jtp?type=node&node=4038933&i=3
> >
> > Subject: Re: [cfe-dev] OpenCL : invalid operands to binary expression
> >
> > Hi Sam,
> > I am using clang3.4 version.
> > My makefile is
> >
> > CXX := clang++
> > LLVMCOMPONENTS := cppbackend
> > RTTIFLAG := -fno-rtti
> > LLVMCONFIG := /sandbox/xiuxia/llvm_build/Debug+Asserts/bin/llvm-config
> >
> > CXXFLAGS := -I$(shell $(LLVMCONFIG) --src-root)/tools/clang/include
> > -I$(shell $(LLVMCONFIG) --obj-root)/tools/clang/include $(shell
> > $(LLVMCONFIG) --cxxflags) $(RTTIFLAG)
> > LLVMLDFLAGS := $(shell $(LLVMCONFIG) --ldflags --libs $(LLVMCOMPONENTS))
> >
> > SOURCES = CI_opencl.cpp
> >
> > OBJECTS = $(SOURCES:.cpp=.o)
> > EXES = $(OBJECTS:.o=)
> > CLANGLIBS = \
> > -lclangTooling\
> > -lclangFrontendTool\
> > -lclangFrontend\
> > -lclangDriver\
> > -lclangSerialization\
> > -lclangCodeGen\
> > -lclangParse\
> > -lclangSema\
> > -lclangStaticAnalyzerFrontend\
> > -lclangStaticAnalyzerCheckers\
> > -lclangStaticAnalyzerCore\
> > -lclangAnalysis\
> > -lclangARCMigrate\
> > -lclangRewriteFrontend\
> > -lclangRewriteCore\
> > -lclangEdit\
> > -lclangAST\
> > -lclangLex\
> > -lclangBasic\
> > $(shell $(LLVMCONFIG) --libs)\
> > -lcurses
> >
> > all: $(OBJECTS) $(EXES)
> >
> > %: %.o
> > $(CXX) -o $@ $< $(CLANGLIBS) $(LLVMLDFLAGS)
> >
> >
> > Here is my source file : I put it on the attachment. CI_opencl.cpp
> > <http://clang-developers.42468.n3.nabble.com/file/n4038913/CI_opencl.cpp
> >
> >
> >
> >
> >
> >
> > -----
> > Good good study, day day up
> > --
> > View this message in context:
> >
> http://clang-developers.42468.n3.nabble.com/OpenCL-invalid-operands-to-binary-expression-tp4038893p4038913.html
> >
> > Sent from the Clang Developers mailing list archive at Nabble.com.
> > _______________________________________________
> > cfe-dev mailing list
> > [hidden email] <http://user/SendEmail.jtp?type=node&node=4038933&i=4>
> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
> > _______________________________________________
> > cfe-dev mailing list
> > [hidden email] <http://user/SendEmail.jtp?type=node&node=4038933&i=5>
> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
> >
> >
> > ------------------------------
> > If you reply to this email, your message will be added to the discussion
> > below:
> >
> >
> http://clang-developers.42468.n3.nabble.com/OpenCL-invalid-operands-to-binary-expression-tp4038893p4038933.html
> > To unsubscribe from OpenCL : invalid operands to binary expression,
> click
> > here<
> http://clang-developers.42468.n3.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4038893&code=emhhbmd4aXV4aWExQGdtYWlsLmNvbXw0MDM4ODkzfC0xNzc0MzY4MDE0
> >
> > .
> > NAML<
> http://clang-developers.42468.n3.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml
> >
> >
>
>
>
> --
>
> *Zhang XiuxiaInstitute of Computing Techonology Chinese Academy of
> Sciences*
>
>
> CI_opencl.cpp (9K) <
> http://clang-developers.42468.n3.nabble.com/attachment/4038936/0/CI_opencl.cpp
> >
> atom_kernel.h (3K) <
> http://clang-developers.42468.n3.nabble.com/attachment/4038936/1/atom_kernel.h
> >
> error.output (2M) <
> http://clang-developers.42468.n3.nabble.com/attachment/4038936/2/error.output
> >
>
>
>
>
> -----
> Good good study, day day up
> --
> View this message in context:
> http://clang-developers.42468.n3.nabble.com/Re-OpenCL-invalid-operands-to-binary-expression-tp4038936.html
> Sent from the Clang Developers mailing list archive at Nabble.com.
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
--
*Zhang XiuxiaInstitute of Computing Techonology Chinese Academy of
Sciences*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20140422/62588fe1/attachment.html>
More information about the cfe-dev
mailing list