<div dir="ltr">Hi Sam,<div>    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: </div>
<div><div><font color="#00ff00"> 1. unknown builtin '__builtin_ia32_cmpneqps'</font></div><div><font color="#00ff00"> 2.  error: invalid conversion between vector type '__m128' and integer type 'int' of different size</font></div>
</div><div><font color="#00ff00"><br></font></div><div><font color="#000000">However  there are some other 5 kinds of errors  reported as before, </font></div><div><font color="#000000"> </font><font color="#0000ff">/usr/include/stdlib.h:337:4: error: unknown type name 'size_t'; did you mean 'ssize_t'?</font></div>
<div><font color="#0000ff"><br></font></div><div><div><font color="#0000ff">/usr/include/stdlib.h:857:20: error: unknown type name 'wchar_t'</font></div></div><div><font color="#0000ff"><br></font></div><div><div>
<font color="#0000ff">/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'?</font></div></div><div><font color="#0000ff"><br>
</font></div><div><div><font color="#0000ff">/usr/include/CL/cl.h:562:17: error: redefinition of parameter 'size_t'</font></div></div><div><div><font color="#0000ff">/sandbox/xiuxia/libclc/libclc/generic/include/clc/integer/abs.inc:1:41: error: conflicting types for 'abs'</font></div>
</div><div><font color="#0000ff"><br></font></div><div><div><font color="#0000ff">atom_kernel.h:45:24: error: invalid operands to binary expression ('MMD_floatK3' (aka 'struct sdouble3') and 'MMD_floatK3')</font></div>
</div><div><br></div><div><br></div><div>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. </div>
<div><br></div><div><br></div><div>Best,</div><div>Xiuxia</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Apr 22, 2014 at 5:36 AM, Sam Parker <span dir="ltr"><<a href="mailto:S.Parker3@lboro.ac.uk" target="_blank">S.Parker3@lboro.ac.uk</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
Have you ensured you are meeting this requirement?<br>
<br>
    // <Warning!!> -- Platform Specific Code lives here<br>
    // This depends on A) that you're running linux and<br>
    // B) that you have the same GCC LIBs installed that<br>
    // I do.<br>
    // Search through Clang itself for something like this,<br>
    // go on, you won't find it. The reason why is Clang<br>
    // has its own versions of std* which are installed under<br>
    // /usr/local/lib/clang/<version>/include/<br>
    // See somewhere around Driver.cpp:77 to see Clang adding<br>
    // its version of the headers to its include path.<br>
<br>
you're using the gcc include path, and i've always used the clang path instead.<br>
<br>
cheers,<br>
sam<br>
<div class=""><br>
Sam Parker<br>
Research Student<br>
Electronic Systems Design Group<br>
Loughborough University<br>
UK<br>
<br>
________________________________________<br>
</div><div class="">From: <a href="mailto:cfe-dev-bounces@cs.uiuc.edu">cfe-dev-bounces@cs.uiuc.edu</a> [<a href="mailto:cfe-dev-bounces@cs.uiuc.edu">cfe-dev-bounces@cs.uiuc.edu</a>] on behalf of Xiuxia [<a href="mailto:zhangxiuxia1@gmail.com">zhangxiuxia1@gmail.com</a>]<br>

