Build Information
Successful build of MicroMaxOnAppleSilicon, reference main (542c83), with Swift 6.4 for macOS (SPM) on 3 Oct 2026 18:30:58 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/mesqueeb/MicroMaxOnAppleSilicon.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/mesqueeb/MicroMaxOnAppleSilicon
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 542c835 chore: release v3.0.3
Cloned https://github.com/mesqueeb/MicroMaxOnAppleSilicon.git
Revision (git rev-parse @):
542c835c91432166ce5d9d420a952580c7497b06
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/mesqueeb/MicroMaxOnAppleSilicon.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/mesqueeb/MicroMaxOnAppleSilicon.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Pre-planning 1 / 125]
[Planning deferred tasks]
[36 / 52] MicroMaxOnAppleSilicon_MicroMaxOnAppleSilicon
[36 / 52]
[40 / 53] MicroMaxCBridge
[46 / 62]
[50 / 66]
[54 / 66] MicroMaxCBridge
[54 / 66] MicroMaxOnAppleSilicon
[66 / 107] MicroMaxCBridge
[69 / 107]
[74 / 107]
[77 / 107]
[81 / 107]
[83 / 107]
[86 / 107]
[89 / 107]
[91 / 107]
[92 / 107]
[98 / 107] MicroMaxOnAppleSilicon
[104 / 107] MicroMaxOnAppleSilicon
Build complete! (7.36 sec)
[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:45:26: [0m[0;1;35mwarning: [0m[1mimplicit conversion loses integer precision: '__darwin_time_t' (aka 'long') to 'int' [-Wshorten-64-to-32][0m
45 | return t.tv_sec*1000 + t.tv_usec/1000;[0m
| [0;1;32m ~~~~~~ ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:157:16: [0m[0;1;35mwarning: [0m[1m'&' within '|' [-Wbitwise-op-parentheses][0m
157 | if(a->K-Z|z&S | /* miss: other pos. or empty*/[0m
| [0;1;32m ~~^~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:157:16: [0m[0;1;36mnote: [0mplace parentheses around the '&' expression to silence this warning[0m
157 | if(a->K-Z|z&S | /* miss: other pos. or empty*/[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:158:16: [0m[0;1;35mwarning: [0m[1m'&' within '|' [-Wbitwise-op-parentheses][0m
158 | !(m<=q|X&8&&m>=l|X&S)) /* or window incompatible */[0m
| [0;1;32m ~~^~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:158:16: [0m[0;1;36mnote: [0mplace parentheses around the '&' expression to silence this warning[0m
158 | !(m<=q|X&8&&m>=l|X&S)) /* or window incompatible */[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:158:26: [0m[0;1;35mwarning: [0m[1m'&' within '|' [-Wbitwise-op-parentheses][0m
158 | !(m<=q|X&8&&m>=l|X&S)) /* or window incompatible */[0m
| [0;1;32m ~~^~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:158:26: [0m[0;1;36mnote: [0mplace parentheses around the '&' expression to silence this warning[0m
158 | !(m<=q|X&8&&m>=l|X&S)) /* or window incompatible */[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:162:16: [0m[0;1;35mwarning: [0m[1m'&&' within '||' [-Wlogical-op-parentheses][0m
161 | W(d++<n||d<3|| /*** min depth = 2 iterative deepening loop */[0m
| [0;1;32m ~~
[0m 162 | z&S&&K==I&&(GetTickCount()-Ticks<tlim&d<=MaxDepth&!micromax_should_stop|| /* root: deepen upto time / cancel */[0m
| [0;1;32m ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[0m 163 | (K=X,L=Y&~S,Score=m,d=3))) /* time's up: go do best */[0m
| [0;1;32m ~~~~~~~~~~~~~~~~~~~~~~~~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:162:16: [0m[0;1;36mnote: [0mplace parentheses around the '&&' expression to silence this warning[0m
162 | z&S&&K==I&&(GetTickCount()-Ticks<tlim&d<=MaxDepth&!micromax_should_stop|| /* root: deepen upto time / cancel */[0m
| [0;1;32m ^
[0m | [0;32m (
[0m 163 | (K=X,L=Y&~S,Score=m,d=3))) /* time's up: go do best */[0m
| [0;1;32m
[0m | [0;32m )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:167:19: [0m[0;1;35mwarning: [0m[1moperator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses][0m
167 | m=-P<l|R<5?d-2?-I:e:-P; /*** prune if > beta unconsidered:static eval */[0m
| [0;1;32m ~~~~~~~~^
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:167:19: [0m[0;1;36mnote: [0mplace parentheses around the '|' expression to silence this warning[0m
167 | m=-P<l|R<5?d-2?-I:e:-P; /*** prune if > beta unconsidered:static eval */[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:167:19: [0m[0;1;36mnote: [0mplace parentheses around the '?:' expression to evaluate it first[0m
167 | m=-P<l|R<5?d-2?-I:e:-P; /*** prune if > beta unconsidered:static eval */[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:174:20: [0m[0;1;35mwarning: [0m[1musing the result of an assignment as a condition without parentheses [-Wparentheses][0m
174 | W(r=o[++j]) /* loop over directions o[] */[0m
| [0;1;32m ~^~~~~~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:174:20: [0m[0;1;36mnote: [0mplace parentheses around the assignment to silence this warning[0m
174 | W(r=o[++j]) /* loop over directions o[] */[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:174:20: [0m[0;1;36mnote: [0muse '==' to turn this assignment into an equality comparison[0m
174 | W(r=o[++j]) /* loop over directions o[] */[0m
| [0;1;32m ^
[0m | [0;32m ==
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:181:29: [0m[0;1;35mwarning: [0m[1m'&' within '|' [-Wbitwise-op-parentheses][0m
181 | if(y&S|(y&15)>=BW)break; /* board edge hit */[0m
| [0;1;32m ~^~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:181:29: [0m[0;1;36mnote: [0mplace parentheses around the '&' expression to silence this warning[0m
181 | if(y&S|(y&15)>=BW)break; /* board edge hit */[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:202:47: [0m[0;1;35mwarning: [0m[1moperator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses][0m
202 | v-=w[p]>0|R<EG?0:20; /*** freeze K in mid-game ***/[0m
| [0;1;32m ~~~~~~~~~~~^
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:202:47: [0m[0;1;36mnote: [0mplace parentheses around the '|' expression to silence this warning[0m
202 | v-=w[p]>0|R<EG?0:20; /*** freeze K in mid-game ***/[0m
| [0;1;32m ~~~~~~~~~~~^
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:202:47: [0m[0;1;36mnote: [0mplace parentheses around the '?:' expression to evaluate it first[0m
202 | v-=w[p]>0|R<EG?0:20; /*** freeze K in mid-game ***/[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:207:40: [0m[0;1;35mwarning: [0m[1moperator '>>' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses][0m
207 | +(R-76>>2); /* end-game Pawn-push bonus */[0m
| [0;1;32m ~^~~~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:207:40: [0m[0;1;36mnote: [0mplace parentheses around the '-' expression to silence this warning[0m
207 | +(R-76>>2); /* end-game Pawn-push bonus */[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:218:39: [0m[0;1;35mwarning: [0m[1m| has lower precedence than <; < will be evaluated first [-Wparentheses][0m
218 | C=R<EG|P-I|d<3||t&&p-3?C:d; /* extend 1 ply if in-check */[0m
| [0;1;32m ~~~~^
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:218:39: [0m[0;1;36mnote: [0mplace parentheses around the '<' expression to silence this warning[0m
218 | C=R<EG|P-I|d<3||t&&p-3?C:d; /* extend 1 ply if in-check */[0m
| [0;1;32m ~~~~^
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:218:39: [0m[0;1;36mnote: [0mplace parentheses around the | expression to evaluate it first[0m
218 | C=R<EG|P-I|d<3||t&&p-3?C:d; /* extend 1 ply if in-check */[0m
| [0;1;32m ~~^~~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:218:50: [0m[0;1;35mwarning: [0m[1m'&&' within '||' [-Wlogical-op-parentheses][0m
218 | C=R<EG|P-I|d<3||t&&p-3?C:d; /* extend 1 ply if in-check */[0m
| [0;1;32m ~~~^~~~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:218:50: [0m[0;1;36mnote: [0mplace parentheses around the '&&' expression to silence this warning[0m
218 | C=R<EG|P-I|d<3||t&&p-3?C:d; /* extend 1 ply if in-check */[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:220:46: [0m[0;1;35mwarning: [0m[1moperator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses][0m
220 | s=C>2|v>V?-D(16-k,-l,-V,-v,/*** futility, recursive eval. of reply */[0m
| [0;1;32m ~~~~~~~^
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:220:46: [0m[0;1;36mnote: [0mplace parentheses around the '|' expression to silence this warning[0m
220 | s=C>2|v>V?-D(16-k,-l,-V,-v,/*** futility, recursive eval. of reply */[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:220:46: [0m[0;1;36mnote: [0mplace parentheses around the '?:' expression to evaluate it first[0m
220 | s=C>2|v>V?-D(16-k,-l,-V,-v,/*** futility, recursive eval. of reply */[0m
| [0;1;32m ^
[0m | [0;32m (
[0m 221 | F,y&255,C):v;[0m
| [0;1;32m
[0m | [0;32m )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:225:44: [0m[0;1;35mwarning: [0m[1musing the result of an assignment as a condition without parentheses [-Wparentheses][0m
225 | W(*sp++=*p++);[0m
| [0;1;32m ~~~~~^~~~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:225:44: [0m[0;1;36mnote: [0mplace parentheses around the assignment to silence this warning[0m
225 | W(*sp++=*p++);[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:225:44: [0m[0;1;36mnote: [0muse '==' to turn this assignment into an equality comparison[0m
225 | W(*sp++=*p++);[0m
| [0;1;32m ^
[0m | [0;32m ==
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:235:46: [0m[0;1;35mwarning: [0m[1m| has lower precedence than <; < will be evaluated first [-Wparentheses][0m
235 | Fifty = t|p<3?0:Fifty+1;[0m
| [0;1;32m ^~~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:235:46: [0m[0;1;36mnote: [0mplace parentheses around the '<' expression to silence this warning[0m
235 | Fifty = t|p<3?0:Fifty+1;[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:235:46: [0m[0;1;36mnote: [0mplace parentheses around the | expression to evaluate it first[0m
235 | Fifty = t|p<3?0:Fifty+1;[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:235:50: [0m[0;1;35mwarning: [0m[1moperator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses][0m
235 | Fifty = t|p<3?0:Fifty+1;[0m
| [0;1;32m ~~~~~^
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:235:50: [0m[0;1;36mnote: [0mplace parentheses around the '|' expression to silence this warning[0m
235 | Fifty = t|p<3?0:Fifty+1;[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:235:50: [0m[0;1;36mnote: [0mplace parentheses around the '?:' expression to evaluate it first[0m
235 | Fifty = t|p<3?0:Fifty+1;[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:244:41: [0m[0;1;35mwarning: [0m[1m& has lower precedence than ==; == will be evaluated first [-Wparentheses][0m
244 | if(z&S&&Post&K==I&d>2&v>V&v<l){int *p=ps;char X,Y;[0m
| [0;1;32m ^~~~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:244:41: [0m[0;1;36mnote: [0mplace parentheses around the '==' expression to silence this warning[0m
244 | if(z&S&&Post&K==I&d>2&v>V&v<l){int *p=ps;char X,Y;[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:244:41: [0m[0;1;36mnote: [0mplace parentheses around the & expression to evaluate it first[0m
244 | if(z&S&&Post&K==I&d>2&v>V&v<l){int *p=ps;char X,Y;[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:253:46: [0m[0;1;35mwarning: [0m[1m'&' within '|' [-Wbitwise-op-parentheses][0m
253 | m=v,X=x,Y=y|S&F; /* mark non-double with S */[0m
| [0;1;32m ~~^~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:253:46: [0m[0;1;36mnote: [0mplace parentheses around the '&' expression to silence this warning[0m
253 | m=v,X=x,Y=y|S&F; /* mark non-double with S */[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:257:32: [0m[0;1;35mwarning: [0m[1m'&' within '^' [-Wbitwise-op-parentheses][0m
257 | if(flag&15^4|u&32|| /* no double or moved before*/[0m
| [0;1;32m ~~~~^~~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:257:32: [0m[0;1;36mnote: [0mplace parentheses around the '&' expression to silence this warning[0m
257 | if(flag&15^4|u&32|| /* no double or moved before*/[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:257:35: [0m[0;1;35mwarning: [0m[1m'^' within '|' [-Wbitwise-op-parentheses][0m
257 | if(flag&15^4|u&32|| /* no double or moved before*/[0m
| [0;1;32m ~~~~~~~^~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:257:35: [0m[0;1;36mnote: [0mplace parentheses around the '^' expression to silence this warning[0m
257 | if(flag&15^4|u&32|| /* no double or moved before*/[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:257:39: [0m[0;1;35mwarning: [0m[1m'&' within '|' [-Wbitwise-op-parentheses][0m
257 | if(flag&15^4|u&32|| /* no double or moved before*/[0m
| [0;1;32m ~~^~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:257:39: [0m[0;1;36mnote: [0mplace parentheses around the '&' expression to silence this warning[0m
257 | if(flag&15^4|u&32|| /* no double or moved before*/[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:259:50: [0m[0;1;35mwarning: [0m[1m'&' within '|' [-Wbitwise-op-parentheses][0m
259 | ((b[G=r<0?x&~15:BW-1|x&112]^32)<33 /* no virgin R in corner G, */[0m
| [0;1;32m ~~^~~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:259:50: [0m[0;1;36mnote: [0mplace parentheses around the '&' expression to silence this warning[0m
259 | ((b[G=r<0?x&~15:BW-1|x&112]^32)<33 /* no virgin R in corner G, */[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:258:31: [0m[0;1;35mwarning: [0m[1m'&&' within '||' [-Wlogical-op-parentheses][0m
257 | if(flag&15^4|u&32|| /* no double or moved before*/[0m
| [0;1;32m ~~
[0m 258 | p>2&& /* no P & no lateral K move,*/[0m
| [0;1;32m ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[0m 259 | ((b[G=r<0?x&~15:BW-1|x&112]^32)<33 /* no virgin R in corner G, */[0m
| [0;1;32m ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[0m 260 | ||b[G^1]|b[G^2]|b[FF=y+v-r]) /* no 2 empty sq. next to R */[0m
| [0;1;32m ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:258:31: [0m[0;1;36mnote: [0mplace parentheses around the '&&' expression to silence this warning[0m
258 | p>2&& /* no P & no lateral K move,*/[0m
| [0;1;32m ^
[0m | [0;32m (
[0m 259 | ((b[G=r<0?x&~15:BW-1|x&112]^32)<33 /* no virgin R in corner G, */[0m
260 | ||b[G^1]|b[G^2]|b[FF=y+v-r]) /* no 2 empty sq. next to R */[0m
| [0;32m )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:270:18: [0m[0;1;35mwarning: [0m[1m| has lower precedence than ==; == will be evaluated first [-Wparentheses][0m
270 | C:FMAX( m=m+I|P==I?m:(X=Y=0); ) /* if stalemate, draw-score */[0m
| [0;1;32m ^~~~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:72:21: [0m[0;1;36mnote: [0mexpanded from macro 'FMAX'[0m
72 | # define FMAX(x) x[0m
| [0;1;32m ^
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:270:18: [0m[0;1;36mnote: [0mplace parentheses around the '==' expression to silence this warning[0m
270 | C:FMAX( m=m+I|P==I?m:(X=Y=0); ) /* if stalemate, draw-score */[0m
| [0;1;32m ^~~~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:72:21: [0m[0;1;36mnote: [0mexpanded from macro 'FMAX'[0m
72 | # define FMAX(x) x[0m
| [0;1;32m ^
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:270:18: [0m[0;1;36mnote: [0mplace parentheses around the | expression to evaluate it first[0m
270 | C:FMAX( m=m+I|P==I?m:(X=Y=0); ) /* if stalemate, draw-score */[0m
| [0;1;32m ~~~^~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:72:21: [0m[0;1;36mnote: [0mexpanded from macro 'FMAX'[0m
72 | # define FMAX(x) x[0m
| [0;1;32m ^
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:270:23: [0m[0;1;35mwarning: [0m[1moperator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses][0m
270 | C:FMAX( m=m+I|P==I?m:(X=Y=0); ) /* if stalemate, draw-score */[0m
| [0;1;32m ~~~~~~~~^
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:72:21: [0m[0;1;36mnote: [0mexpanded from macro 'FMAX'[0m
72 | # define FMAX(x) x[0m
| [0;1;32m ^
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:270:23: [0m[0;1;36mnote: [0mplace parentheses around the '|' expression to silence this warning[0m
270 | C:FMAX( m=m+I|P==I?m:(X=Y=0); ) /* if stalemate, draw-score */[0m
| [0;1;32m ~~~~~~~~^
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:72:21: [0m[0;1;36mnote: [0mexpanded from macro 'FMAX'[0m
72 | # define FMAX(x) x[0m
| [0;1;32m ^
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:270:23: [0m[0;1;36mnote: [0mplace parentheses around the '?:' expression to evaluate it first[0m
270 | C:FMAX( m=m+I|P==I?m:(X=Y=0); ) /* if stalemate, draw-score */[0m
| [0;1;32m ~~~~^~~~~~~~~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:72:21: [0m[0;1;36mnote: [0mexpanded from macro 'FMAX'[0m
72 | # define FMAX(x) x[0m
| [0;1;32m ^
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:489:103: [0m[0;1;35mwarning: [0m[1m'/*' within block comment [-Wcomment][0m
489 | /* engine_printf("# c='%c' i=%d od[i]=%d j=%d (%3d,%8x)\n",c?c:' ',i,od[i],j,o[j-1],of[j-1]); /**/[0m
| [0;1;32m ^
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:736:34: [0m[0;1;35mwarning: [0m[1moperator '>>' has lower precedence than '+'; '+' will be evaluated first [-Wshift-op-parentheses][0m
736 | MovesLeft = -(GamePtr+(Side==WHITE)>>1);[0m
| [0;1;32m ~~~~~~~^~~~~~~~~~~~~~~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:736:34: [0m[0;1;36mnote: [0mplace parentheses around the '+' expression to silence this warning[0m
736 | MovesLeft = -(GamePtr+(Side==WHITE)>>1);[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:752:40: [0m[0;1;35mwarning: [0m[1m'&&' within '||' [-Wlogical-op-parentheses][0m
752 | if (!strcmp(command, "undo") && (nr=1) ||[0m
| [0;1;32m ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ ~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:752:40: [0m[0;1;36mnote: [0mplace parentheses around the '&&' expression to silence this warning[0m
752 | if (!strcmp(command, "undo") && (nr=1) ||[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:753:40: [0m[0;1;35mwarning: [0m[1m'&&' within '||' [-Wlogical-op-parentheses][0m
752 | if (!strcmp(command, "undo") && (nr=1) ||[0m
| [0;1;32m ~~
[0m 753 | !strcmp(command, "remove") && (nr=2) ) {[0m
| [0;1;32m ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:753:40: [0m[0;1;36mnote: [0mplace parentheses around the '&&' expression to silence this warning[0m
753 | !strcmp(command, "remove") && (nr=2) ) {[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:829:59: [0m[0;1;35mwarning: [0m[1m'&&' within '||' [-Wlogical-op-parentheses][0m
829 | if(color==BLACK && m<0x10 && p==oo[m+16] ||[0m
| [0;1;32m ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:829:59: [0m[0;1;36mnote: [0mplace parentheses around the '&&' expression to silence this warning[0m
829 | if(color==BLACK && m<0x10 && p==oo[m+16] ||[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:830:59: [0m[0;1;35mwarning: [0m[1m'&&' within '||' [-Wlogical-op-parentheses][0m
829 | if(color==BLACK && m<0x10 && p==oo[m+16] ||[0m
| [0;1;32m ~~
[0m 830 | color==WHITE && m>0x6F && p==oo[m-0x70]) b[m] -= 32;[0m
| [0;1;32m ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:830:59: [0m[0;1;36mnote: [0mplace parentheses around the '&&' expression to silence this warning[0m
830 | color==WHITE && m>0x6F && p==oo[m-0x70]) b[m] -= 32;[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:832:72: [0m[0;1;35mwarning: [0m[1m'&&' within '||' [-Wlogical-op-parentheses][0m
832 | if((m==0x00 || m==BW-1 ) && color==BLACK && p==oo[m+16] ||[0m
| [0;1;32m ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:832:72: [0m[0;1;36mnote: [0mplace parentheses around the '&&' expression to silence this warning[0m
832 | if((m==0x00 || m==BW-1 ) && color==BLACK && p==oo[m+16] ||[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:833:72: [0m[0;1;35mwarning: [0m[1m'&&' within '||' [-Wlogical-op-parentheses][0m
832 | if((m==0x00 || m==BW-1 ) && color==BLACK && p==oo[m+16] ||[0m
| [0;1;32m ~~
[0m 833 | (m==0x70 || m==0x6F+BW) && color==WHITE && p==oo[m-0x70])[0m
| [0;1;32m ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:833:72: [0m[0;1;36mnote: [0mplace parentheses around the '&&' expression to silence this warning[0m
833 | (m==0x70 || m==0x6F+BW) && color==WHITE && p==oo[m-0x70])[0m
| [0;1;32m ^
[0m | [0;32m ( )
[0m33 warnings generated.
Build complete.
{
"c_language_standard" : "gnu17",
"dependencies" : [
],
"manifest_display_name" : "MicroMaxOnAppleSilicon",
"name" : "MicroMaxOnAppleSilicon",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "macos",
"version" : "11.0"
}
],
"products" : [
{
"name" : "MicroMaxOnAppleSilicon",
"targets" : [
"MicroMaxCBridge",
"MicroMaxOnAppleSilicon"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "MicroMaxOnAppleSiliconTests",
"module_type" : "SwiftTarget",
"name" : "MicroMaxOnAppleSiliconTests",
"path" : "Tests",
"sources" : [
"MicroMaxOnAppleSiliconTests.swift",
"MicroMaxStopRaceTests.swift"
],
"target_dependencies" : [
"MicroMaxCBridge",
"MicroMaxOnAppleSilicon"
],
"type" : "test"
},
{
"c99name" : "MicroMaxOnAppleSilicon",
"module_type" : "SwiftTarget",
"name" : "MicroMaxOnAppleSilicon",
"path" : "Sources/SwiftBridge",
"product_memberships" : [
"MicroMaxOnAppleSilicon"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwiftBridge/Resources/fmax.ini",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"FENParser.swift",
"Helpers.swift",
"MicroMaxBridge.swift",
"Types.swift"
],
"target_dependencies" : [
"MicroMaxCBridge"
],
"type" : "library"
},
{
"c99name" : "MicroMaxCBridge",
"module_type" : "ClangTarget",
"name" : "MicroMaxCBridge",
"path" : "Sources/CBridge",
"product_memberships" : [
"MicroMaxOnAppleSilicon"
],
"sources" : [
"EngineContext.c",
"Fairymax/Fairymax.c",
"MicroMaxEngine.c"
],
"type" : "library"
}
],
"tools_version" : "6.0"
}
Done.