On 2018/08/28 10:52, Brian Callahan wrote:
> 
> On 08/28/18 09:36, Stuart Henderson wrote:
> > On 2018/08/28 15:11, Alessandro DE LAURENZIS wrote:
> > > Hi Stuart,
> > > 
> > > On 2018-08-28 13:46, Stuart Henderson wrote:
> > > [...]
> > > > I've reworded DESCR a bit, I think this flows a bit better?
> > > > 
> > > > ==
> > > > graywolf is a tool for placement and routing used as part of a tool
> > > > chain for synthesizing digital circuits (VLSI), mainly intended for use
> > > > used together with qflow (http://opencircuitdesign.com/qflow/).
> > > This is definitely confusing: synthesis isn't involved during placement 
> > > (and
> > > routing). Moreover, graywolf (differently from TimberWolf) doesn't have
> > > routing algorithms at all.
> > > 
> > > Maybe:
> > > 
> > > graywolf is a program for placement of VLSI digital circuits,
> > > mainly intended as part of qflow tool-chain
> > > (http://opencircuitdesign.com/qflow/).
> > Yes that sounds good.
> 
> I'm ok with this too.
> 
> > > > It is a fork of the last open-source version of TimberWolf (which is
> > > > now commercial software) and has been modified to streamline the build
> > > > process and make it behave more as a standard command-line tool.
> > > > 
> > > > It is based on the general combinatorial optimization technique known
> > > > as simulated annealing and is suitable for standard cell, macro/custom
> > > > cell, and gate-array professional-grade placement.
> > > > ==
> > > This part is ok, I think.
> > > 
> > > > 
> > > > Is there anything simple that can be done about all the "format
> > > > specifies
> > > > type 'int' but the a rgument has type 'INT' (aka 'long') [-Wformat]"
> > > > warnings during build?
> > > Hope someone with more experience than me can answer to this point,
> > > nonetheless I'll have a look.
> 
> It looks like inconsistent use of format strings.
> WRKSRC/src/Ylib/queue.c:122 has this, for example
> 
> #if SIZEOF_VOID_P == 64
>             fprintf( stderr,"%ld ", (INT)temp->data ) ;
> #else
>             fprintf( stderr,"%d ", (INT)temp->data ) ;
> #endif
> 
> And other places don't. So I guess it's just a matter of someone going
> through it all and making the mechanical changes or convincing upstream to
> do this in a more sensible way (maybe with size_t or something).

: /* -------------------------------------------------------
:     Use typedefs to make the code more portable.  User 
:     just changes size here and all of the code will be 
:     modified.  To avoid complaints in lint use defines 
:     instead of typedefs. Typedefs are better for 
:     errorchecking by the compiler.
: ---------------------------------------------------------- */
: #ifndef lint
: 
: /* Somewhat more rigorous 64-bit compatibility added by Tim, May 2, 2011 */
: #ifndef SIZEOF_VOID_P
: #define SIZEOF_VOID_P 32
: #endif
: 
: #if SIZEOF_VOID_P == 32
: typedef int INT ;
: #elif SIZEOF_VOID_P == 64
: typedef long INT ;
: #else
: ERROR: Cannot compile without knowing the size of a pointer.  See 
Ylib/include/base.h
: #endif

*scratches head*

Anyway in most places it's using %d and an int on 32-bit and a type the
same size as an int on 64-bit so it's not going to actually break as a
result, just going to trigger extra compiler warnings.

OK to import with the revised DESCR.

Reply via email to