https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111812
Bug ID: 111812 Summary: [14 regression] Can't build with gcc 4.8.5 Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap Assignee: unassigned at gcc dot gnu.org Reporter: seurer at gcc dot gnu.org Target Milestone: --- g:73cd319b72ca45a537688cc8cc5751d86a00a0e9, r14-4306-g73cd319b72ca45 We have one older system that still has gcc 4.8.5 as the distro compiler. seurer@granola:~/gcc/git/build/gcc-test$ g++ -v gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) If gcc 4.8.5 is no longer the minimum requirement that's fine by me as I can just build a later version to use. g++ -std=gnu++11 -c -g -O2 -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I/home/seurer/gcc/git/gcc-test/gcc -I/home/seurer/gcc/git/gcc-test/gcc/build -I/home/seurer/gcc/git/gcc-test/gcc/../include -I/home/seurer/gcc/git/gcc-test/gcc/../libcpp/include \ -o build/genpreds.o /home/seurer/gcc/git/gcc-test/gcc/genpreds.cc In file included from /home/seurer/gcc/git/gcc-test/gcc/rtl.h:30:0, from /home/seurer/gcc/git/gcc-test/gcc/genpreds.cc:27: /home/seurer/gcc/git/gcc-test/gcc/vec.h: In member function 'void vec<T, A, vl_embed>::quick_insert(unsigned int, const T&)': /home/seurer/gcc/git/gcc-test/gcc/vec.h:1089:18: error: 'is_trivially_copyable' is not a member of 'std' static_assert (std::is_trivially_copyable <T>::value, ""); ^ /home/seurer/gcc/git/gcc-test/gcc/vec.h:1089:47: error: expected primary-expression before '>' token static_assert (std::is_trivially_copyable <T>::value, ""); ^ /home/seurer/gcc/git/gcc-test/gcc/vec.h:1089:48: error: '::value' has not been declared static_assert (std::is_trivially_copyable <T>::value, ""); ^ /home/seurer/gcc/git/gcc-test/gcc/vec.h: In member function 'void vec<T, A, vl_embed>::ordered_remove(unsigned int)': /home/seurer/gcc/git/gcc-test/gcc/vec.h:1105:18: error: 'is_trivially_copyable' is not a member of 'std' static_assert (std::is_trivially_copyable <T>::value, ""); ^ /home/seurer/gcc/git/gcc-test/gcc/vec.h:1105:47: error: expected primary-expression before '>' token static_assert (std::is_trivially_copyable <T>::value, ""); ^ /home/seurer/gcc/git/gcc-test/gcc/vec.h:1105:48: error: '::value' has not been declared static_assert (std::is_trivially_copyable <T>::value, ""); ^ /home/seurer/gcc/git/gcc-test/gcc/vec.h: In member function 'void vec<T, A, vl_embed>::unordered_remove(unsigned int)': /home/seurer/gcc/git/gcc-test/gcc/vec.h:1153:18: error: 'is_trivially_copyable' is not a member of 'std' static_assert (std::is_trivially_copyable <T>::value, ""); ^ /home/seurer/gcc/git/gcc-test/gcc/vec.h:1153:47: error: expected primary-expression before '>' token static_assert (std::is_trivially_copyable <T>::value, ""); ^ /home/seurer/gcc/git/gcc-test/gcc/vec.h:1153:48: error: '::value' has not been declared static_assert (std::is_trivially_copyable <T>::value, ""); ^ /home/seurer/gcc/git/gcc-test/gcc/vec.h: In member function 'void vec<T, A, vl_embed>::block_remove(unsigned int, unsigned int)': /home/seurer/gcc/git/gcc-test/gcc/vec.h:1167:18: error: 'is_trivially_copyable' is not a member of 'std' static_assert (std::is_trivially_copyable <T>::value, ""); ^ /home/seurer/gcc/git/gcc-test/gcc/vec.h:1167:47: error: expected primary-expression before '>' token static_assert (std::is_trivially_copyable <T>::value, ""); ^ /home/seurer/gcc/git/gcc-test/gcc/vec.h:1167:48: error: '::value' has not been declared static_assert (std::is_trivially_copyable <T>::value, ""); ^ /home/seurer/gcc/git/gcc-test/gcc/vec.h: At global scope: /home/seurer/gcc/git/gcc-test/gcc/vec.h:1185:68: error: expected template-name before '<' token struct is_trivially_copyable_or_pair : std::is_trivially_copyable<T> { }; ^ /home/seurer/gcc/git/gcc-test/gcc/vec.h:1185:68: error: expected '{' before '<' token /home/seurer/gcc/git/gcc-test/gcc/vec.h:1185:68: error: expected unqualified-id before '<' token /home/seurer/gcc/git/gcc-test/gcc/vec.h:1185:75: warning: extra ';' [-Wpedantic] struct is_trivially_copyable_or_pair : std::is_trivially_copyable<T> { }; ^ /home/seurer/gcc/git/gcc-test/gcc/vec.h:1189:34: error: 'is_trivially_copyable' is not a member of 'std' : std::integral_constant<bool, std::is_trivially_copyable<T>::value ^ /home/seurer/gcc/git/gcc-test/gcc/vec.h:1189:34: error: 'is_trivially_copyable' is not a member of 'std' /home/seurer/gcc/git/gcc-test/gcc/vec.h:1189:62: error: template argument 2 is invalid : std::integral_constant<bool, std::is_trivially_copyable<T>::value ^ /home/seurer/gcc/git/gcc-test/gcc/vec.h:1189:63: error: expected '{' before '::' token : std::integral_constant<bool, std::is_trivially_copyable<T>::value ^ /home/seurer/gcc/git/gcc-test/gcc/vec.h:1190:5: error: expected initializer before '&&' token && std::is_trivially_copyable<U>::value> { }; ^ /home/seurer/gcc/git/gcc-test/gcc/vec.h:1190:49: warning: extra ';' [-Wpedantic] && std::is_trivially_copyable<U>::value> { }; ^ In file included from /home/seurer/gcc/git/gcc-test/gcc/genpreds.cc:27:0: /home/seurer/gcc/git/gcc-test/gcc/rtl.h:66:26: warning: 'rtx_def::code' is too small to hold all values of 'enum rtx_code' [enabled by default] #define RTX_CODE_BITSIZE 8 ^ /home/seurer/gcc/git/gcc-test/gcc/rtl.h:318:33: note: in expansion of macro 'RTX_CODE_BITSIZE' ENUM_BITFIELD(rtx_code) code: RTX_CODE_BITSIZE; ^ make[2]: *** [build/genpreds.o] Error 1 commit 73cd319b72ca45a537688cc8cc5751d86a00a0e9 (HEAD) Author: Jakub Jelinek <ja...@redhat.com> Date: Thu Sep 28 11:59:10 2023 +0200 vec.h: Make some ops work with non-trivially copy constructible and/or destructible types