[Bug c++/89464] New: shared_ptr_base.h: error: '__tag' was not declared in this scope (gcc-8.3.0 regression?)
gcc at nmacleod dot com
gcc-bugzilla@gcc.gnu.org
Sat Feb 23 06:19:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89464
Bug ID: 89464
Summary: shared_ptr_base.h: error: '__tag' was not declared in
this scope (gcc-8.3.0 regression?)
Product: gcc
Version: 8.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: gcc at nmacleod dot com
Target Milestone: ---
I've just tried building the LibreELEC operating system with gcc-8.3.0 (glibc
2.29) and it has failed when compiling the Kodi addon "PVR HDHomeRun"[1].
The compile error is:
/home/neil/projects/scratch/alternates/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.1-devel-gcc/toolchain/bin/x86_64-libreelec-linux-gnu-g++
-DADDON_GLOBAL_VERSION_MAIN_USED -DADDON_INSTANCE_VERSION_PVR_USED
-DBUILD_KODI_ADDON -Dpvr_hdhomerun_EXPORTS
-I/home/neil/projects/scratch/alternates/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.1-devel-gcc/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/include
-I/home/neil/projects/scratch/alternates/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.1-devel-gcc/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/include/kodi
-I/home/neil/projects/scratch/alternates/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.1-devel-gcc/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/include/p8-platform
-I/home/neil/projects/scratch/alternates/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.1-devel-gcc/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/include/hdhomerun
-march=x86-64 -m64 -mmmx -msse -msse2 -mfpmath=sse -fomit-frame-pointer -Wall
-pipe -Os -std=c++11 -Os -DNDEBUG -fPIC -D_LINUX -DTARGET_POSIX
-DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_MEMFD=1 -DHAVE_MKOSTEMP=1
-DHAVE_SSE=1 -DHAVE_SSE2=1 -DHAVE_SSE3=1 -DHAVE_SSSE3=1 -DHAVE_SSE4_1=1 -MD -MT
CMakeFiles/pvr.hdhomerun.dir/src/HDHomeRunTuners.cpp.o -MF
CMakeFiles/pvr.hdhomerun.dir/src/HDHomeRunTuners.cpp.o.d -o
CMakeFiles/pvr.hdhomerun.dir/src/HDHomeRunTuners.cpp.o -c
../src/HDHomeRunTuners.cpp
In file included from
/home/neil/projects/scratch/alternates/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.1-devel-gcc/toolchain/x86_64-libreelec-linux-gnu/include/c++/8.3.0/bits/shared_ptr.h:52,
from
/home/neil/projects/scratch/alternates/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.1-devel-gcc/toolchain/x86_64-libreelec-linux-gnu/include/c++/8.3.0/memory:81,
from ../src/HDHomeRunTuners.cpp:30:
/home/neil/projects/scratch/alternates/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.1-devel-gcc/toolchain/x86_64-libreelec-linux-gnu/include/c++/8.3.0/bits/shared_ptr_base.h:
In static member function 'static const std::type_info&
std::_Sp_make_shared_tag::_S_ti()':
/home/neil/projects/scratch/alternates/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.1-devel-gcc/toolchain/x86_64-libreelec-linux-gnu/include/c++/8.3.0/bits/shared_ptr_base.h:511:49:
error: '__tag' was not declared in this scope
return reinterpret_cast<const type_info&>(__tag);
^~~~~
The build log for this addon is here: http://ix.io/1BOs
The PVR HDHomeRun code compiles without issue when using gcc-8.2.0 instead of
gcc-8.3.0, so maybe this is a gcc-8.3.0 regression?
gcc-8.3.0 has been built from source along with the rest of the LibreELEC
toolchain. The build host is Ubuntu 17.10.
1.
https://github.com/kodi-pvr/pvr.hdhomerun/blob/master/src/HDHomeRunTuners.cpp#L30
More information about the Gcc-bugs
mailing list