[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#949024: marked as done (g++: ICE at cp/pt.c:15779 on beignet in -std=gnu++14)



Your message dated Tue, 2 Feb 2021 08:21:00 +0100
with message-id <3ae6a75a-3aed-bf46-34b1-33819ea8193e@debian.org>
and subject line Fixed
has caused the Debian Bug report #949024,
regarding g++: ICE at cp/pt.c:15779 on beignet in -std=gnu++14
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
949024: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=949024
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: g++-9
Version: 9.2.1-23
Control: affects -1 src:beignet

Trying to build beignet with llvm 10 and the default -std fails with this internal compiler error. (See attached for exact changes; it previously used -std=c++0x, but that fails with LLVM 10 because it can't find std::index_sequence.)

_Possibly_ this upstream bug: https://gcc.gnu.org/ml/gcc-bugs/2019-11/msg02364.html

(The error says to attach the full preprocessed source, but it's ~2M which I suspect is too big to be allowed here.)

// Target: x86_64-linux-gnu
// Configured with: ../src/configure -v --with-pkgversion='Debian 9.2.1-23' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex
// Thread model: posix
// Supported LTO compression algorithms: zlib zstd
// gcc version 9.2.1 20200110 (Debian 9.2.1-23)
//
// In file included from /home/rnpalmer/Debian/builds/stackbuild/beignet/backend/src/./ir/instruction.hpp:28, // from /home/rnpalmer/Debian/builds/stackbuild/beignet/backend/src/ir/instruction.cpp:24: // /home/rnpalmer/Debian/builds/stackbuild/beignet/backend/src/./ir/immediate.hpp: In constructor 'gbe::ir::Immediate::Immediate(gbe::ir::half*, uint32_t)': // /home/rnpalmer/Debian/builds/stackbuild/beignet/backend/src/./ir/immediate.hpp:159:62: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of non-trivially copyable type 'class gbe::ir::half'; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
//   159 |       memcpy(this->data.FIELD, FIELD, ELEMNUM * getTypeSize()); \
//       |                                                              ^
// /home/rnpalmer/Debian/builds/stackbuild/beignet/backend/src/./ir/immediate.hpp:172:5: note: in expansion of macro 'DECL_CONSTRUCTOR'
//   172 |     DECL_CONSTRUCTOR(half, f16, TYPE_HALF, elemNum)
//       |     ^~~~~~~~~~~~~~~~
// In file included from /home/rnpalmer/Debian/builds/stackbuild/beignet/backend/src/./ir/immediate.hpp:30, // from /home/rnpalmer/Debian/builds/stackbuild/beignet/backend/src/./ir/instruction.hpp:28, // from /home/rnpalmer/Debian/builds/stackbuild/beignet/backend/src/ir/instruction.cpp:24: // /home/rnpalmer/Debian/builds/stackbuild/beignet/backend/src/./ir/half.hpp:34:9: note: 'class gbe::ir::half' declared here
//    34 |   class half
//       |         ^~~~
// /home/rnpalmer/Debian/builds/stackbuild/beignet/backend/src/ir/instruction.cpp: In instantiation of 'class gbe::ir::internal::NaryInstruction<0>': // /home/rnpalmer/Debian/builds/stackbuild/beignet/backend/src/ir/instruction.cpp:135:59: required from here // /home/rnpalmer/Debian/builds/stackbuild/beignet/backend/src/ir/instruction.cpp:120:31: internal compiler error: in tsubst_copy, at cp/pt.c:15779
//   120 |     class ALIGNED_INSTRUCTION NaryInstruction :
//       |                               ^~~~~~~~~~~~~~~
// Please submit a full bug report,
// with preprocessed source if appropriate.
// See <file:///usr/share/doc/gcc-9/README.Bugs> for instructions.

// /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -I /home/rnpalmer/Debian/builds/stackbuild/beignet/obj-x86_64-linux-gnu -I /home/rnpalmer/Debian/builds/stackbuild/beignet -I /home/rnpalmer/Debian/builds/stackbuild/beignet/include -I /usr/include/libdrm -I /home/rnpalmer/Debian/builds/stackbuild/beignet/obj-x86_64-linux-gnu/backend -I /home/rnpalmer/Debian/builds/stackbuild/beignet/backend/src/. -I /usr/lib/llvm-10/include -imultiarch x86_64-linux-gnu -D_GNU_SOURCE -D ENABLE_OPENCL_20 -D GEN7_SAMPLER_CLAMP_BORDER_WORKAROUND -D LLVM_100 -D gbe_EXPORTS -D _FORTIFY_SOURCE=2 -D GBE_DEBUG=1 -D _GNU_SOURCE -D __STDC_CONSTANT_MACROS -D __STDC_FORMAT_MACROS -D __STDC_LIMIT_MACROS -D GBE_DEBUG_MEMORY=0 -D GBE_COMPILER_AVAILABLE=1 /home/rnpalmer/Debian/builds/stackbuild/beignet/backend/src/ir/instruction.cpp -quiet -dumpbase instruction.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/gbe.dir/ir/instruction.cpp.o -g -O2 -Wformat=1 -Werror=format-security -Wdate-time -Wall -Wcast-align -Wno-invalid-offsetof -fdebug-prefix-map=/home/rnpalmer/Debian/builds/stackbuild/beignet=. -fstack-protector-strong -funroll-loops -fstrict-aliasing -fno-rtti -fvisibility=hidden -fPIC -fasynchronous-unwind-tables -o - -frandom-seed=0 -fdump-noaddr
diff --git a/debian/control b/debian/control
index 320f19e..af6c9cd 100644
--- a/debian/control
+++ b/debian/control
@@ -12,9 +12,9 @@ Build-Depends: debhelper-compat (= 12),
 #but as this package cannot run its tests in a standard build,
 #specifying an explicit version prevents it from changing
 #(due to llvm-defaults changes) without testing
- clang-9,
- libclang-9-dev,
- llvm-9-dev,
+ clang-10,
+ libclang-10-dev,
+ llvm-10-dev,
  ocl-icd-dev,
  ocl-icd-opencl-dev,
  opencl-headers (>= 2.0~),
diff --git a/debian/patches/Debian-compliant-compiler-flags-handling.patch b/debian/patches/Debian-compliant-compiler-flags-handling.patch
index 99e7325..87229a7 100644
--- a/debian/patches/Debian-compliant-compiler-flags-handling.patch
+++ b/debian/patches/Debian-compliant-compiler-flags-handling.patch
@@ -28,6 +28,15 @@ Author: Simon Richter <sjr@debian.org>,Rebecca Palmer <rebecca_palmer@zoho.com>
  elseif (COMPILER STREQUAL "ICC")
    set (CMAKE_C_CXX_FLAGS "${CMAKE_C_CXX_FLAGS}  -wd2928 -Wall -fPIC -fstrict-aliasing -fp-model fast -msse4.1 -Wl,-E")
  endif ()
+@@ -79,7 +78,7 @@ elseif (COMPILER STREQUAL "CLANG")
+ elseif (COMPILER STREQUAL "ICC")
+   set (CMAKE_C_CXX_FLAGS "${CMAKE_C_CXX_FLAGS}  -wd2928 -Wall -fPIC -fstrict-aliasing -fp-model fast -msse4.1 -Wl,-E")
+ endif ()
+-set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_C_CXX_FLAGS} -std=c++0x -Wno-invalid-offsetof")
++set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_C_CXX_FLAGS} -Wno-invalid-offsetof")
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_CXX_FLAGS}")
+ set (CMAKE_CXX_FLAGS_DEBUG          "-O0 -g -DGBE_DEBUG=1")
+ set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -DGBE_DEBUG=1")
 --- a/backend/src/sys/platform.hpp
 +++ b/backend/src/sys/platform.hpp
 @@ -41,15 +41,6 @@
