Giter VIP home page Giter VIP logo

graywolf's People

Contributors

fatsie avatar jrtc27 avatar kokakiwi avatar rtimothyedwards avatar rubund avatar stefanbruens avatar yageek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

graywolf's Issues

Master Branch Doesn't compile.

Hi There,

I cloned the repo and checked out the master branch. It does not compile.

line 230 in buster.c in /src/lib fails to compile due to no INT return type.

Ybuster_addpt( INT xpos, INT ypos )
INT xpos, ypos;
{
if( xpos == ptS[cornerCountS].x && ypos == ptS[cornerCountS].y ){
/* avoid redundant points /
return;
}
/
increase the space if necessary /
if( ++cornerCountS >= ptAllocS ){
ptAllocS += EXPECTEDPTS ;
ptS = YREALLOC( ptS, ptAllocS, YBUSTBOX ) ;
}
ptS[cornerCountS].x = xpos ;
ptS[cornerCountS].y = ypos ;
} /
end add_arb_pt */

There are more compile issues when this is fixed which I think are for very similar reasons. Ie for draw.c

/home/developer/qflow/graywolf/src/Ylib/draw.c:344:2: error: non-void function 'TWsetMode' should return a value [-Wreturn-type]
return ;

Regards

Walter

Issue with buster.c

Hi,

I am trying to compile this source in a OSX system. However I am getting the error bellow.

/graywolf/src/Ylib/buster.c:230:2: error: 
      non-void function 'Ybuster_addpt' should return a value [-Wreturn-type]
        return ;

Any ideas on what should I do? I know it is not usual to have such tools on OSX systems, but since it is a Unix basis, I can have some tools such YoSys installed.

Please fix obviosuly incorrect C syntax

clang-8 rightfully complains:

/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:502:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
        if( reply = XGetDefault( dpyS, GRAPHICS, "bw" )){
            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:502:12: note: place parentheses around the assignment to silence this warning
        if( reply = XGetDefault( dpyS, GRAPHICS, "bw" )){
                  ^
            (                                          )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:502:12: note: use '==' to turn this assignment into an equality comparison
        if( reply = XGetDefault( dpyS, GRAPHICS, "bw" )){
                  ^
                  ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:513:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
    if(font = XGetDefault( dpyS, GRAPHICS, "font" )){
       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:513:13: note: place parentheses around the assignment to silence this warning
    if(font = XGetDefault( dpyS, GRAPHICS, "font" )){
            ^
       (                                           )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:513:13: note: use '==' to turn this assignment into an equality comparison
    if(font = XGetDefault( dpyS, GRAPHICS, "font" )){
            ^
            ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:527:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
    if( reply = XGetDefault( dpyS, GRAPHICS, "stipple" )){
        ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:527:15: note: place parentheses around the assignment to silence this warning
    if( reply = XGetDefault( dpyS, GRAPHICS, "stipple" )){
              ^
        (                                               )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:527:15: note: use '==' to turn this assignment into an equality comparison
    if( reply = XGetDefault( dpyS, GRAPHICS, "stipple" )){
              ^
              ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:533:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
    if( reply = XGetDefault( dpyS, GRAPHICS, "rectangle_fill" )){
        ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:533:15: note: place parentheses around the assignment to silence this warning
    if( reply = XGetDefault( dpyS, GRAPHICS, "rectangle_fill" )){
              ^
        (                                                      )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:533:15: note: use '==' to turn this assignment into an equality comparison
    if( reply = XGetDefault( dpyS, GRAPHICS, "rectangle_fill" )){
              ^
              ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:539:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
    if( reply = XGetDefault( dpyS, GRAPHICS, "arbitrary_fill" )){
        ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:539:15: note: place parentheses around the assignment to silence this warning
    if( reply = XGetDefault( dpyS, GRAPHICS, "arbitrary_fill" )){
              ^
        (                                                      )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:539:15: note: use '==' to turn this assignment into an equality comparison
    if( reply = XGetDefault( dpyS, GRAPHICS, "arbitrary_fill" )){
              ^
              ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:545:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
    if( reply = XGetDefault( dpyS, GRAPHICS, "reverse" )){
        ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:545:15: note: place parentheses around the assignment to silence this warning
    if( reply = XGetDefault( dpyS, GRAPHICS, "reverse" )){
              ^
        (                                               )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:545:15: note: use '==' to turn this assignment into an equality comparison
    if( reply = XGetDefault( dpyS, GRAPHICS, "reverse" )){
              ^
              ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:552:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
    if( reply = XGetDefault( dpyS, GRAPHICS, "wait_time" )){
        ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:552:15: note: place parentheses around the assignment to silence this warning
    if( reply = XGetDefault( dpyS, GRAPHICS, "wait_time" )){
              ^
        (                                                 )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:552:15: note: use '==' to turn this assignment into an equality comparison
    if( reply = XGetDefault( dpyS, GRAPHICS, "wait_time" )){
              ^
              ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:560:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
    if( winstr = XGetDefault( dpyS, GRAPHICS, "geometry" )){
        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:560:16: note: place parentheses around the assignment to silence this warning
    if( winstr = XGetDefault( dpyS, GRAPHICS, "geometry" )){
               ^
        (                                                 )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:560:16: note: use '==' to turn this assignment into an equality comparison
    if( winstr = XGetDefault( dpyS, GRAPHICS, "geometry" )){
               ^
               ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:931:1: warning: control reaches end of non-void function [-Wreturn-type]
} /* end set_clip_window() */ 
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:949:43: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
    sprintf( YmsgG, "new center - %d,%d", x1, y1 ) ;
                                  ~~      ^~
                                  %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:949:47: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
    sprintf( YmsgG, "new center - %d,%d", x1, y1 ) ;
                                     ~~       ^~
                                     %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1189:1: warning: control reaches end of non-void function [-Wreturn-type]
} /* end initcolor */
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1198:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
            sprintf( YmsgG, "Color number:%d is out of range", color ) ;
                                          ~~                   ^~~~~
                                          %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1201:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
            fprintf( stderr,"Color number:%d is out of range", color ) ;
                                          ~~                   ^~~~~
                                          %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1238:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
            sprintf( YmsgG, "Color number:%d is out of range", color ) ;
                                          ~~                   ^~~~~
                                          %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1241:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
            fprintf( stderr,"Color number:%d is out of range", color ) ;
                                          ~~                   ^~~~~
                                          %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1243:2: error: non-void function 'drawDLine' should return a value [-Wreturn-type]
        return ;
        ^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1245:2: error: non-void function 'drawDLine' should return a value [-Wreturn-type]
        return ;
        ^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1255:6: error: non-void function 'drawDLine' should return a value [-Wreturn-type]
            return ;
            ^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1295:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
            sprintf( YmsgG, "Color number:%d is out of range", color ) ;
                                          ~~                   ^~~~~
                                          %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1298:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
            fprintf( stderr,"Color number:%d is out of range", color ) ;
                                          ~~                   ^~~~~
                                          %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1300:2: error: non-void function 'drawDRect' should return a value [-Wreturn-type]
        return ;
        ^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1302:2: error: non-void function 'drawDRect' should return a value [-Wreturn-type]
        return ;
        ^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1307:6: error: non-void function 'drawDRect' should return a value [-Wreturn-type]
            return ;
            ^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1432:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
            sprintf( YmsgG, "Color number:%d is out of range", color ) ;
                                          ~~                   ^~~~~
                                          %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1435:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
            fprintf( stderr,"Color number:%d is out of range", color ) ;
                                          ~~                   ^~~~~
                                          %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1437:2: error: non-void function 'drawDArb' should return a value [-Wreturn-type]
        return ;
        ^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1439:2: error: non-void function 'drawDArb' should return a value [-Wreturn-type]
        return ;
        ^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1464:6: error: non-void function 'drawDArb' should return a value [-Wreturn-type]
            return ;
            ^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1613:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
        if( press = XCheckTypedWindowEvent( dpyS,drawS,
            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1613:12: note: place parentheses around the assignment to silence this warning
        if( press = XCheckTypedWindowEvent( dpyS,drawS,
                  ^
            (
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1613:12: note: use '==' to turn this assignment into an equality comparison
        if( press = XCheckTypedWindowEvent( dpyS,drawS,
                  ^
                  ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1983:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
            sprintf( YmsgG, "Color number:%d is out of range", color ) ;
                                          ~~                   ^~~~~
                                          %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1986:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
            fprintf( stderr,"Color number:%d is out of range", color ) ;
                                          ~~                   ^~~~~
                                          %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2067:52: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
    sprintf( filename, "%s/cell.bin.%d", dirNameS, frameCountS ) ;
                                    ~~             ^~~~~~~~~~~
                                    %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2072:51: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
    sprintf( filename, "%s/net.bin.%d", dirNameS, frameCountS ) ;
                                   ~~             ^~~~~~~~~~~
                                   %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2077:52: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
    sprintf( filename, "%s/symb.bin.%d", dirNameS, frameCountS ) ;
                                    ~~             ^~~~~~~~~~~
                                    %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2109:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
        if( excess = numCharS % 4 ){
            ~~~~~~~^~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2109:13: note: place parentheses around the assignment to silence this warning
        if( excess = numCharS % 4 ){
                   ^
            (                    )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2109:13: note: use '==' to turn this assignment into an equality comparison
        if( excess = numCharS % 4 ){
                   ^
                   ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2145:50: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
            sprintf( fileName,"%s/cell.bin.%d",dirNameS,frameCountS ) ;
                                           ~~           ^~~~~~~~~~~
                                           %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2170:2: error: non-void function 'drawWLine' should return a value [-Wreturn-type]
        return ;
        ^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2177:6: error: non-void function 'drawWLine' should return a value [-Wreturn-type]
            return ;
            ^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2227:2: error: non-void function 'drawWRect' should return a value [-Wreturn-type]
        return ;
        ^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2234:6: error: non-void function 'drawWRect' should return a value [-Wreturn-type]
            return ;
            ^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2278:2: error: non-void function 'drawWArb' should return a value [-Wreturn-type]
        return ;
        ^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2285:6: error: non-void function 'drawWArb' should return a value [-Wreturn-type]
            return ;
            ^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2292:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
    while( bustptr = Ybuster() ){
           ~~~~~~~~^~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2292:20: note: place parentheses around the assignment to silence this warning
    while( bustptr = Ybuster() ){
                   ^
           (                  )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2292:20: note: use '==' to turn this assignment into an equality comparison
    while( bustptr = Ybuster() ){
                   ^
                   ==
29 warnings and 15 errors generated.
[6/219] /usr/bin/cc -Dycadgraywolf_EXPORTS -I/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/include -Iinclude -I/usr/local/include -O2 -pipe -fno-omit-frame-pointer  -fstack-protector-strong -fno-strict-aliasing -DSIZEOF_VOID_P=64 -Wno-implicit-function-declaration -O2 -pipe -fno-omit-frame-pointer  -fstack-protector-strong -fno-strict-aliasing -fPIC -MD -MT src/Ylib/CMakeFiles/ycadgraywolf.dir/file.c.o -MF src/Ylib/CMakeFiles/ycadgraywolf.dir/file.c.o.d -o src/Ylib/CMakeFiles/ycadgraywolf.dir/file.c.o   -c /usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/file.c
In file included from /usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/file.c:136:
/usr/include/sys/dir.h:41:2: warning: "The information in this file should be obtained from <dirent.h>" [-W#warnings]
#warning "The information in this file should be obtained from <dirent.h>"
 ^
/usr/include/sys/dir.h:42:2: warning: "and is provided solely (and temporarily) for backward compatibility." [-W#warnings]
#warning "and is provided solely (and temporarily) for backward compatibility."
 ^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/file.c:145:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
        if( dp = opendir(pathname) ){
            ~~~^~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/file.c:145:9: note: place parentheses around the assignment to silence this warning
        if( dp = opendir(pathname) ){
               ^
            (                     )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/file.c:145:9: note: use '==' to turn this assignment into an equality comparison
        if( dp = opendir(pathname) ){
               ^
               ==
3 warnings generated.
[7/219] /usr/bin/cc -Dycadgraywolf_EXPORTS -I/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/include -Iinclude -I/usr/local/include -O2 -pipe -fno-omit-frame-pointer  -fstack-protector-strong -fno-strict-aliasing -DSIZEOF_VOID_P=64 -Wno-implicit-function-declaration -O2 -pipe -fno-omit-frame-pointer  -fstack-protector-strong -fno-strict-aliasing -fPIC -MD -MT src/Ylib/CMakeFiles/ycadgraywolf.dir/edcolors.c.o -MF src/Ylib/CMakeFiles/ycadgraywolf.dir/edcolors.c.o.d -o src/Ylib/CMakeFiles/ycadgraywolf.dir/edcolors.c.o   -c /usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/edcolors.c
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/edcolors.c:135:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
    if( answer = TWdialog( fieldS, "colors", NULL ) ){
        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/edcolors.c:135:16: note: place parentheses around the assignment to silence this warning
    if( answer = TWdialog( fieldS, "colors", NULL ) ){
               ^
        (                                          )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/edcolors.c:135:16: note: use '==' to turn this assignment into an equality comparison
    if( answer = TWdialog( fieldS, "colors", NULL ) ){
               ^
               ==
1 warning generated.
[8/219] /usr/bin/cc -Dycadgraywolf_EXPORTS -I/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/include -Iinclude -I/usr/local/include -O2 -pipe -fno-omit-frame-pointer  -fstack-protector-strong -fno-strict-aliasing -DSIZEOF_VOID_P=64 -Wno-implicit-function-declaration -O2 -pipe -fno-omit-frame-pointer  -fstack-protector-strong -fno-strict-aliasing -fPIC -MD -MT src/Ylib/CMakeFiles/ycadgraywolf.dir/dset.c.o -MF src/Ylib/CMakeFiles/ycadgraywolf.dir/dset.c.o.d -o src/Ylib/CMakeFiles/ycadgraywolf.dir/dset.c.o   -c /usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:100:1: warning: control reaches end of non-void function [-Wreturn-type]
} /* end dset_free_element() */
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:211:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  if( ptr = (ELEMENTPTR) Yrbtree_search( dset->dtree, &dummy )){
      ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:211:11: note: place parentheses around the assignment to silence this warning
  if( ptr = (ELEMENTPTR) Yrbtree_search( dset->dtree, &dummy )){
          ^
      (                                                       )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:211:11: note: use '==' to turn this assignment into an equality comparison
  if( ptr = (ELEMENTPTR) Yrbtree_search( dset->dtree, &dummy )){
          ^
          ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:456:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  if( ptr = (ELEMENTPTR) Yrbtree_search( dset->dtree, &dummy )){
      ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:456:11: note: place parentheses around the assignment to silence this warning
  if( ptr = (ELEMENTPTR) Yrbtree_search( dset->dtree, &dummy )){
          ^
      (                                                       )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:456:11: note: use '==' to turn this assignment into an equality comparison
  if( ptr = (ELEMENTPTR) Yrbtree_search( dset->dtree, &dummy )){
          ^
          ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:476:1: warning: control reaches end of non-void function [-Wreturn-type]
} /* end Ydset_free */
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:502:1: warning: control reaches end of non-void function [-Wreturn-type]
} /* end Ydset_empty */
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:547:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  if (ptr = dset_find_set(dset, data) ) {
      ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:547:11: note: place parentheses around the assignment to silence this warning
  if (ptr = dset_find_set(dset, data) ) {
          ^
      (                              )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:547:11: note: use '==' to turn this assignment into an equality comparison
  if (ptr = dset_find_set(dset, data) ) {
          ^
          ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:564:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  if( ptr = find( dset, data )){
      ~~~~^~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:564:11: note: place parentheses around the assignment to silence this warning
  if( ptr = find( dset, data )){
          ^
      (                       )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:564:11: note: use '==' to turn this assignment into an equality comparison
  if( ptr = find( dset, data )){
          ^
          ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:590:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
    if( ptr = (ELEMENTPTR)Yrbtree_search( dset->dtree, &dummy )){
        ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:590:13: note: place parentheses around the assignment to silence this warning
    if( ptr = (ELEMENTPTR)Yrbtree_search( dset->dtree, &dummy )){
            ^
        (                                                      )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:590:13: note: use '==' to turn this assignment into an equality comparison
    if( ptr = (ELEMENTPTR)Yrbtree_search( dset->dtree, &dummy )){
            ^
            ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:639:45: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
    fprintf(stderr,"sizeIn:%d sizeOut:%d\n",sizeIn,sizeOut);
                           ~~               ^~~~~~
                           %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:639:52: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
    fprintf(stderr,"sizeIn:%d sizeOut:%d\n",sizeIn,sizeOut);
                                      ~~           ^~~~~~~
                                      %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:671:44: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
  fprintf(stderr,"set contains %d items\n",Yrbtree_size(dset->dtree));
                               ~~          ^~~~~~~~~~~~~~~~~~~~~~~~~
                               %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:677:55: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
      fprintf(stderr,"\n%d items in set #%d [parent ",parent->size,count++);
                        ~~                            ^~~~~~~~~~~~
                        %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:677:68: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
      fprintf(stderr,"\n%d items in set #%d [parent ",parent->size,count++);
                                         ~~                        ^~~~~~~
                                         %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:681:24: warning: format specifies type 'long' but the argument has type 'ELEMENTPTR' (aka 'struct dset_element *') [-Wformat]
        fprintf(stderr,"%ld ",parent);
                        ~~~   ^~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:688:29: warning: format specifies type 'long' but the argument has type 'VOIDPTR' (aka 'long *') [-Wformat]
      fprintf(stderr,"%ld ",ptr);
                      ~~~   ^~~
15 warnings generated.
[9/219] /usr/bin/cc -Dycadgraywolf_EXPORTS -I/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/include -Iinclude -I/usr/local/include -O2 -pipe -fno-omit-frame-pointer  -fstack-protector-strong -fno-strict-aliasing -DSIZEOF_VOID_P=64 -Wno-implicit-function-declaration -O2 -pipe -fno-omit-frame-pointer  -fstack-protector-strong -fno-strict-aliasing -fPIC -MD -MT src/Ylib/CMakeFiles/ycadgraywolf.dir/getftime.c.o -MF src/Ylib/CMakeFiles/ycadgraywolf.dir/getftime.c.o.d -o src/Ylib/CMakeFiles/ycadgraywolf.dir/getftime.c.o   -c /usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/getftime.c
[10/219] /usr/bin/cc -Dycadgraywolf_EXPORTS -I/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/include -Iinclude -I/usr/local/include -O2 -pipe -fno-omit-frame-pointer  -fstack-protector-strong -fno-strict-aliasing -DSIZEOF_VOID_P=64 -Wno-implicit-function-declaration -O2 -pipe -fno-omit-frame-pointer  -fstack-protector-strong -fno-strict-aliasing -fPIC -MD -MT src/Ylib/CMakeFiles/ycadgraywolf.dir/graph.c.o -MF src/Ylib/CMakeFiles/ycadgraywolf.dir/graph.c.o.d -o src/Ylib/CMakeFiles/ycadgraywolf.dir/graph.c.o   -c /usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c
FAILED: src/Ylib/CMakeFiles/ycadgraywolf.dir/graph.c.o 
/usr/bin/cc -Dycadgraywolf_EXPORTS -I/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/include -Iinclude -I/usr/local/include -O2 -pipe -fno-omit-frame-pointer  -fstack-protector-strong -fno-strict-aliasing -DSIZEOF_VOID_P=64 -Wno-implicit-function-declaration -O2 -pipe -fno-omit-frame-pointer  -fstack-protector-strong -fno-strict-aliasing -fPIC -MD -MT src/Ylib/CMakeFiles/ycadgraywolf.dir/graph.c.o -MF src/Ylib/CMakeFiles/ycadgraywolf.dir/graph.c.o.d -o src/Ylib/CMakeFiles/ycadgraywolf.dir/graph.c.o   -c /usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:262:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:281:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:304:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:368:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:400:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:501:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:510:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:610:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:619:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:634:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  if ( nodePtr = (YNODEPTR)Yrbtree_search (graph->nodeTree,&nodeDummy)  ) {
       ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:634:16: note: place parentheses around the assignment to silence this warning
  if ( nodePtr = (YNODEPTR)Yrbtree_search (graph->nodeTree,&nodeDummy)  ) {
               ^
       (                                                              )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:634:16: note: use '==' to turn this assignment into an equality comparison
  if ( nodePtr = (YNODEPTR)Yrbtree_search (graph->nodeTree,&nodeDummy)  ) {
               ^
               ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:722:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:774:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:894:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:903:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1001:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1010:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1022:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1329:5: error: non-void function 'Ygraph_bfs' should return a value [-Wreturn-type]
    return;
    ^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1354:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  while ( nextNode = (YNODEPTR) Yheap_delete_min(heap) ) {
          ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1354:20: note: place parentheses around the assignment to silence this warning
  while ( nextNode = (YNODEPTR) Yheap_delete_min(heap) ) {
                   ^
          (                                           )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1354:20: note: use '==' to turn this assignment into an equality comparison
  while ( nextNode = (YNODEPTR) Yheap_delete_min(heap) ) {
                   ^
                   ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1572:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
        while (adjEdge = (YEDGEPTR) Ydeck_pop(swapDeck)) {
               ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1572:24: note: place parentheses around the assignment to silence this warning
        while (adjEdge = (YEDGEPTR) Ydeck_pop(swapDeck)) {
                       ^
               (                                       )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1572:24: note: use '==' to turn this assignment into an equality comparison
        while (adjEdge = (YEDGEPTR) Ydeck_pop(swapDeck)) {
                       ^
                       ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1672:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  while ( nextEdge = (YEDGEPTR)Yheap_delete_min(heap)) {
          ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1672:20: note: place parentheses around the assignment to silence this warning
  while ( nextEdge = (YEDGEPTR)Yheap_delete_min(heap)) {
                   ^
          (                                          )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1672:20: note: use '==' to turn this assignment into an equality comparison
  while ( nextEdge = (YEDGEPTR)Yheap_delete_min(heap)) {
                   ^
                   ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1730:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  while ( nextEdge = (YEDGEPTR)Yheap_delete_min(heap)) {
          ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1730:20: note: place parentheses around the assignment to silence this warning
  while ( nextEdge = (YEDGEPTR)Yheap_delete_min(heap)) {
                   ^
          (                                          )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1730:20: note: use '==' to turn this assignment into an equality comparison
  while ( nextEdge = (YEDGEPTR)Yheap_delete_min(heap)) {
                   ^
                   ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1809:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  while ( nextNode = (YNODEPTR)Yheap_delete_min(heap)) {
          ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1809:20: note: place parentheses around the assignment to silence this warning
  while ( nextNode = (YNODEPTR)Yheap_delete_min(heap)) {
                   ^
          (                                          )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1809:20: note: use '==' to turn this assignment into an equality comparison
  while ( nextNode = (YNODEPTR)Yheap_delete_min(heap)) {
                   ^
                   ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1847:29: warning: '/*' within block comment [-Wcomment]
          /* Ygraph_draw(graph);   /* debug */
                                   ^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2298:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  while ( nextNode = (YNODEPTR) Yheap_delete_min(heap) ) {
          ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2298:20: note: place parentheses around the assignment to silence this warning
  while ( nextNode = (YNODEPTR) Yheap_delete_min(heap) ) {
                   ^
          (                                           )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2298:20: note: use '==' to turn this assignment into an equality comparison
  while ( nextNode = (YNODEPTR) Yheap_delete_min(heap) ) {
                   ^
                   ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2493:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
     while ( edge = (YEDGEPTR) Ydeck_pop( pathDeck ) )  {
             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2493:19: note: place parentheses around the assignment to silence this warning
     while ( edge = (YEDGEPTR) Ydeck_pop( pathDeck ) )  {
                  ^
             (                                      )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2493:19: note: use '==' to turn this assignment into an equality comparison
     while ( edge = (YEDGEPTR) Ydeck_pop( pathDeck ) )  {
                  ^
                  ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2558:5: error: non-void function 'Ygraph_steinerImprove' should return a value [-Wreturn-type]
    return;
    ^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2563:5: error: non-void function 'Ygraph_steinerImprove' should return a value [-Wreturn-type]
    return;
    ^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2569:5: error: non-void function 'Ygraph_steinerImprove' should return a value [-Wreturn-type]
    return;
    ^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2612:28: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
        for ( count = 1; nextEdge = (YEDGEPTR) Ygraph_listAdjEdges(node,count);
                         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2612:28: note: place parentheses around the assignment to silence this warning
        for ( count = 1; nextEdge = (YEDGEPTR) Ygraph_listAdjEdges(node,count);
                                  ^
                         (                                                    )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2612:28: note: use '==' to turn this assignment into an equality comparison
        for ( count = 1; nextEdge = (YEDGEPTR) Ygraph_listAdjEdges(node,count);
                                  ^
                                  ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2690:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
      while ( edge2 = (YEDGEPTR) Ydeck_pop(connectDeck) ) {
              ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2690:21: note: place parentheses around the assignment to silence this warning
      while ( edge2 = (YEDGEPTR) Ydeck_pop(connectDeck) ) {
                    ^
              (                                        )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2690:21: note: use '==' to turn this assignment into an equality comparison
      while ( edge2 = (YEDGEPTR) Ydeck_pop(connectDeck) ) {
                    ^
                    ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:3026:42: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
  fprintf(stderr,"graph has %d edges \n",Ygraph_edgeCount(graph));
                            ~~           ^~~~~~~~~~~~~~~~~~~~~~~
                            %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:3041:42: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
  fprintf(stderr,"graph has %d nodes \n",Ygraph_nodeCount(graph));
                            ~~           ^~~~~~~~~~~~~~~~~~~~~~~
                            %ld
29 warnings and 4 errors generated.
[11/219] /usr/bin/cc -Dycadgraywolf_EXPORTS -I/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/include -Iinclude -I/usr/local/include -O2 -pipe -fno-omit-frame-pointer  -fstack-protector-strong -fno-strict-aliasing -DSIZEOF_VOID_P=64 -Wno-implicit-function-declaration -O2 -pipe -fno-omit-frame-pointer  -fstack-protector-strong -fno-strict-aliasing -fPIC -MD -MT src/Ylib/CMakeFiles/ycadgraywolf.dir/dialog.c.o -MF src/Ylib/CMakeFiles/ycadgraywolf.dir/dialog.c.o.d -o src/Ylib/CMakeFiles/ycadgraywolf.dir/dialog.c.o   -c /usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dialog.c
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dialog.c:217:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
    if( winstr = XGetDefault( dpyS, GRAPHICS, resource )){
        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dialog.c:217:16: note: place parentheses around the assignment to silence this warning
    if( winstr = XGetDefault( dpyS, GRAPHICS, resource )){
               ^
        (                                               )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dialog.c:217:16: note: use '==' to turn this assignment into an equality comparison
    if( winstr = XGetDefault( dpyS, GRAPHICS, resource )){
               ^
               ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dialog.c:241:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
    if(font = XGetDefault( dpyS, GRAPHICS, resource )){
       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dialog.c:241:13: note: place parentheses around the assignment to silence this warning
    if(font = XGetDefault( dpyS, GRAPHICS, resource )){
            ^
       (                                             )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dialog.c:241:13: note: use '==' to turn this assignment into an equality comparison
    if(font = XGetDefault( dpyS, GRAPHICS, resource )){
            ^
            ==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dialog.c:542:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
        } else if( font_change = REVERT_FONT ){
                   ~~~~~~~~~~~~^~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dialog.c:542:25: note: place parentheses around the assignment to silence this warning
        } else if( font_change = REVERT_FONT ){
                               ^
                   (                        )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dialog.c:542:25: note: use '==' to turn this assignment into an equality comparison
        } else if( font_change = REVERT_FONT ){
                               ^
                               ==
3 warnings generated.
[12/219] /usr/bin/cc -Dycadgraywolf_EXPORTS -I/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/include -Iinclude -I/usr/local/include -O2 -pipe -fno-omit-frame-pointer  -fstack-protector-strong -fno-strict-aliasing -DSIZEOF_VOID_P=64 -Wno-implicit-function-declaration -O2 -pipe -fno-omit-frame-pointer  -fstack-protector-strong -fno-strict-aliasing -fPIC -MD -MT src/Ylib/CMakeFiles/ycadgraywolf.dir/assign.c.o -MF src/Ylib/CMakeFiles/ycadgraywolf.dir/assign.c.o.d -o src/Ylib/CMakeFiles/ycadgraywolf.dir/assign.c.o   -c /usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/assign.c
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/assign.c:500:44: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
    fprintf(stderr,"sum = %d, max = %d\n", sum, max );
                          ~~               ^~~
                          %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/assign.c:500:49: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
    fprintf(stderr,"sum = %d, max = %d\n", sum, max );
                                    ~~          ^~~
                                    %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/assign.c:502:29: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
        fprintf(stderr,"%d  %d\n", j, capS[j]);
                        ~~         ^
                        %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/assign.c:502:32: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
        fprintf(stderr,"%d  %d\n", j, capS[j]);
                            ~~        ^~~~~~~
                            %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/assign.c:507:28: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
                fprintf( stderr, "[%d]", cost_matrix[i][j]);
                                   ~~    ^~~~~~~~~~~~~~~~~
                                   %ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/assign.c:509:28: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
                fprintf( stderr, " %d ", cost_matrix[i][j]);
                                   ~~    ^~~~~~~~~~~~~~~~~
                                   %ld

Documentation

Hi Anyone where i can find documentation regarding Graywolf. How to use it to full extent etc.. Any help would be greatly appreciated.

Bug in twsc/netgraph.c

An efabless user was testing the synthesis flow with a tiny two-gate design, and graywolf appears to have issues with either the low gate count or more likely the low pin count, causing a segfault. Debugging with valgrind, it appears that variable z_S is not allocating enough memory for the array.

Line 949 in twsc/netgraph.c:
z_S[i] = (PINBOXPTR *)Ysafe_malloc( maxpin_numberS * sizeof(PINBOXPTR) ) ;

should be:
z_S[i] = (PINBOXPTR *)Ysafe_malloc( ( maxpin_numberS + 1 ) * sizeof(PINBOXPTR) ) ;

The same change needs to be made to line 183.

---Tim

graywolf map9v3, blank window show up and hang

I installed graywolf in MacBook Air M1 without any errors after follow the instruction here and from Youtube. But when I try "graywolf map9v3" in the tests/map9v3 directory, I have the graywolf window pop up but it is blank and hang with the following message

twflow version:2.1 date:
Authors: Bill Swartz, Carl Sechen
Yale University
Twflow switches:
debug on
Graphics mode on
TimberWolf mode on

Please help me!
Thanks

trying to compile make command but got error

can anyone please help me out on this error.
all fine till cmake .. command after that when I pass make install then this error generated.

-- Generating done
-- Build files have been written to: /Users/paramsaini/graywolf/build
(base) paramsaini@MacBook-Pro build % make install
[ 1%] Building C object src/Ylib/CMakeFiles/ycadgraywolf.dir/assign.c.o
/Users/paramsaini/graywolf/src/Ylib/assign.c:500:44: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf(stderr,"sum = %d, max = %d\n", sum, max );
~~ ^~~
%ld
/Users/paramsaini/graywolf/src/Ylib/assign.c:500:49: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf(stderr,"sum = %d, max = %d\n", sum, max );
~~ ^~~
%ld
/Users/paramsaini/graywolf/src/Ylib/assign.c:502:29: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf(stderr,"%d %d\n", j, capS[j]);
~~ ^
%ld
/Users/paramsaini/graywolf/src/Ylib/assign.c:502:32: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf(stderr,"%d %d\n", j, capS[j]);
~~ ^~~~~~~
%ld
/Users/paramsaini/graywolf/src/Ylib/assign.c:507:28: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr, "[%d]", cost_matrix[i][j]);
~~ ^~~~~~~~~~~~~~~~~
%ld
/Users/paramsaini/graywolf/src/Ylib/assign.c:509:28: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr, " %d ", cost_matrix[i][j]);
~~ ^~~~~~~~~~~~~~~~~
%ld
6 warnings generated.
[ 1%] Building C object src/Ylib/CMakeFiles/ycadgraywolf.dir/buster.c.o
/Users/paramsaini/graywolf/src/Ylib/buster.c:327:48: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf(YmsgG,"%s @(%d,%d)\n", user_messageS, xx1, yy1 );
~~ ^~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/buster.c:327:53: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf(YmsgG,"%s @(%d,%d)\n", user_messageS, xx1, yy1 );
~~ ^~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/buster.c:333:21: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
user_messageS, xx1, yy1 );
^~~
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/buster.c:333:26: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
user_messageS, xx1, yy1 );
^~~
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
4 warnings generated.
[ 2%] Building C object src/Ylib/CMakeFiles/ycadgraywolf.dir/cleanup.c.o
[ 2%] Building C object src/Ylib/CMakeFiles/ycadgraywolf.dir/colors.c.o
[ 3%] Building C object src/Ylib/CMakeFiles/ycadgraywolf.dir/deck.c.o
/Users/paramsaini/graywolf/src/Ylib/deck.c:114:1: warning: non-void function does not return a value [-Wreturn-type]
} /* end Ydeck_push /
^
/Users/paramsaini/graywolf/src/Ylib/deck.c:141:1: warning: non-void function does not return a value [-Wreturn-type]
} /
end Yadd2Deck /
^
/Users/paramsaini/graywolf/src/Ylib/deck.c:228:1: warning: non-void function does not return a value [-Wreturn-type]
}
^
/Users/paramsaini/graywolf/src/Ylib/deck.c:239:1: warning: non-void function does not return a value [-Wreturn-type]
}
^
/Users/paramsaini/graywolf/src/Ylib/deck.c:249:32: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr,"%d cards\n",deckPtr->size);
~~ ^~~~~~~~~~~~~
%ld
/Users/paramsaini/graywolf/src/Ylib/deck.c:255:30: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr,"%d ", (INT)Ydeck_getData(deckPtr) ) ;
~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~
%ld
/Users/paramsaini/graywolf/src/Ylib/deck.c:264:30: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr,"%d ", (INT) Ydeck_getData(deckPtr) ) ;
~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
%ld
/Users/paramsaini/graywolf/src/Ylib/deck.c:269:1: warning: non-void function does not return a value [-Wreturn-type]
} /
end Ydeck_dump /
^
8 warnings generated.
[ 3%] Building C object src/Ylib/CMakeFiles/ycadgraywolf.dir/dialog.c.o
/Users/paramsaini/graywolf/src/Ylib/dialog.c:217:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( winstr = XGetDefault( dpyS, GRAPHICS, resource )){
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/dialog.c:217:16: note: place parentheses around the assignment to silence this warning
if( winstr = XGetDefault( dpyS, GRAPHICS, resource )){
^
( )
/Users/paramsaini/graywolf/src/Ylib/dialog.c:217:16: note: use '==' to turn this assignment into an equality comparison
if( winstr = XGetDefault( dpyS, GRAPHICS, resource )){
^
==
/Users/paramsaini/graywolf/src/Ylib/dialog.c:241:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if(font = XGetDefault( dpyS, GRAPHICS, resource )){
~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/dialog.c:241:13: note: place parentheses around the assignment to silence this warning
if(font = XGetDefault( dpyS, GRAPHICS, resource )){
^
( )
/Users/paramsaini/graywolf/src/Ylib/dialog.c:241:13: note: use '==' to turn this assignment into an equality comparison
if(font = XGetDefault( dpyS, GRAPHICS, resource )){
^
==
/Users/paramsaini/graywolf/src/Ylib/dialog.c:542:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
} else if( font_change = REVERT_FONT ){
~~~~~~~~~~~~^~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/dialog.c:542:25: note: place parentheses around the assignment to silence this warning
} else if( font_change = REVERT_FONT ){
^
( )
/Users/paramsaini/graywolf/src/Ylib/dialog.c:542:25: note: use '==' to turn this assignment into an equality comparison
} else if( font_change = REVERT_FONT ){
^
==
3 warnings generated.
[ 4%] Building C object src/Ylib/CMakeFiles/ycadgraywolf.dir/draw.c.o
/Users/paramsaini/graywolf/src/Ylib/draw.c:502:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( reply = XGetDefault( dpyS, GRAPHICS, "bw" )){
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:502:12: note: place parentheses around the assignment to silence this warning
if( reply = XGetDefault( dpyS, GRAPHICS, "bw" )){
^
( )
/Users/paramsaini/graywolf/src/Ylib/draw.c:502:12: note: use '==' to turn this assignment into an equality comparison
if( reply = XGetDefault( dpyS, GRAPHICS, "bw" )){
^
==
/Users/paramsaini/graywolf/src/Ylib/draw.c:513:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if(font = XGetDefault( dpyS, GRAPHICS, "font" )){
~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:513:13: note: place parentheses around the assignment to silence this warning
if(font = XGetDefault( dpyS, GRAPHICS, "font" )){
^
( )
/Users/paramsaini/graywolf/src/Ylib/draw.c:513:13: note: use '==' to turn this assignment into an equality comparison
if(font = XGetDefault( dpyS, GRAPHICS, "font" )){
^
==
/Users/paramsaini/graywolf/src/Ylib/draw.c:527:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( reply = XGetDefault( dpyS, GRAPHICS, "stipple" )){
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:527:15: note: place parentheses around the assignment to silence this warning
if( reply = XGetDefault( dpyS, GRAPHICS, "stipple" )){
^
( )
/Users/paramsaini/graywolf/src/Ylib/draw.c:527:15: note: use '==' to turn this assignment into an equality comparison
if( reply = XGetDefault( dpyS, GRAPHICS, "stipple" )){
^
==
/Users/paramsaini/graywolf/src/Ylib/draw.c:533:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( reply = XGetDefault( dpyS, GRAPHICS, "rectangle_fill" )){
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:533:15: note: place parentheses around the assignment to silence this warning
if( reply = XGetDefault( dpyS, GRAPHICS, "rectangle_fill" )){
^
( )
/Users/paramsaini/graywolf/src/Ylib/draw.c:533:15: note: use '==' to turn this assignment into an equality comparison
if( reply = XGetDefault( dpyS, GRAPHICS, "rectangle_fill" )){
^
==
/Users/paramsaini/graywolf/src/Ylib/draw.c:539:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( reply = XGetDefault( dpyS, GRAPHICS, "arbitrary_fill" )){
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:539:15: note: place parentheses around the assignment to silence this warning
if( reply = XGetDefault( dpyS, GRAPHICS, "arbitrary_fill" )){
^
( )
/Users/paramsaini/graywolf/src/Ylib/draw.c:539:15: note: use '==' to turn this assignment into an equality comparison
if( reply = XGetDefault( dpyS, GRAPHICS, "arbitrary_fill" )){
^
==
/Users/paramsaini/graywolf/src/Ylib/draw.c:545:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( reply = XGetDefault( dpyS, GRAPHICS, "reverse" )){
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:545:15: note: place parentheses around the assignment to silence this warning
if( reply = XGetDefault( dpyS, GRAPHICS, "reverse" )){
^
( )
/Users/paramsaini/graywolf/src/Ylib/draw.c:545:15: note: use '==' to turn this assignment into an equality comparison
if( reply = XGetDefault( dpyS, GRAPHICS, "reverse" )){
^
==
/Users/paramsaini/graywolf/src/Ylib/draw.c:552:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( reply = XGetDefault( dpyS, GRAPHICS, "wait_time" )){
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:552:15: note: place parentheses around the assignment to silence this warning
if( reply = XGetDefault( dpyS, GRAPHICS, "wait_time" )){
^
( )
/Users/paramsaini/graywolf/src/Ylib/draw.c:552:15: note: use '==' to turn this assignment into an equality comparison
if( reply = XGetDefault( dpyS, GRAPHICS, "wait_time" )){
^
==
/Users/paramsaini/graywolf/src/Ylib/draw.c:560:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( winstr = XGetDefault( dpyS, GRAPHICS, "geometry" )){
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:560:16: note: place parentheses around the assignment to silence this warning
if( winstr = XGetDefault( dpyS, GRAPHICS, "geometry" )){
^
( )
/Users/paramsaini/graywolf/src/Ylib/draw.c:560:16: note: use '==' to turn this assignment into an equality comparison
if( winstr = XGetDefault( dpyS, GRAPHICS, "geometry" )){
^
==
/Users/paramsaini/graywolf/src/Ylib/draw.c:931:1: warning: non-void function does not return a value [-Wreturn-type]
} /
end set_clip_window() /
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:949:43: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( YmsgG, "new center - %d,%d", x1, y1 ) ;
~~ ^~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:949:47: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( YmsgG, "new center - %d,%d", x1, y1 ) ;
~~ ^~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:1189:1: warning: non-void function does not return a value [-Wreturn-type]
} /
end initcolor */
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:1198:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( YmsgG, "Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:1201:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr,"Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/Users/paramsaini/graywolf/src/Ylib/draw.c:1238:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( YmsgG, "Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:1241:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr,"Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/Users/paramsaini/graywolf/src/Ylib/draw.c:1243:2: error: non-void function 'drawDLine' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:1245:2: error: non-void function 'drawDLine' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:1255:6: error: non-void function 'drawDLine' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:1295:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( YmsgG, "Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:1298:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr,"Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/Users/paramsaini/graywolf/src/Ylib/draw.c:1300:2: error: non-void function 'drawDRect' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:1302:2: error: non-void function 'drawDRect' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:1307:6: error: non-void function 'drawDRect' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:1432:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( YmsgG, "Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:1435:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr,"Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/Users/paramsaini/graywolf/src/Ylib/draw.c:1437:2: error: non-void function 'drawDArb' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:1439:2: error: non-void function 'drawDArb' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:1464:6: error: non-void function 'drawDArb' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:1613:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( press = XCheckTypedWindowEvent( dpyS,drawS,
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:1613:12: note: place parentheses around the assignment to silence this warning
if( press = XCheckTypedWindowEvent( dpyS,drawS,
^
(
/Users/paramsaini/graywolf/src/Ylib/draw.c:1613:12: note: use '==' to turn this assignment into an equality comparison
if( press = XCheckTypedWindowEvent( dpyS,drawS,
^
==
/Users/paramsaini/graywolf/src/Ylib/draw.c:1983:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( YmsgG, "Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:1986:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr,"Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/Users/paramsaini/graywolf/src/Ylib/draw.c:2067:52: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( filename, "%s/cell.bin.%d", dirNameS, frameCountS ) ;
~~ ^~~~~~~~~~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:2072:51: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( filename, "%s/net.bin.%d", dirNameS, frameCountS ) ;
~~ ^~~~~~~~~~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:2077:52: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( filename, "%s/symb.bin.%d", dirNameS, frameCountS ) ;
~~ ^~~~~~~~~~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:2109:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( excess = numCharS % 4 ){
~~~~~~~^~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:2109:13: note: place parentheses around the assignment to silence this warning
if( excess = numCharS % 4 ){
^
( )
/Users/paramsaini/graywolf/src/Ylib/draw.c:2109:13: note: use '==' to turn this assignment into an equality comparison
if( excess = numCharS % 4 ){
^
==
/Users/paramsaini/graywolf/src/Ylib/draw.c:2145:50: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( fileName,"%s/cell.bin.%d",dirNameS,frameCountS ) ;
~~ ^~~~~~~~~~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:2170:2: error: non-void function 'drawWLine' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:2177:6: error: non-void function 'drawWLine' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:2227:2: error: non-void function 'drawWRect' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:2234:6: error: non-void function 'drawWRect' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:2278:2: error: non-void function 'drawWArb' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:2285:6: error: non-void function 'drawWArb' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:2292:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
while( bustptr = Ybuster() ){
~~~~~~~~^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:2292:20: note: place parentheses around the assignment to silence this warning
while( bustptr = Ybuster() ){
^
( )
/Users/paramsaini/graywolf/src/Ylib/draw.c:2292:20: note: use '==' to turn this assignment into an equality comparison
while( bustptr = Ybuster() ){
^
==
29 warnings and 15 errors generated.
make[2]: *** [src/Ylib/CMakeFiles/ycadgraywolf.dir/draw.c.o] Error 1
make[1]: *** [src/Ylib/CMakeFiles/ycadgraywolf.dir/all] Error 2
make: *** [all] Error 2
(base) paramsaini@MacBook-Pro build %

OSX install using yageek fork, graywolf hangs when using graphics

I installed graywolf using the fork yageek setup for osx installation. This works correctly when I run graywolf without graphics. However running with graphics the process hangs and when I abort the program I receive the following error:

XIO: fatal IO error 35 (Resource temporarily unavailable) on X server "/private/tmp/com.apple.launchd.3rHjgMkpM3/org.macosforge.xquartz:0"
after 79 requests (79 known processed) with 20 events remaining.

To resolve this I removed the following while(TRUE) loop in src/Ylib/draw.c line 636

/* -------------------------------------------------------------
   Now wait to window to become visible.  This code is necessary 
   since some window managers (uwm) map the window as a ghost 
   image and wait for user to resize window.  Other window 
   managers (twm) map window as requested.  Need to accomodate
   both.
-------------------------------------------------------------- */

/*
while( TRUE ){
if( XCheckTypedWindowEvent(dpyS,backS,VisibilityNotify,&event)){
if( event.xvisibility.state == VisibilityUnobscured ){
break ;
}
}
}
*/

FreeBSD Clang Install Fails

I've attached the log file. I think my system is compiling with Clang, so maybe that's the root of the problem. I'm willing to fix the errors, but I wanted to post this in the event that someone else has fixed it or has a better solution.
log.txt

Install

Hello, Ruben.
I nave problem with install graywolf-master.
after "cmake .", i write "make", but installation Interrupted.
And on monitor
[ 3%] Building C object src/Ylib/CMakeFiles/ycadgraywolf.dir/dialog.c.o
/home/roma/soft/graywolf-master/src/Ylib/dialog.c:78:22: fatal error: X11/Xlib.h: No such file or directory
compilation terminated.
src/Ylib/CMakeFiles/ycadgraywolf.dir/build.make:182: Recipe error for target «src/Ylib/CMakeFiles/ycadgraywolf.dir/dialog.c.o»
make[2]: *** [src/Ylib/CMakeFiles/ycadgraywolf.dir/dialog.c.o] Error 1
CMakeFiles/Makefile2:127: Recipe error for target «src/Ylib/CMakeFiles/ycadgraywolf.dir/all»
make[1]: *** [src/Ylib/CMakeFiles/ycadgraywolf.dir/all] Error 2
Makefile:127: Recipe error for target «all»
make: *** [all] Error 2
Please, Please, tell me what might be the problem

Error starting graywolf

I have sucessfully built and installed graywolf in CentOS 6 and Fedora 20 machines.
However, when trying to run:
$ graywolf -d
I get the following output errors:

twflow version:2.1 date:Mon May 25 21:15:08 EDT 1992
Authors: Bill Swartz, Carl Sechen
         Yale University
Twflow switches:
    debug on
    Graphics mode on
    TimberWolf mode on

[1]    31628 segmentation fault (core dumped)  graywolf -d

And when trying to run:
$ graywolf -n -d
I get the following output errors:

twflow version:2.1 date:Mon May 25 21:15:08 EDT 1992
Authors: Bill Swartz, Carl Sechen
         Yale University
Twflow switches:
    Graphics mode off
    TimberWolf mode on
[find_flow]:Determining design type
Syntax switches:
    debug on
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `/bin/rm -rf (null).stat'
Program Ylib/Yrm_files returned with exit code:1
syntax version:v1.1 date:Mon May 25 21:11:10 EDT 1992
TimberWolf System Syntax Checker
Authors: Carl Sechen, Kai-Win Lee, Bill Swartz,
         Dahe Chen, and Jimmy Lam
         Yale University

ERROR[openFile]:could not open file (null).cel
syntax terminated abnormally with 1 error[s] and 0 warning[s]

ERROR[find_design_type]:Trouble executing syntax
FATAL - must exit

twflow terminated abnormally with 1 error[s] and 0 warning[s]

SIZEOF_VOID_P is not defined

My coworker @snelson and I did some digging to find this.

Even though CMake seems to properly determine that void pointers should be 8 bytes on my 64-bit system, that information does not seem to propagate and graywolf is ending up with 4 byte pointers.

During debugging we added the following to include/yalecad/base.h. This case is is in multiple places in the code, we just happened upon this one while searching.

#ifndef SIZEOF_VOID_P
+#warning SIZEOF_VOID_P is not defined
#define SIZEOF_VOID_P 32
+#else
+#warning SIZEOF_VOID_P is defined
#endif

Anyway, when the void pointers end up as 4 bytes, graywolf crashes when accessing incorrect memory regions.

libycadgraywolf.so: undefined reference to `cfree'

Ubuntu 17.10, cmake ., make, then:

[ 52%] Building C object src/twmc/CMakeFiles/TimberWolfMC.dir/__/date/date.c.o
[ 53%] Linking C executable TimberWolfMC
/home/ciro/git/graywolf/src/Ylib/libycadgraywolf.so: undefined reference to `cfree'
collect2: error: ld returned 1 exit status
src/twmc/CMakeFiles/TimberWolfMC.dir/build.make:1785: recipe for target 'src/twmc/TimberWolfMC' failed

test fails

When I run make test after install I get this error and I don't know what it means. I'm installing on a clean LXD container running ubuntu 18.04.

Test project /home/ubuntu/graywolf/build
Start 1: install_in_tmp
1/6 Test #1: install_in_tmp ................... Passed 0.01 sec
Start 2: map9v3
2/6 Test #2: map9v3 ........................... Passed 4.93 sec
Start 3: map9v3-twsc
3/6 Test #3: map9v3-twsc ...................... Passed 4.78 sec
Start 4: map9v3-mincut
4/6 Test #4: map9v3-mincut .................... Passed 0.02 sec
Start 5: map9v3-twmc
5/6 Test #5: map9v3-twmc ......................***Failed 0.02 sec
Start 6: map9v3_other_seed
6/6 Test #6: map9v3_other_seed ................ Passed 4.84 sec

83% tests passed, 1 tests failed out of 6

Total Test time (real) = 14.61 sec

The following tests FAILED:
5 - map9v3-twmc (Failed)
Errors while running CTest
Makefile:94: recipe for target 'test' failed
make: *** [test] Error 8

how to install graywolf on CentOS-6.10

I downloaded an unzip'd "graywolf-master.zip". And I read the README.md file.
And the "Install Procedure" says to do:
mkdir build
cd build
cmake ..
make
sudo make install

Question1: what does the "cmake .." line do ?
Question2: "cmake" is not in my default $PATH in my bash shell in CentOS-6.10,
where/what is "cmake"

Note: a normal Linux install would be something like:
make config ( or ./configure)
make
make install

Let me know.
thanks
-steve

install greywolf on cygwin issue

Hello Ruben,

I am a hardware guy doing place and route for years and I have absolute zero knowledge about software developing, but I want to try greywolf on my design and I have no choice but to learn how to compile ;)

I am trying to compile greywolf on my windows computer and I am using Cygwin64 to do that.
cmake step goes without errors, but during make it gives the following errors ( I did make -i and grepped all errors from the log so I could capture all errors, without onion peeling). There are 2 issues:

The first issue starts with getCompileDate error and translates to places where it uses this:

[ 21%] Linking C shared library cygycadgraywolf-1.dll
CMakeFiles/ycadgraywolf.dir/program.c.o:program.c:(.text+0x3d): undefined reference to getCompileDate' CMakeFiles/ycadgraywolf.dir/program.c.o:program.c:(.text+0x3d): relocation truncated to fit: R_X86_64_PC32 against undefined symbol getCompileDate'

[ 52%] Building C object src/twmc/CMakeFiles/TimberWolfMC.dir/__/date/date.c.o
make[2]: *** No rule to make target 'src/Ylib/libycadgraywolf.so', needed by 'src/twmc/TimberWolfMC.exe'. Stop.

[ 55%] Building C object src/genrows/CMakeFiles/genrows.dir/__/date/date.c.o
make[2]: *** No rule to make target 'src/Ylib/libycadgraywolf.so', needed by 'src/genrows/genrows.exe'. Stop.

[ 59%] Building C object src/twflow/CMakeFiles/graywolf.dir/__/date/date.c.o
make[2]: *** No rule to make target 'src/Ylib/libycadgraywolf.so', needed by 'src/twflow/graywolf.exe'. Stop.

[ 61%] Building C object src/mincut/CMakeFiles/Mincut.dir//date/date.c.o
make[2]: *** No rule to make target 'src/Ylib/libycadgraywolf.so', needed by 'src/mincut/Mincut.exe'. Stop.
^
[ 89%] Building C object src/twsc/CMakeFiles/TimberWolfSC.dir/
/date/date.c.o
make[2]: *** No rule to make target 'src/Ylib/libycadgraywolf.so', needed by 'src/twsc/TimberWolfSC.exe'. Stop.

[ 92%] Building C object src/syntax/CMakeFiles/syntax.dir/__/date/date.c.o
make[2]: *** No rule to make target 'src/Ylib/libycadgraywolf.so', needed by 'src/syntax/syntax.exe'. Stop.

The second issue is related to some extra libraries needed for cygwin so it understands stdin and stdout. Or, if I somehow compile it with "#define linux" switch, they all should go away. But I don't know how. It is also same kind of issue in different files:

/cygdrive/d/FreeEDA/graywolf-master/src/twflow/readobjects_l.h:27:14: error: initializer element is not constant
FILE *yyin ={stdin}, *yyout ={stdout};
^
/cygdrive/d/FreeEDA/graywolf-master/src/twflow/readobjects_l.h:27:14: note: (near initialization for ‘yyin’)
/cygdrive/d/FreeEDA/graywolf-master/src/twflow/readobjects_l.h:27:31: error: initializer element is not constant
FILE *yyin ={stdin}, *yyout ={stdout};
^
...
/cygdrive/d/FreeEDA/graywolf-master/src/mincut/readcells_l.h:27:14: error: initializer element is not constant
FILE *yyin ={stdin}, *yyout ={stdout};
^
/cygdrive/d/FreeEDA/graywolf-master/src/mincut/readcells_l.h:27:14: note: (near initialization for ‘yyin’)
/cygdrive/d/FreeEDA/graywolf-master/src/mincut/readcells_l.h:27:31: error: initializer element is not constant
FILE *yyin ={stdin}, *yyout ={stdout};
^
...
/cygdrive/d/FreeEDA/graywolf-master/src/twsc/readcell_l.h:27:14: error: initializer element is not constant
FILE *yyin ={stdin}, *yyout ={stdout};
^
/cygdrive/d/FreeEDA/graywolf-master/src/twsc/readcell_l.h:27:14: note: (near initialization for ‘READCEL_yyin’)
/cygdrive/d/FreeEDA/graywolf-master/src/twsc/readcell_l.h:27:31: error: initializer element is not constant
FILE *yyin ={stdin}, *yyout ={stdout};
^
...
/cygdrive/d/FreeEDA/graywolf-master/src/twsc/readnets_l.h:27:14: error: initializer element is not constant
FILE *yyin ={stdin}, *yyout ={stdout};
^
/cygdrive/d/FreeEDA/graywolf-master/src/twsc/readnets_l.h:27:14: note: (near initialization for ‘NET_yyin’)
/cygdrive/d/FreeEDA/graywolf-master/src/twsc/readnets_l.h:27:31: error: initializer element is not constant
FILE *yyin ={stdin}, *yyout ={stdout};
^
...
/cygdrive/d/FreeEDA/graywolf-master/src/mc_compact/readcgraph_l.h:28:14: error: initializer element is not constant
FILE *yyin ={stdin}, *yyout ={stdout};
^
/cygdrive/d/FreeEDA/graywolf-master/src/mc_compact/readcgraph_l.h:28:14: note: (near initialization for ‘DRG_yyin’)
/cygdrive/d/FreeEDA/graywolf-master/src/mc_compact/readcgraph_l.h:28:31: error: initializer element is not constant
FILE *yyin ={stdin}, *yyout ={stdout};
^
...
/cygdrive/d/FreeEDA/graywolf-master/src/mc_compact/readtiles_l.h:28:14: error: initializer element is not constant
FILE *yyin ={stdin}, *yyout ={stdout};
^
/cygdrive/d/FreeEDA/graywolf-master/src/mc_compact/readtiles_l.h:28:14: note: (near initialization for ‘yyin’)
/cygdrive/d/FreeEDA/graywolf-master/src/mc_compact/readtiles_l.h:28:31: error: initializer element is not constant
FILE *yyin ={stdin}, *yyout ={stdout};
... ^

I am stuck with this for 2 days already, if you have any hint or solution, please let me know.

Thanks a lot in advance,
Igor

Placement freezes with only one reg

Hello,
I was building test cases for a project I was working on, and one of my test cases has a single reg in it. A very simple design (or so I thought). But it does not seem to work, graywolf freezes when trying to run placement. So I thought I must have been stupid and just wrote bad code? After several other test cases with one reg that failed, and after adding a second reg to them made them work, I figured that i might mention it here.

An interesting note: CPU is at 100% for the thread that graywolf is running on when frozen.

Here is verilog file. I was running the latest version of qflow. Everything else works great as always!

     module test(
             clock, reset, a, b
     );

     input clock, reset, a;
     output b;

     reg storage0;

     always @ (posedge clock) begin
             if (a) begin
                     storage0 <= 1'b1;
             end
     end

     always @ (negedge reset) begin
             storage0 <= 1'b0;
     end
     endmodule

Sorry about code formatting, it was not cooperating.

graywolf crashes

I am running graywolf as part of qflow. graywolf 0.1.2 installed from git source crashes.
It crashes in TimberWolfSC:

verhaegs@vps2:~/eda/SuskaIII_vhdl_2K15A/qflow_osu050$ /home/verhaegs/.local/xstow/graywolf-0.1.2/lib/graywolf/bin/TimberWolfSC -dv WF68K00IP_ALU


TimberWolfSC switches:
debug on
Graphics mode on
Verbose mode on

TimberWolfSC version:v6.0 date:Mon May 25 21:19:07 EDT 1992
Row-Based Placement and Global Routing Program
Authors: Carl Sechen, Kai-Win Lee, and Bill Swartz,
     Yale University
...
[add_swap_group]:Implicit swap group <Z_bF$pin> created
[add_swap_group]:Implicit swap group <sub_702_36.$abc$50871$n599_bF$pin> created
[add_swap_group]:Implicit swap group <sub_702_36.$abc$50871$n608_bF$pin> created
[add_swap_group]:Implicit swap group <sub_702_36.$abc$50871$n622_1_bF$pin> created
[add_swap_group]:Implicit swap group <sub_702_36.$abc$50871$n619_bF$pin> created
[add_extra_cells]:Added 610 spacer cells to the gate array
WARNING[findcost]:Net <gnd> has 2513 pins
WARNING[findcost]:Net <vdd> has 190 pins
Segmentation fault (core dumped)

It seems to crash in gate_swap:

verhaegs@vps2:~/eda/SuskaIII_vhdl_2K15A/qflow_osu050$ gdb /home/verhaegs/.local/xstow/graywolf-0.1.2/lib/graywolf/bin/TimberWolfSC core
GNU gdb (GDB) 7.4.1-debian
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/verhaegs/.local/xstow/graywolf-0.1.2/lib/graywolf /bin/TimberWolfSC...done.
[New LWP 21859]

warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
Core was generated by `/home/verhaegs/.local/xstow/graywolf-0.1.2/lib/graywolf/bin/TimberWolfSC -dv WF'.
Program terminated with signal 11, Segmentation fault.
#0  0x0000000000445e2d in gate_swap (between_two_cells=0, sgidxa=0, sgidxb=0)
    at /home/verhaegs/compile/graywolf/src/twsc/gateswap.c:139
139     term_list2 = term_list2->next_grp;
(gdb) list
134     term_list1 = term_list1->next_grp;
135     }
136 
137     term_list2 = term;
138     while (pg2 > 1) {
139     term_list2 = term_list2->next_grp;
140     }
141 }
142 
143 for( term1 = term_list1 ; term1 != NULL ; term1 = term1->next ) {
 (gdb) p term_list2
 $1 = (PINLIST *) 0x0
 (gdb) bt
 #0  0x0000000000445e2d in gate_swap (between_two_cells=0, sgidxa=0, sgidxb=0)
    at /home/verhaegs/compile/graywolf/src/twsc/gateswap.c:139
#1  0x000000000044bb89 in uloop () at /home/verhaegs/compile/graywolf/src/twsc/uloop.c:369
#2  0x000000000043e1f5 in from_beginning () at /home/verhaegs/compile/graywolf/src/twsc/utemp.c:276
#3  0x000000000043dbf5 in utemp () at /home/verhaegs/compile/graywolf/src/twsc/utemp.c:130
#4  0x0000000000435a4e in main (argc=3, argv=0x7fffa5a4e6b8)
    at /home/verhaegs/compile/graywolf/src/twsc/main.c:444

It happens with both osu035, osu050 technology used from qflow.
I tried to hack it away with the following diff but this makes to program go in infinite loop:

----------------------------- src/twsc/gateswap.c -----------------------------
index 0222073..bde117b 100644
@@ -131,11 +131,13 @@ if( between_two_cells ) {

     term_list1 = term;
     while (pg1 > 1) {
+        if (term_list1->next_grp == NULL) break;
         term_list1 = term_list1->next_grp;
     }

     term_list2 = term;
     while (pg2 > 1) {
+        if (term_list2->next_grp == NULL) break;
         term_list2 = term_list2->next_grp;
     }
 }

Any extra generated files I should upload ?
original .v file I would like to not make public; can send it by email on request.

Graywolf freezes in qflow

I am trying to run qflow for a design containing a hard macro. When it reaches the placement stage, graywolf places it and gets freezed. Not able to resolve this. kindly help. I am attaching the log file here
`Running GrayWolf placement
graywolf AMUX2_3V_top
ERROR[TWgetfont]:font:9x15 not available - using default:fixed

twflow version:2.1 date:Mon May 25 21:15:08 EDT 1992
Authors: Bill Swartz, Carl Sechen
Yale University

syntax version:v1.1 date:Mon May 25 21:11:10 EDT 1992
TimberWolf System Syntax Checker
Authors: Carl Sechen, Kai-Win Lee, Bill Swartz,
Dahe Chen, and Jimmy Lam
Yale University

No syntax errors were found

syntax terminated normally with no errors and 0 warning[s]


Total stdcells :1
Total cell width :2.40e+02
Total cell height :1.00e+03
Total cell area :2.40e+05
Total core area :2.40e+05
Average cell height:1.00e+03

nocut - replacement for Mincut version:v1.0 date:Mon May 25 21:09:40 EDT 1992
TimberWolf System Floorplan Setup Program
Authors: Carl Sechen, Bill Swartz,
Yale University

Splitting AMUX2_3V_top.cel into AMUX2_3V_top.scel and AMUX2_3V_top.mcel...
done!

nocut - replacement for Mincut terminated normally with no errors and 0 warning[s]

TimberWolfMC version:v2.2 date:Mon May 25 21:18:34 EDT 1992
Authors: Carl Sechen, Bill Swartz, Kai-Win Lee
Dahe Chen, and Jimmy Lam
Yale University
ERROR[TWgetfont]:font:9x15 not available - using default:fixed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
151 152 153 154 155
mc.compactor version:v1.0 date:Mon May 25 21:07:13 EDT 1992
compactor switches:
Violation removal only
Graphics mode off

[preprocess_multi]:Fixing multiple tiles...
[preprocess_multi]:Verifying multiple tiles...
Violation removal completed...

mc.compactor terminated normally with no errors and 0 warning[s]

ERROR[TWgetfont]:font:9x15 not available - using default:fixed
WARNING[read_vertices]:Total row length is smaller that minimum tile length

config version:v1.0 date:Mon May 25 20:57:18 EDT 1992
Row configuration program
Yale University

config switches:
Graphics mode on
config will inherit window

Minimum tile set to total row length / 2

Note: restore state file exists:AMUX2_3V_top

config terminated abnormally with 1 error[s] and 1 warning[s]

WARNING[space_pins]:overflow for cell:1 pin:pin6
WARNING[space_pins]:overflow for cell:1 pin:pin2

TimberWolfMC terminated abnormally with 1 error[s] and 2 warning[s]

ERROR[TWgetfont]:font:9x15 not available - using default:fixed

TimberWolfSC switches:
Graphics mode on
TimberWolfSC will inherit window

TimberWolfSC version:v6.0 date:Mon May 25 21:19:07 EDT 1992
Row-Based Placement and Global Routing Program
Authors: Carl Sechen, Kai-Win Lee, and Bill Swartz,
Yale University
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
151 152 153 154 155 156 157 `

problem installing grayflow: cannot find -lX11

Hi
I'm trying to compile grayflow from source on centos4
after entering make command I get the following error:
Linking C shared library libycadgraywolf.so /usr/bin/ld: cannot find -lX11 collect2: ld returned 1 exit status make[2]: *** [src/Ylib/libycadgraywolf.so.1.0.0] Error 1 make[1]: *** [src/Ylib/CMakeFiles/ycadgraywolf.dir/all] Error 2 make: *** [all] Error 2
How can I fix it?

TimberWolfSC runs forever without showing any errors or progress

I'm trying to run this design through Qflow process and I'm stuck at Placement stage (Graywolf v0.1.4), I've tried on separate days spending 6 and 9 hours respectively and it's just not terminating, yet when I check top, the TimberWolfSC seems to be using a full core.

$ ./qflow_exec.sh
Qrouter detail maze router version 1.4.83.T
Reading LEF data from file /usr/local/share/qflow/tech/osu018/osu018_stdcells.lef.
LEF Read, Line 191: NOTE:  Old format VIARULE ignored.
LEF Read, Line 192: NOTE:  Old format VIARULE ignored.
LEF Read, Line 196: NOTE:  Old format VIARULE ignored.
LEF Read, Line 197: NOTE:  Old format VIARULE ignored.
LEF Read, Line 207: NOTE:  Old format VIARULE ignored.
LEF Read, Line 208: NOTE:  Old format VIARULE ignored.
LEF Read, Line 212: NOTE:  Old format VIARULE ignored.
LEF Read, Line 213: NOTE:  Old format VIARULE ignored.
LEF Read, Line 223: NOTE:  Old format VIARULE ignored.
LEF Read, Line 224: NOTE:  Old format VIARULE ignored.
LEF Read, Line 228: NOTE:  Old format VIARULE ignored.
LEF Read, Line 229: NOTE:  Old format VIARULE ignored.
LEF Read, Line 239: NOTE:  Old format VIARULE ignored.
LEF Read, Line 240: NOTE:  Old format VIARULE ignored.
LEF Read, Line 244: NOTE:  Old format VIARULE ignored.
LEF Read, Line 245: NOTE:  Old format VIARULE ignored.
LEF Read, Line 255: NOTE:  Old format VIARULE ignored.
LEF Read, Line 256: NOTE:  Old format VIARULE ignored.
LEF Read, Line 260: NOTE:  Old format VIARULE ignored.
LEF Read, Line 261: NOTE:  Old format VIARULE ignored.
LEF file:  Defines site core (ignored)
LEF read: Processed 2941 lines.
LEF Read: encountered 0 errors and 20 warnings total.
Vertical route layer at non-minimum pitch 1.6.  Using smaller pitch 0.8, will route on 1-of-2 tracks for layer metal6.
Running vlog2Cel to generate input files for graywolf
vlog2Cel  -l  /usr/local/share/qflow/tech/osu018/osu018_stdcells.lef -u 100 -o /qflow-piccolo/layout/mkCPU.cel /qflow-piccolo/synthesis/mkCPU.rtlnopwr.v
No mkCPU.cel1 file found for project. . . no partial blockages to apply to layout.
No mkCPU.cel2 file found for project. . . continuing without pin placement hints
Running GrayWolf placement
graywolf  mkCPU

Is there any way to debug this? I'm not getting any logs or any errors. Is the placement stage supposed to take this long?

The synthesis has 300K cells which I understand is a large number and if I try to change the density, it gets stuck and doesn't even show the graphical interface. And it prints the width to be:

Number of cells = 388742, total width = 133089600

which mean the width is 1.86 meters even when lambda is 14nm! Is this correct?

Large designs overflow EDGE_COST record

src/twsc/netgraph.c: lines 71 and 72
structure EDGE_COST has components node1 and node2 cast as SHORT. For a large design (microprocessor-sized, but not insanely big), the number of nodes easily exceeds 65535 and causes arrays to be addressed with negative indexes, crashing TimberwolfSC. The values are set from adding pins_at_rowS and first_indexS, both of which are type INT, so changing these from type SHORT to INT solves the problem, and any design that overflows type INT in the number of nodes is insanely big.

In summary,

typedef struct graph_edge_cost {
INT node1 ;
INT node2 ;
INT cost ;
INT channel ;
}
*EDGE_COST ,
EDGE_COST_BOX ;

error: invalid use of void expression

/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/genrows/draw.c:1212:20: error: invalid use of void expression
 1212 |  if (last_chanceG) (VOID)last_chance() ;
      |                    ^

gcc-9 on FreeBSD 12

Install at non-default location

Hi,
How can I compile it to non-default location?
It doesn't have configure script.
I tried with export PREFIX=/destinationPath. and then run make.
But this didn't work. Still its installing to default path in /usr.
setting PREFIX variable before running make worked for me with another tool which didn't have configure script.
Kindly help.
Regards.

Arch linux (and others?) workaround for global variables defined multiple times in different files

At least in Arch linux, and probably others, the linker stage fails because gcc is configured to define "-fno-common" by default, and so it becomes illegal to declare a global variable of the same name in more than one C file that are going to be linked into the same object file.

The workaround is to add

set(CMAKE_C_FLAGS "-fcommon")
set(CMAKE_CXX_FLAGS "-fcommon")

to CMakeLists.txt.

The real fix would be to set -fno-common to force the compiler error and then fix all the instances where global variables have been defined more than once in files being linked together.

---Tim

sh: /usr/local/lib/graywolf/bin/edit_twfiles: No such file or directory

Hi

Running graywolf i get the following message:

sh: /usr/local/lib/graywolf/bin/edit_twfiles: No such file or directory

twflow terminated abnormally with 1 error[s] and 0 warning[s]

I am using graywolf as part of the qFlow. All works fine as long es i use for the place and route flow standard cells (osu018). However i would like to use it with our one digital library, I created the necessary .lef file and .par file ... and it does not complain about those.

It is true there is no edit_twfiles included in the graywolf package. The edit_twfiles are called in the

grep -r 'edit_twfiles' *
flow/flow.noroute/mixed.flow:pobject edit_twfiles 1: 0
flow/flow.noroute/mixed.fnog:pobject edit_twfiles 1: 0
flow/flow.noroute/standard.fdbg:pobject edit_twfiles 1: 0
flow/flow.noroute/standard.flow:pobject edit_twfiles 1: 0
flow/flow.noroute/standard.fnog:pobject edit_twfiles 1: 0

If I replace with edit_twfiles with something existing such as Mincut, i receive some other error.
What does that mean. When are those pobjects called. How can I avoid that? Or is the source code of edit_twfiles somewhere available?

Thanks and best regards,

mhb

building on Mac (BigSur, AppleSilicon)

I'm trying to install graywolf on Mac (BigSur), and succeeded with some modification on source codes.
Here is my modification points, and I hope this will help someone to install graywolf on Mac with xcode compiler sets, where some of them would be a fixed in original sources.

  • prepare Homebrew
  • install cmake & libx11 by "brew install".
  • edit CMakeLists.txt at below line to avoid type-related errors and to set include/link path

SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}
-DSIZEOF_VOID_P=${SIZEOF_VOID_P_BITS}
-Wno-implicit-function-declaration -Wno-return-type -Wno-format -I /usr/local/include -L /usr/local/lib")

  • on Mac(M1), getCompileDate() doesn't seem to work, so commended it out in program.c.
  • in genrows/draw.c, type specification "VOID" doesn't work, so delete it.

Issue Compiling (C++ related)

Hello,
I'm reaching the following compilation error message:

graywolf/src/Ylib/dset.c:456:11: note: use '==' to turn this assignment into an equality
comparison
if( ptr = (ELEMENTPTR) Yrbtree_search( dset->dtree, &dummy )){
^
==
make[2]: *** [src/Ylib/CMakeFiles/ycadgraywolf.dir/draw.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....

Compilation on OSX

Hi there,

I'm trying to compile on OSX 10.14.4 and am running into a few issues. The first was solved by Tim from OpenCircuitDesign who noticed the check for OSX in include/yalecad/base.h should be APPLE or MACH on line 164.

Having fixed this I'm still getting errors when building, log attached.

Shareef.

build.log

Compilation fails with make -j

If I try to use multiple cores with make -j $(nproc), the compilation fails, I get an error at some point, and the exit status of make is not 0.

e1bf319 Ubuntu 17.10.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.