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.