</div>Sent: 22 April 2014 00:30<br>
To: <a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<div class="">Subject: Re: [cfe-dev] OpenCL : invalid operands to binary expression<br>
<br>
Hi Sam,<br>
</div><div><div class="h5">   Thanks for your reply and suggestions.<br>
I followed your suggestion, and add necessary source code to CI_opencl.cpp<br>
and input file.  However there are same problems.<br>
<br>
<br>
Here is my input file(atom_kernel.h) and clang consumer file(CI_opencl.cpp)<br>
and error output (error.output). Makefile is the same.<br>
<br>
almost the same error. Compiler still complain types and sse instructions<br>
missing.<br>
<br>
<br>
Thanks,<br>
Xiuxia<br>
<br>
<br>
On Mon, Apr 21, 2014 at 4:40 PM, Sam Parker [via Clang Developers] <<br>
<a href="mailto:ml-node%2Bs42468n4038933h96@n3.nabble.com">ml-node+s42468n4038933h96@n3.nabble.com</a>> wrote:<br>
<br>
> Hi,<br>
><br>
> Ok, I though you were just trying to compile on the command line...<br>
> Haven't checked this, but something along like this should work:<br>
><br>
> Invocation->setLangDefaults(langOpts,<br>
>                               clang::IK_CXX,<br>
>      // change to clang::IK_OpenCL<br>
>                               clang::LangStandard::lang_opencl);<br>
><br>
> And grab the opencl header files from <a href="http://libclc.llvm.org" target="_blank">libclc.llvm.org</a> and add these to<br>
> your search path:<br>
> hso->AddPath("/path/to/libclc/headers", clang::frontend::Angled, false,<br>
> false);<br>
><br>
> and you'll also have to enable the storage classes:<br>
> ci.getPreprocessorOpts().addMacroDef("cl_clang_storage_class_specifiers");<br>
><br>
> good luck,<br>
> Sam<br>
><br>
> Sam Parker<br>
> Research Student<br>
> Electronic Systems Design Group<br>
> Loughborough University<br>
> UK<br>
><br>
> ________________________________________<br>
</div></div>> From: [hidden email]<<a href="http://user/SendEmail.jtp?type=node&node=4038933&i=0" target="_blank">http://user/SendEmail.jtp?type=node&node=4038933&i=0</a>>[[hidden<br>
> email] <<a href="http://user/SendEmail.jtp?type=node&node=4038933&i=1" target="_blank">http://user/SendEmail.jtp?type=node&node=4038933&i=1</a>>] on behalf<br>
> of Xiuxia [[hidden email]<<a href="http://user/SendEmail.jtp?type=node&node=4038933&i=2" target="_blank">http://user/SendEmail.jtp?type=node&node=4038933&i=2</a>>]<br>
<div class="">><br>
> Sent: 21 April 2014 17:20<br>
</div>> To: [hidden email] <<a href="http://user/SendEmail.jtp?type=node&node=4038933&i=3" target="_blank">http://user/SendEmail.jtp?type=node&node=4038933&i=3</a>><br>
<div><div class="h5">> Subject: Re: [cfe-dev] OpenCL :  invalid operands to binary expression<br>
><br>
> Hi Sam,<br>
>        I am using clang3.4 version.<br>
> My makefile is<br>
><br>
> CXX := clang++<br>
> LLVMCOMPONENTS := cppbackend<br>
> RTTIFLAG := -fno-rtti<br>
> LLVMCONFIG := /sandbox/xiuxia/llvm_build/Debug+Asserts/bin/llvm-config<br>
><br>
> CXXFLAGS := -I$(shell $(LLVMCONFIG) --src-root)/tools/clang/include<br>
> -I$(shell $(LLVMCONFIG) --obj-root)/tools/clang/include $(shell<br>
> $(LLVMCONFIG) --cxxflags) $(RTTIFLAG)<br>
> LLVMLDFLAGS := $(shell $(LLVMCONFIG) --ldflags --libs $(LLVMCOMPONENTS))<br>
><br>
> SOURCES = CI_opencl.cpp<br>
><br>
> OBJECTS = $(SOURCES:.cpp=.o)<br>
> EXES = $(OBJECTS:.o=)<br>
> CLANGLIBS = \<br>
>                 -lclangTooling\<br>
>                 -lclangFrontendTool\<br>
>                 -lclangFrontend\<br>
>                 -lclangDriver\<br>
>                 -lclangSerialization\<br>
>                 -lclangCodeGen\<br>
>                 -lclangParse\<br>
>                 -lclangSema\<br>
>                 -lclangStaticAnalyzerFrontend\<br>
>                 -lclangStaticAnalyzerCheckers\<br>
>                 -lclangStaticAnalyzerCore\<br>
>                 -lclangAnalysis\<br>
>                 -lclangARCMigrate\<br>
>                 -lclangRewriteFrontend\<br>
>                 -lclangRewriteCore\<br>
>                 -lclangEdit\<br>
>                 -lclangAST\<br>
>                 -lclangLex\<br>
>                 -lclangBasic\<br>
>                 $(shell $(LLVMCONFIG) --libs)\<br>
>                 -lcurses<br>
><br>
> all: $(OBJECTS) $(EXES)<br>
><br>
> %: %.o<br>
>     $(CXX) -o $@ $< $(CLANGLIBS) $(LLVMLDFLAGS)<br>
><br>
><br>
> Here is my source file : I put it on the attachment. CI_opencl.cpp<br>
> <<a href="http://clang-developers.42468.n3.nabble.com/file/n4038913/CI_opencl.cpp" target="_blank">http://clang-developers.42468.n3.nabble.com/file/n4038913/CI_opencl.cpp</a>><br>
><br>
><br>
><br>
><br>
><br>
> -----<br>
> Good good study, day day up<br>
> --<br>
> View this message in context:<br>
> <a href="http://clang-developers.42468.n3.nabble.com/OpenCL-invalid-operands-to-binary-expression-tp4038893p4038913.html" target="_blank">http://clang-developers.42468.n3.nabble.com/OpenCL-invalid-operands-to-binary-expression-tp4038893p4038913.html</a><br>

><br>
> Sent from the Clang Developers mailing list archive at Nabble.com.<br>
> _______________________________________________<br>
> cfe-dev mailing list<br>
</div></div>> [hidden email] <<a href="http://user/SendEmail.jtp?type=node&node=4038933&i=4" target="_blank">http://user/SendEmail.jtp?type=node&node=4038933&i=4</a>><br>
<div class="">> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
> _______________________________________________<br>
> cfe-dev mailing list<br>
</div>> [hidden email] <<a href="http://user/SendEmail.jtp?type=node&node=4038933&i=5" target="_blank">http://user/SendEmail.jtp?type=node&node=4038933&i=5</a>><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
><br>
><br>
> ------------------------------<br>
<div class="">>  If you reply to this email, your message will be added to the discussion<br>
> below:<br>
><br>
> <a href="http://clang-developers.42468.n3.nabble.com/OpenCL-invalid-operands-to-binary-expression-tp4038893p4038933.html" target="_blank">http://clang-developers.42468.n3.nabble.com/OpenCL-invalid-operands-to-binary-expression-tp4038893p4038933.html</a><br>

>  To unsubscribe from OpenCL : invalid operands to binary expression, click<br>
</div>> here<<a href="http://clang-developers.42468.n3.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4038893&code=emhhbmd4aXV4aWExQGdtYWlsLmNvbXw0MDM4ODkzfC0xNzc0MzY4MDE0" target="_blank">http://clang-developers.42468.n3.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4038893&code=emhhbmd4aXV4aWExQGdtYWlsLmNvbXw0MDM4ODkzfC0xNzc0MzY4MDE0</a>><br>

> .<br>
> NAML<<a href="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" target="_blank">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</a>><br>

><br>
<br>
<br>
<br>
--<br>
<br>
*Zhang XiuxiaInstitute of Computing Techonology  Chinese Academy of<br>
Sciences*<br>
<br>
<br>
CI_opencl.cpp (9K) <<a href="http://clang-developers.42468.n3.nabble.com/attachment/4038936/0/CI_opencl.cpp" target="_blank">http://clang-developers.42468.n3.nabble.com/attachment/4038936/0/CI_opencl.cpp</a>><br>
atom_kernel.h (3K) <<a href="http://clang-developers.42468.n3.nabble.com/attachment/4038936/1/atom_kernel.h" target="_blank">http://clang-developers.42468.n3.nabble.com/attachment/4038936/1/atom_kernel.h</a>><br>
error.output (2M) <<a href="http://clang-developers.42468.n3.nabble.com/attachment/4038936/2/error.output" target="_blank">http://clang-developers.42468.n3.nabble.com/attachment/4038936/2/error.output</a>><br>
<div class=""><br>
<br>
<br>
<br>
-----<br>
Good good study, day day up<br>
--<br>
</div>View this message in context: <a href="http://clang-developers.42468.n3.nabble.com/Re-OpenCL-invalid-operands-to-binary-expression-tp4038936.html" target="_blank">http://clang-developers.42468.n3.nabble.com/Re-OpenCL-invalid-operands-to-binary-expression-tp4038936.html</a><br>

<div class="">Sent from the Clang Developers mailing list archive at Nabble.com.<br>
_______________________________________________<br>
cfe-dev mailing list<br>
</div><a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a></blockquote></div><br><br clear="all"><div><br></div>-- <br><i>Zhang Xiuxia<br>Institute of Computing Techonology  Chinese Academy of Sciences</i><br>
<br>
</div>