@@ -54,7 +63,7 @@ Author: Simon Richter <sjr@debian.org>,Rebecca Palmer <rebecca_palmer@zoho.com>
  
 -  set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_C_CXX_FLAGS} -std=c++0x -Wno-invalid-offsetof")
 -  set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_CXX_FLAGS}")
-+  set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_C_CXX_FLAGS} -std=c++0x -Wno-invalid-offsetof -ffloat-store")
++  set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_C_CXX_FLAGS} -Wno-invalid-offsetof -ffloat-store")
 +  set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_CXX_FLAGS} -ffloat-store") #compiler_{degrees,radians,function_argument2} use equality comparison of floats
    set (CMAKE_CXX_FLAGS_DEBUG          "-O0 -g -DGBE_DEBUG=1")
    set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -DGBE_DEBUG=1")
diff --git a/debian/rules b/debian/rules
index 2bca087..2f82669 100755
--- a/debian/rules
+++ b/debian/rules
@@ -13,7 +13,7 @@ export DEB_CPPFLAGS_MAINT_APPEND = -DGBE_DEBUG=1
 # We build with the headers from opencl-headers.
 SUPERFLUOUS=cl.h cl_d3d10.h cl_dx9_media_sharing.h cl_ext.h cl_gl_ext.h cl_platform.h cl.hpp cl_d3d11.h cl_egl.h cl_gl.h opencl.h
 
-LLVM_VERSION		:= 9
+LLVM_VERSION		:= 10
 
 override_dh_auto_configure:
 	$(RM) $(patsubst %,include/CL/%,$(SUPERFLUOUS))

--- End Message ---
--- Begin Message ---
Version: 9.2.1-31

Fixed.

--- End Message ---

Reply to: