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]

2017-09-29 Thread Mark Millard
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]

2017-09-29 Thread Mark Millard
[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:  
>