https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97163
Bug ID: 97163 Summary: Build error with -mcpu=power9 on ppc64 Product: gcc Version: 10.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: pkubaj at anongoth dot pl Target Milestone: --- The same error happens also on GCC 9.3.0. I'm using Clang 11.0.0 rc2 to build, but it happened before with 10 (I only now got to report it). Issue: gmake[5]: Entering directory '/tmp/usr/ports/lang/gcc10/work/.build/build-powerpc64-portbld-freebsd13.0/libcpp' test -f config.h || (rm -f stamp-h1 && gmake stamp-h1) c++ -std=gnu++98 -I/tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp -I. -I/tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/../include -I/tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/include -DLIBICONV_PLUG -O2 -pipe -mcpu=power9 -DLIBICONV_PLUG -W -Wall -Wno-narrowing -Wwrite-strings -Wmissing-format-attribute -pedantic -Wno-long-long -fno-exceptions -fno-rtti -I/tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp -I. -I/tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/../include -I/tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/include -DLIBICONV_PLUG -c -o lex.o -MT lex.o -MMD -MP -MF .deps/lex.Tpo /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c c++: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated] In file included from /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:23: /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/system.h:439:9: warning: keyword is hidden by macro definition [-Wkeyword-macro] #define true 1 ^ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/system.h:440:9: warning: keyword is hidden by macro definition [-Wkeyword-macro] #define false 0 ^ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:544:26: warning: unknown attribute 'altivec' ignored [-Wunknown-attributes] typedef __attribute__((altivec(vector))) unsigned char vc; ^ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:546:12: error: excess elements in scalar initializer const vc repl_nl = { ^ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:550:12: error: excess elements in scalar initializer const vc repl_cr = { ^ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:554:12: error: excess elements in scalar initializer const vc repl_bs = { ^ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:558:12: error: excess elements in scalar initializer const vc repl_qm = { ^ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:571:14: error: use of undeclared identifier '__builtin_vec_vsx_ld' data = __builtin_vec_vsx_ld (0, s); ^ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:574:19: error: use of undeclared identifier '__builtin_vec_cmpeq' m_nl = (vc) __builtin_vec_cmpeq(data, repl_nl); ^ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:575:19: error: use of undeclared identifier '__builtin_vec_cmpeq' m_cr = (vc) __builtin_vec_cmpeq(data, repl_cr); ^ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:576:19: error: use of undeclared identifier '__builtin_vec_cmpeq' m_bs = (vc) __builtin_vec_cmpeq(data, repl_bs); ^ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:577:19: error: use of undeclared identifier '__builtin_vec_cmpeq' m_qm = (vc) __builtin_vec_cmpeq(data, repl_qm); ^ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:584:11: error: use of undeclared identifier '__builtin_vec_vcmpeq_p' while (!__builtin_vec_vcmpeq_p(/*__CR6_LT_REV*/3, t, zero)); ^ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:595:23: error: array is too large (18446744073709551615 elements) unsigned long l[(N == 2 || N == 4) ? N : -1]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:602:13: warning: no case matching constant switch condition '0' switch (N) ^ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:590:12: note: expanded from macro 'N' #define N (sizeof(vc) / sizeof(long)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:1729:8: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare] BUF_APPEND ("\\", 1); ^~~~~~~~~~~~~~~~~~~~ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:1699:30: note: expanded from macro 'BUF_APPEND' && (const uchar *)(STR) != base \ ~~~~~~~~~~~~~~~~~~~~ ^ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:1738:5: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare] BUF_APPEND (" ", 1); ^~~~~~~~~~~~~~~~~~~ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:1699:30: note: expanded from macro 'BUF_APPEND' && (const uchar *)(STR) != base \ ~~~~~~~~~~~~~~~~~~~~ ^ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:1741:8: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare] BUF_APPEND ("\n", 1); ^~~~~~~~~~~~~~~~~~~~ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:1699:30: note: expanded from macro 'BUF_APPEND' && (const uchar *)(STR) != base \ ~~~~~~~~~~~~~~~~~~~~ ^ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:1764:5: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare] BUF_APPEND ("??", 2); ^~~~~~~~~~~~~~~~~~~~ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:1699:30: note: expanded from macro 'BUF_APPEND' && (const uchar *)(STR) != base \ ~~~~~~~~~~~~~~~~~~~~ ^ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:1773:9: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare] BUF_APPEND ("/", 1); ^~~~~~~~~~~~~~~~~~~ /tmp/usr/ports/lang/gcc10/work/gcc-10.2.0/libcpp/lex.c:1699:30: note: expanded from macro 'BUF_APPEND' && (const uchar *)(STR) != base \ ~~~~~~~~~~~~~~~~~~~~ ^ 9 warnings and 11 errors generated. gmake[5]: *** [Makefile:224: lex.o] Error 1 gmake[5]: Leaving directory '/tmp/usr/ports/lang/gcc10/work/.build/build-powerpc64-portbld-freebsd13.0/libcpp' gmake[4]: *** [Makefile:2923: all-build-libcpp] Error 2 gmake[4]: Leaving directory '/tmp/usr/ports/lang/gcc10/work/.build' gmake[3]: *** [Makefile:22903: stage1-bubble] Error 2 gmake[3]: Leaving directory '/tmp/usr/ports/lang/gcc10/work/.build' gmake[2]: *** [Makefile:23235: bootstrap-lean] Error 2 gmake[2]: Leaving directory '/tmp/usr/ports/lang/gcc10/work/.build' *** Error code 1