The Swift Package Index logo.Swift Package Index

Build Information

Successful build of MicroMaxOnAppleSilicon, reference main (542c83), with Swift 6.4 for Linux on 3 Oct 2026 18:34:20 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344844-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build 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 /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
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:         linux
Swift version:             6.4
Building package at path:  $PWD
https://github.com/mesqueeb/MicroMaxOnAppleSilicon.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344844-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 125]
[Planning deferred tasks]
[30 / 40]
[38 / 47] MicroMaxOnAppleSilicon
[38 / 47] MicroMaxCBridge
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:157:16: warning: '&' within '|' [-Wbitwise-op-parentheses]
  157 |     if(a->K-Z|z&S  |                              /* miss: other pos. or empty*/
      |              ~~^~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:157:16: note: place parentheses around the '&' expression to silence this warning
  157 |     if(a->K-Z|z&S  |                              /* miss: other pos. or empty*/
      |                ^
      |               (  )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:158:16: warning: '&' within '|' [-Wbitwise-op-parentheses]
  158 |        !(m<=q|X&8&&m>=l|X&S))                       /*   or window incompatible */
      |              ~~^~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:158:16: note: place parentheses around the '&' expression to silence this warning
  158 |        !(m<=q|X&8&&m>=l|X&S))                       /*   or window incompatible */
      |                ^
      |               (  )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:158:26: warning: '&' within '|' [-Wbitwise-op-parentheses]
  158 |        !(m<=q|X&8&&m>=l|X&S))                       /*   or window incompatible */
      |                        ~~^~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:158:26: note: place parentheses around the '&' expression to silence this warning
  158 |        !(m<=q|X&8&&m>=l|X&S))                       /*   or window incompatible */
      |                          ^
      |                         (  )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:162:16: warning: '&&' within '||' [-Wlogical-op-parentheses]
  161 |     W(d++<n||d<3||              /*** min depth = 2   iterative deepening loop */
      |                 ~~
  162 |       z&S&&K==I&&(GetTickCount()-Ticks<tlim&d<=MaxDepth&!micromax_should_stop|| /* root: deepen upto time / cancel */
      |       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  163 |                   (K=X,L=Y&~S,Score=m,d=3)))                  /* time's up: go do best    */
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:162:16: note: place parentheses around the '&&' expression to silence this warning
  162 |       z&S&&K==I&&(GetTickCount()-Ticks<tlim&d<=MaxDepth&!micromax_should_stop|| /* root: deepen upto time / cancel */
      |                ^
      |       (
  163 |                   (K=X,L=Y&~S,Score=m,d=3)))                  /* time's up: go do best    */
      | 
      |                                            )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:167:19: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses]
  167 |         m=-P<l|R<5?d-2?-I:e:-P;   /*** prune if > beta  unconsidered:static eval */
      |           ~~~~~~~~^
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:167:19: note: place parentheses around the '|' expression to silence this warning
  167 |         m=-P<l|R<5?d-2?-I:e:-P;   /*** prune if > beta  unconsidered:static eval */
      |                   ^
      |           (       )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:167:19: note: place parentheses around the '?:' expression to evaluate it first
  167 |         m=-P<l|R<5?d-2?-I:e:-P;   /*** prune if > beta  unconsidered:static eval */
      |                   ^
      |                (              )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:174:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  174 |                 W(r=o[++j])                                /* loop over directions o[] */
      |                   ~^~~~~~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:174:20: note: place parentheses around the assignment to silence this warning
  174 |                 W(r=o[++j])                                /* loop over directions o[] */
      |                    ^
      |                   (       )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:174:20: note: use '==' to turn this assignment into an equality comparison
  174 |                 W(r=o[++j])                                /* loop over directions o[] */
      |                    ^
      |                    ==
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:181:29: warning: '&' within '|' [-Wbitwise-op-parentheses]
  181 |                         if(y&S|(y&15)>=BW)break;                 /* board edge hit           */
      |                            ~^~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:181:29: note: place parentheses around the '&' expression to silence this warning
  181 |                         if(y&S|(y&15)>=BW)break;                 /* board edge hit           */
      |                             ^
      |                            (  )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:202:47: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses]
  202 |                                 v-=w[p]>0|R<EG?0:20;                   /*** freeze K in mid-game ***/
      |                                    ~~~~~~~~~~~^
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:202:47: note: place parentheses around the '|' expression to silence this warning
  202 |                                 v-=w[p]>0|R<EG?0:20;                   /*** freeze K in mid-game ***/
      |                                    ~~~~~~~~~~~^
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:202:47: note: place parentheses around the '?:' expression to evaluate it first
  202 |                                 v-=w[p]>0|R<EG?0:20;                   /*** freeze K in mid-game ***/
      |                                               ^
      |                                           (        )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:207:40: warning: operator '>>' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
  207 |                                     +(R-76>>2);                      /* end-game Pawn-push bonus */
      |                                       ~^~~~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:207:40: note: place parentheses around the '-' expression to silence this warning
  207 |                                     +(R-76>>2);                      /* end-game Pawn-push bonus */
      |                                        ^
      |                                       (   )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:218:39: warning: | has lower precedence than <; < will be evaluated first [-Wparentheses]
  218 |                                 C=R<EG|P-I|d<3||t&&p-3?C:d;            /* extend 1 ply if in-check */
      |                                   ~~~~^
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:218:39: note: place parentheses around the '<' expression to silence this warning
  218 |                                 C=R<EG|P-I|d<3||t&&p-3?C:d;            /* extend 1 ply if in-check */
      |                                   ~~~~^
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:218:39: note: place parentheses around the | expression to evaluate it first
  218 |                                 C=R<EG|P-I|d<3||t&&p-3?C:d;            /* extend 1 ply if in-check */
      |                                     ~~^~~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:218:50: warning: '&&' within '||' [-Wlogical-op-parentheses]
  218 |                                 C=R<EG|P-I|d<3||t&&p-3?C:d;            /* extend 1 ply if in-check */
      |                                               ~~~^~~~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:218:50: note: place parentheses around the '&&' expression to silence this warning
  218 |                                 C=R<EG|P-I|d<3||t&&p-3?C:d;            /* extend 1 ply if in-check */
      |                                                  ^
      |                                                 (     )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:220:46: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses]
  220 |                                     s=C>2|v>V?-D(16-k,-l,-V,-v,/*** futility, recursive eval. of reply */
      |                                       ~~~~~~~^
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:220:46: note: place parentheses around the '|' expression to silence this warning
  220 |                                     s=C>2|v>V?-D(16-k,-l,-V,-v,/*** futility, recursive eval. of reply */
      |                                              ^
      |                                       (      )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:220:46: note: place parentheses around the '?:' expression to evaluate it first
  220 |                                     s=C>2|v>V?-D(16-k,-l,-V,-v,/*** futility, recursive eval. of reply */
      |                                              ^
      |                                           (
  221 |                                                  F,y&255,C):v;
      | 
      |                                                              )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:225:44: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  225 |                                     W(*sp++=*p++);
      |                                       ~~~~~^~~~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:225:44: note: place parentheses around the assignment to silence this warning
  225 |                                     W(*sp++=*p++);
      |                                            ^
      |                                       (         )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:225:44: note: use '==' to turn this assignment into an equality comparison
  225 |                                     W(*sp++=*p++);
      |                                            ^
      |                                            ==
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:235:46: warning: | has lower precedence than <; < will be evaluated first [-Wparentheses]
  235 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                              ^~~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:235:46: note: place parentheses around the '<' expression to silence this warning
  235 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                              ^
      |                                               (  )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:235:46: note: place parentheses around the | expression to evaluate it first
  235 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                              ^
      |                                             (  )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:235:50: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses]
  235 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                             ~~~~~^
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:235:50: note: place parentheses around the '|' expression to silence this warning
  235 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                                  ^
      |                                             (    )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:235:50: note: place parentheses around the '?:' expression to evaluate it first
  235 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                                  ^
      |                                               (            )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:244:41: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses]
  244 |                             if(z&S&&Post&K==I&d>2&v>V&v<l){int *p=ps;char X,Y;
      |                                         ^~~~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:244:41: note: place parentheses around the '==' expression to silence this warning
  244 |                             if(z&S&&Post&K==I&d>2&v>V&v<l){int *p=ps;char X,Y;
      |                                         ^
      |                                          (   )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:244:41: note: place parentheses around the & expression to evaluate it first
  244 |                             if(z&S&&Post&K==I&d>2&v>V&v<l){int *p=ps;char X,Y;
      |                                         ^
      |                                     (     )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:253:46: warning: '&' within '|' [-Wbitwise-op-parentheses]
  253 |                                 m=v,X=x,Y=y|S&F;                       /* mark non-double with S   */
      |                                            ~~^~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:253:46: note: place parentheses around the '&' expression to silence this warning
  253 |                                 m=v,X=x,Y=y|S&F;                       /* mark non-double with S   */
      |                                              ^
      |                                             (  )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:257:32: warning: '&' within '^' [-Wbitwise-op-parentheses]
  257 |                         if(flag&15^4|u&32||                      /* no double or moved before*/
      |                            ~~~~^~~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:257:32: note: place parentheses around the '&' expression to silence this warning
  257 |                         if(flag&15^4|u&32||                      /* no double or moved before*/
      |                                ^
      |                            (      )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:257:35: warning: '^' within '|' [-Wbitwise-op-parentheses]
  257 |                         if(flag&15^4|u&32||                      /* no double or moved before*/
      |                            ~~~~~~~^~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:257:35: note: place parentheses around the '^' expression to silence this warning
  257 |                         if(flag&15^4|u&32||                      /* no double or moved before*/
      |                                   ^
      |                            (        )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:257:39: warning: '&' within '|' [-Wbitwise-op-parentheses]
  257 |                         if(flag&15^4|u&32||                      /* no double or moved before*/
      |                                     ~~^~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:257:39: note: place parentheses around the '&' expression to silence this warning
  257 |                         if(flag&15^4|u&32||                      /* no double or moved before*/
      |                                       ^
      |                                      (   )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:259:50: warning: '&' within '|' [-Wbitwise-op-parentheses]
  259 |                            ((b[G=r<0?x&~15:BW-1|x&112]^32)<33    /* no virgin R in corner G, */
      |                                                ~~^~~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:259:50: note: place parentheses around the '&' expression to silence this warning
  259 |                            ((b[G=r<0?x&~15:BW-1|x&112]^32)<33    /* no virgin R in corner G, */
      |                                                  ^
      |                                                 (    )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:258:31: warning: '&&' within '||' [-Wlogical-op-parentheses]
  257 |                         if(flag&15^4|u&32||                      /* no double or moved before*/
      |                                          ~~
  258 |                            p>2&&                                 /* no P & no lateral K move,*/
      |                            ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  259 |                            ((b[G=r<0?x&~15:BW-1|x&112]^32)<33    /* no virgin R in corner G, */
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  260 |                             ||b[G^1]|b[G^2]|b[FF=y+v-r])          /* no 2 empty sq. next to R */
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:258:31: note: place parentheses around the '&&' expression to silence this warning
  258 |                            p>2&&                                 /* no P & no lateral K move,*/
      |                               ^
      |                            (
  259 |                            ((b[G=r<0?x&~15:BW-1|x&112]^32)<33    /* no virgin R in corner G, */
  260 |                             ||b[G^1]|b[G^2]|b[FF=y+v-r])          /* no 2 empty sq. next to R */
      |                                                         )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:270:18: warning: | has lower precedence than ==; == will be evaluated first [-Wparentheses]
  270 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |                  ^~~~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:72:21: note: expanded from macro 'FMAX'
   72 | #    define FMAX(x) x
      |                     ^
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:270:18: note: place parentheses around the '==' expression to silence this warning
  270 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |                  ^~~~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:72:21: note: expanded from macro 'FMAX'
   72 | #    define FMAX(x) x
      |                     ^
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:270:18: note: place parentheses around the | expression to evaluate it first
  270 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |               ~~~^~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:72:21: note: expanded from macro 'FMAX'
   72 | #    define FMAX(x) x
      |                     ^
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:270:23: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses]
  270 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |               ~~~~~~~~^
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:72:21: note: expanded from macro 'FMAX'
   72 | #    define FMAX(x) x
      |                     ^
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:270:23: note: place parentheses around the '|' expression to silence this warning
  270 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |               ~~~~~~~~^
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:72:21: note: expanded from macro 'FMAX'
   72 | #    define FMAX(x) x
      |                     ^
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:270:23: note: place parentheses around the '?:' expression to evaluate it first
  270 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |                   ~~~~^~~~~~~~~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:72:21: note: expanded from macro 'FMAX'
   72 | #    define FMAX(x) x
      |                     ^
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:489:103: warning: '/*' within block comment [-Wcomment]
  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]); /**/
      |                                                                                                       ^
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:736:34: warning: operator '>>' has lower precedence than '+'; '+' will be evaluated first [-Wshift-op-parentheses]
  736 |             MovesLeft = -(GamePtr+(Side==WHITE)>>1);
      |                           ~~~~~~~^~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:736:34: note: place parentheses around the '+' expression to silence this warning
  736 |             MovesLeft = -(GamePtr+(Side==WHITE)>>1);
      |                                  ^
      |                           (                    )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:752:40: warning: '&&' within '||' [-Wlogical-op-parentheses]
  752 |         if (!strcmp(command, "undo")   && (nr=1) ||
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ ~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:752:40: note: place parentheses around the '&&' expression to silence this warning
  752 |         if (!strcmp(command, "undo")   && (nr=1) ||
      |                                        ^
      |             (                                   )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:753:40: warning: '&&' within '||' [-Wlogical-op-parentheses]
  752 |         if (!strcmp(command, "undo")   && (nr=1) ||
      |                                                  ~~
  753 |             !strcmp(command, "remove") && (nr=2)   ) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:753:40: note: place parentheses around the '&&' expression to silence this warning
  753 |             !strcmp(command, "remove") && (nr=2)   ) {
      |                                        ^
      |             (                                   )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:829:59: warning: '&&' within '||' [-Wlogical-op-parentheses]
  829 |                                 if(color==BLACK && m<0x10 && p==oo[m+16] ||
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:829:59: note: place parentheses around the '&&' expression to silence this warning
  829 |                                 if(color==BLACK && m<0x10 && p==oo[m+16] ||
      |                                                           ^
      |                                    (                                    )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:830:59: warning: '&&' within '||' [-Wlogical-op-parentheses]
  829 |                                 if(color==BLACK && m<0x10 && p==oo[m+16] ||
      |                                                                          ~~
  830 |                                    color==WHITE && m>0x6F && p==oo[m-0x70]) b[m] -= 32;
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:830:59: note: place parentheses around the '&&' expression to silence this warning
  830 |                                    color==WHITE && m>0x6F && p==oo[m-0x70]) b[m] -= 32;
      |                                                           ^
      |                                    (                                      )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:832:72: warning: '&&' within '||' [-Wlogical-op-parentheses]
  832 |                             if((m==0x00 || m==BW-1   ) && color==BLACK && p==oo[m+16] ||
      |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:832:72: note: place parentheses around the '&&' expression to silence this warning
  832 |                             if((m==0x00 || m==BW-1   ) && color==BLACK && p==oo[m+16] ||
      |                                                                        ^
      |                                (                                                     )
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:833:72: warning: '&&' within '||' [-Wlogical-op-parentheses]
  832 |                             if((m==0x00 || m==BW-1   ) && color==BLACK && p==oo[m+16] ||
      |                                                                                       ~~
  833 |                                (m==0x70 || m==0x6F+BW) && color==WHITE && p==oo[m-0x70])
      |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Sources/CBridge/Fairymax/Fairymax.c:833:72: note: place parentheses around the '&&' expression to silence this warning
  833 |                                (m==0x70 || m==0x6F+BW) && color==WHITE && p==oo[m-0x70])
      |                                                                        ^
      |                                (                                                       )
32 warnings generated.
[39 / 47] MicroMaxOnAppleSilicon
[44 / 47] MicroMaxOnAppleSilicon
[48 / 48] MicroMaxOnAppleSilicon-product
Build complete! (11.04 secs)
Build complete.
{
  "c_language_standard" : "gnu17",
  "dependencies" : [
  ],
  "manifest_display_name" : "MicroMaxOnAppleSilicon",
  "name" : "MicroMaxOnAppleSilicon",
  "path" : "/host/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" : "/host/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"
}
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Done.