[Beignet] opencl-1.2 branch head compile error and warnings
Zhigang Gong
zhigang.gong at linux.intel.com
Tue Jan 7 19:16:04 PST 2014
I'm using 3.3.1 which works fine on the 1.2 branch. From the warning messages
you gave below, I doubt there maybe some conflict llvm/clang version problem
on your system. You can see the first warning is totally triggerred by the llvm
and clang's header files. If you have a clean 3.3 clang/llvm installation in your
system, that should not happen.
Another issue is that now we only support llvm/clang 3.3 but the cmake will find
some earlier version of llvm. Simon already submitted a patch to fix that. I just
modified it slightly and push it to both master branch and opencl-1.2 branch.
My suggestion for you is to update to the latest opencl-1.2 branch. And make
sure you have a clean llvm/clang 3.3 installation and try it again.
Thanks for reporting this to us and good luck.
On Tue, Jan 07, 2014 at 06:27:55PM +0100, Robert Jobbagy wrote:
> Hi,
>
> After the update I gave this error :
>
> /beignet_opencl_1_2/backend/src/ocl_barrier.ll:9:50: error: expected
> top-level entity
> declare void @__gen_ocl_barrier_local() nounwind noduplicate alwaysinline
> ^
> make[2]: *** [backend/src/ocl_barrier.ll.bc] Error 1
> make[1]: *** [backend/src/CMakeFiles/beignet.bc.dir/all] Error 2
> make[1]: *** Waiting for unfinished jobs....
>
> I used llvm 3.3-5ubuntu4
>
> workaround:
> I removed all noduplicate marker from declares and defines
>
> I saw these warnings too:
>
> In file included from
> /usr/lib/llvm-3.3/include/clang/Basic/VersionTuple.h:19:0,
> from
> /usr/lib/llvm-3.3/include/clang/Basic/ObjCRuntime.h:18,
> from
> /usr/lib/llvm-3.3/include/clang/Basic/LangOptions.h:20,
> from
> /usr/lib/llvm-3.3/include/clang/Frontend/FrontendAction.h:22,
> from
> /usr/lib/llvm-3.3/include/clang/CodeGen/CodeGenAction.h:13,
> from
> /home/evil85/workspace/cpp/beignet_opencl_1_2/backend/src/backend/program.cpp:56:
> /usr/lib/llvm-3.3/include/llvm/ADT/Optional.h: In instantiation of ‘T*
> llvm::Optional<T>::getPointer() [with T = unsigned int]’:
> /usr/lib/llvm-3.3/include/llvm/ADT/Optional.h:123:76: required from ‘T&
> llvm::Optional<T>::operator*() [with T = unsigned int]’
> /usr/lib/llvm-3.3/include/llvm/ADT/Optional.h:51:7: required from
> ‘llvm::Optional<T>::Optional(llvm::Optional<T>&&) [with T = unsigned int]’
> /usr/lib/llvm-3.3/include/clang/Basic/VersionTuple.h:60:14: required from
> here
> /usr/lib/llvm-3.3/include/llvm/ADT/Optional.h:114:79: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> /usr/lib/llvm-3.3/include/llvm/ADT/Optional.h: In instantiation of ‘T*
> llvm::Optional<T>::getPointer() [with T = bool]’:
> /usr/lib/llvm-3.3/include/llvm/ADT/Optional.h:123:76: required from ‘T&
> llvm::Optional<T>::operator*() [with T = bool]’
> /usr/lib/llvm-3.3/include/llvm/ADT/Optional.h:104:7: required from ‘void
> llvm::Optional<T>::reset() [with T = bool]’
> /usr/lib/llvm-3.3/include/llvm/ADT/Optional.h:110:5: required from
> ‘llvm::Optional<T>::~Optional() [with T = bool]’
> /usr/lib/llvm-3.3/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h:397:27:
> required from here
> /usr/lib/llvm-3.3/include/llvm/ADT/Optional.h:114:79: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
>
> /home/evil85/workspace/cpp/beignet_opencl_1_2/backend/src/backend/program.cpp:652:
> warning: the use of `tmpnam_r' is dangerous, better use `mkstemp'
>
>
> I made something wrong ? Previous version (2013-12-05) compiled fine.
>
>
>
>
> --
> Best Regards,
>
> Robert
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/beignet
More information about the Beignet
mailing list