Re: head -r324071 system clang 5 based powerpc64 building ports: lang/gcc7 messed up by a matching name vec_step? [vec_step macro name in gcc7's altivec.h]
Summary of later additions: devel/powerpc64-gcc has the same problem as gcc7 in this clang-based powerpc64. My note about using gcc 4.2.1 for the kernel build was wrong. (My 32-bit powerpc builds are that way, not the powerpc64 ones.) On 2017-Sep-29, at 1:51 AM, Mark Millard wrote: > [Looks like gcc7 might be causing its own problem > via a vec_step macro name in its altivec.h .] > > On 2017-Sep-29, at 1:14 AM, Mark Millard wrote: > >> I attempted a poudriere based build of some >> ports and the gcc7 build involved failed >> with the following sorts of notices: devel/powerpc64-gcc has the same problem as gcc7 in this clang-based powerpc64 >> /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:3835:27: >> error: expected unqualified-id >> tree new_vec, vec_init, vec_step, t; >> ^ >> /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:3835:26: >> error: expected ';' at end of declaration >> tree new_vec, vec_init, vec_step, t; >>^ >>; >> /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:3983:3: >> error: use of undeclared identifier 't' >> t = unshare_expr (new_name); >> ^ >> /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:3988:49: >> error: use of undeclared identifier 't' >> new_vec = build_vector_from_val (stepvectype, t); >> ^ >> /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:3989:12: >> error: expected expression >> vec_step = vect_init_vector (iv_phi, new_vec, stepvectype, NULL); >> ^ >> /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:4011:75: >> error: expected expression >> new_stmt = gimple_build_assign (vec_dest, PLUS_EXPR, induc_def, vec_step); >> ^ >> /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:4048:7: >> error: use of undeclared identifier 't' >> t = unshare_expr (new_name); >> ^ >> /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:4051:53: >> error: use of undeclared identifier 't' >> new_vec = build_vector_from_val (stepvectype, t); >> ^ >> /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:4052:16: >> error: expected expression >> vec_step = vect_init_vector (iv_phi, new_vec, stepvectype, NULL); >> ^ >> /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:4060:25: >> error: expected expression >> vec_def, vec_step); >> ^ >> /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:6327:9: >> error: expected unqualified-id >> tree vec_step = build_vector_from_val (cr_index_vector_type, step); >> ^ >> /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:6333:36: >> error: expected expression >> create_iv (series_vect, vec_step, NULL_TREE, loop, _gsi, >> ^ >> 50 warnings and 12 errors generated. >> gmake[3]: *** [Makefile:1099: tree-vect-loop.o] Error 1 >> gmake[3]: *** Waiting for unfinished jobs >> 42 warnings generated. >> 51 warnings generated. >> 50 warnings generated. >> rm gfortran.pod gcc.pod >> gmake[3]: Leaving directory '/wrkdirs/usr/ports/lang/gcc7/work/.build/gcc' >> gmake[2]: *** [Makefile:4225: all-gcc] Error 2 >> gmake[2]: Leaving directory '/wrkdirs/usr/ports/lang/gcc7/work/.build' >> gmake[1]: *** [Makefile:893: all] Error 2 >> gmake[1]: Leaving directory '/wrkdirs/usr/ports/lang/gcc7/work/.build' >> ===> Compilation failed unexpectedly. >> Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to >> the maintainer. >> *** Error code 1 >> >> Stop. >> make: stopped in /usr/ports/lang/gcc7 >> =>> Cleaning up wrkdir >> ===> Cleaning for gcc7-7.2.0_1 >> build of lang/gcc7 | gcc7-7.2.0_1 ended at Fri Sep 29 00:22:00 PDT 2017 >> build time: 00:29:27 >> !!! build failure encountered !!! > > Turns out that there is: > > # grep -r "\" ~/poudriere_failure/lang_gcc7/ | more > . . . > /root/poudriere_failure/lang_gcc7/work/gcc-7.2.0/gcc/config/rs6000/altivec.h:/* > Given the vec_step of a type, return the corresponding bool type. */ > /root/poudriere_failure/lang_gcc7/work/gcc-7.2.0/gcc/config/rs6000/altivec.h:typename > __altivec_bool_ret ::__ret \ > /root/poudriere_failure/lang_gcc7/work/gcc-7.2.0/gcc/config/rs6000/altivec.h: > to #define vec_step to __builtin_vec_step. */ > /root/poudriere_failure/lang_gcc7/work/gcc-7.2.0/gcc/config/rs6000/altivec.h:#define > vec_step(x) __builtin_vec_step (* (__typeof__ (x) *) 0) > . . . > > ( config/s390/vecintrin.h has something similar.) > > > >> FYI: >> >> # grep -r "\ " /usr/src/* | more >> /usr/src/contrib/llvm/tools/clang/lib/AST/ASTDumper.cpp:OS << "
Re: head -r324071 system clang 5 based powerpc64 building ports: lang/gcc7 messed up by a matching name vec_step? [vec_step macro name in gcc7's altivec.h]
[Looks like gcc7 might be causing its own problem via a vec_step macro name in its altivec.h .] On 2017-Sep-29, at 1:14 AM, Mark Millard wrote: > I attempted a poudriere based build of some > ports and the gcc7 build involved failed > with the following sorts of notices: > > > /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:3835:27: > error: expected unqualified-id > tree new_vec, vec_init, vec_step, t; > ^ > /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:3835:26: > error: expected ';' at end of declaration > tree new_vec, vec_init, vec_step, t; > ^ > ; > /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:3983:3: > error: use of undeclared identifier 't' > t = unshare_expr (new_name); > ^ > /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:3988:49: > error: use of undeclared identifier 't' > new_vec = build_vector_from_val (stepvectype, t); >^ > /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:3989:12: > error: expected expression > vec_step = vect_init_vector (iv_phi, new_vec, stepvectype, NULL); > ^ > /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:4011:75: > error: expected expression > new_stmt = gimple_build_assign (vec_dest, PLUS_EXPR, induc_def, vec_step); > ^ > /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:4048:7: > error: use of undeclared identifier 't' > t = unshare_expr (new_name); > ^ > /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:4051:53: > error: use of undeclared identifier 't' > new_vec = build_vector_from_val (stepvectype, t); >^ > /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:4052:16: > error: expected expression > vec_step = vect_init_vector (iv_phi, new_vec, stepvectype, NULL); > ^ > /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:4060:25: > error: expected expression > vec_def, vec_step); > ^ > /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:6327:9: > error: expected unqualified-id > tree vec_step = build_vector_from_val (cr_index_vector_type, step); > ^ > /wrkdirs/usr/ports/lang/gcc7/work/gcc-7.2.0/gcc/tree-vect-loop.c:6333:36: > error: expected expression > create_iv (series_vect, vec_step, NULL_TREE, loop, _gsi, > ^ > 50 warnings and 12 errors generated. > gmake[3]: *** [Makefile:1099: tree-vect-loop.o] Error 1 > gmake[3]: *** Waiting for unfinished jobs > 42 warnings generated. > 51 warnings generated. > 50 warnings generated. > rm gfortran.pod gcc.pod > gmake[3]: Leaving directory '/wrkdirs/usr/ports/lang/gcc7/work/.build/gcc' > gmake[2]: *** [Makefile:4225: all-gcc] Error 2 > gmake[2]: Leaving directory '/wrkdirs/usr/ports/lang/gcc7/work/.build' > gmake[1]: *** [Makefile:893: all] Error 2 > gmake[1]: Leaving directory '/wrkdirs/usr/ports/lang/gcc7/work/.build' > ===> Compilation failed unexpectedly. > Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to > the maintainer. > *** Error code 1 > > Stop. > make: stopped in /usr/ports/lang/gcc7 > =>> Cleaning up wrkdir > ===> Cleaning for gcc7-7.2.0_1 > build of lang/gcc7 | gcc7-7.2.0_1 ended at Fri Sep 29 00:22:00 PDT 2017 > build time: 00:29:27 > !!! build failure encountered !!! Turns out that there is: # grep -r "\" ~/poudriere_failure/lang_gcc7/ | more . . . /root/poudriere_failure/lang_gcc7/work/gcc-7.2.0/gcc/config/rs6000/altivec.h:/* Given the vec_step of a type, return the corresponding bool type. */ /root/poudriere_failure/lang_gcc7/work/gcc-7.2.0/gcc/config/rs6000/altivec.h:typename __altivec_bool_ret ::__ret \ /root/poudriere_failure/lang_gcc7/work/gcc-7.2.0/gcc/config/rs6000/altivec.h: to #define vec_step to __builtin_vec_step. */ /root/poudriere_failure/lang_gcc7/work/gcc-7.2.0/gcc/config/rs6000/altivec.h:#define vec_step(x) __builtin_vec_step (* (__typeof__ (x) *) 0) . . . ( config/s390/vecintrin.h has something similar.) > FYI: > > # grep -r "\ " /usr/src/* | more > /usr/src/contrib/llvm/tools/clang/lib/AST/ASTDumper.cpp:OS << " vec_step"; > /usr/src/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp:OS << > "vec_step"; > /usr/src/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp:/// > VisitUnaryExprOrTypeTraitExpr - Evaluate a sizeof, alignof or vec_step with > /usr/src/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp: // The > vec_step built-in functions that take a 3-component > /usr/src/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp: >