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