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

Reply via email to