Bug 95239

Summary: Beignet fails to compile with GCC 6.1.1
Product: Beignet Reporter: Vedran Miletić <vedran>
Component: BeignetAssignee: Xiuli Pan <xiuli.pan>
Status: RESOLVED FIXED QA Contact:
Severity: critical    
Priority: medium    
Version: unspecified   
Hardware: All   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Vedran Miletić 2016-05-02 13:01:53 UTC
Building Beignet git revision 8dfec54e2f3e32710702ed60f5171741360f28bb on Fedora 24 x86_64 with

$ gcc --version
gcc (GCC) 6.1.1 20160427 (Red Hat 6.1.1-1)
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ g++ --version
g++ (GCC) 6.1.1 20160427 (Red Hat 6.1.1-1)
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

results in

$ make -j1
[  0%] Building CXX object backend/src/CMakeFiles/gbeinterp.dir/gbe_bin_interpreter.cpp.o
In file included from /home/vedranm/workspace/beignet/backend/src/./ir/instruction.hpp:28:0,
                 from /home/vedranm/workspace/beignet/backend/src/./backend/context.hpp:23,
                 from /home/vedranm/workspace/beignet/backend/src/backend/program.hpp:29,
                 from /home/vedranm/workspace/beignet/backend/src/backend/program.cpp:26,
                 from /home/vedranm/workspace/beignet/backend/src/gbe_bin_interpreter.cpp:30:
/home/vedranm/workspace/beignet/backend/src/./ir/immediate.hpp:346:31: error: flexible array member in union
       const Immediate *immVec[];
                               ^
backend/src/CMakeFiles/gbeinterp.dir/build.make:62: recipe for target 'backend/src/CMakeFiles/gbeinterp.dir/gbe_bin_interpreter.cpp.o' failed
make[2]: *** [backend/src/CMakeFiles/gbeinterp.dir/gbe_bin_interpreter.cpp.o] Error 1
CMakeFiles/Makefile2:127: recipe for target 'backend/src/CMakeFiles/gbeinterp.dir/all' failed
make[1]: *** [backend/src/CMakeFiles/gbeinterp.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

There might be more errors. It would be nice if Beignet could be built with GCC 6.1.1 and newer.
Comment 1 Xiuli Pan 2016-05-03 06:11:24 UTC
Hi Vedran,

I an building a gcc 6.0 and I will try to build beignet with it and fix all bugs.

Thanks
Xiuli
Comment 2 Xiuli Pan 2016-05-04 02:43:19 UTC
Hi Vedran,

I have send a patch:
https://lists.freedesktop.org/archives/beignet/2016-May/007498.html
Please have try.

Thanks
Xiuli
Comment 3 Vedran Miletić 2016-05-04 14:16:00 UTC
This patch fixes the compile issue for me.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.