This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: inline (Re: guile: going the way of DEATH)


"Jonathan R. Ferro" <jferro@corwin.ece.cmu.edu> writes:

> "Greg" == Greg Badros <gjb@cs.washington.edu> writes:
> Greg>  For example?  Please let me know about non-portable C constructs
> Greg> in Scwm.  (I don't doubt that there are some, I just want to get
> Greg> rid of them if convenient.)
> 
> The biggie is the DBUG macro--multiple macros of the same name that
> differ only in their number of arguments is not allowed.  I will run
> another build and summarize the warnings this evening.

Hmmm... we protect that one with #ifdef __GNUC__, though.  From scwm.h:

#ifdef __GNUC__
#  ifdef SCWM_DEBUG_MSGS
#    define DBUG(x,y...) scwm_msg(DBG,x,## y)
#  else
#    define DBUG(x,y...)                /* no messages */
#  endif
#else
/* Not GNUC, so no varargs macros */
#  ifdef SCWM_DEBUG_MSGS
#    define DBUG(x,y) scwm_msg(DBG,x,y)
#    define DBUG(x,y,a) scwm_msg(DBG,x,y,a)
#    define DBUG(x,y,a,b) scwm_msg(DBG,x,y,a,b)
#    define DBUG(x,y,a,b,c) scwm_msg(DBG,x,y,a,b,c)
#    define DBUG(x,y,a,b,c,d) scwm_msg(DBG,x,y,a,b,c,d)
#    define DBUG(x,y,a,b,c,d,e) scwm_msg(DBG,x,y,a,b,c,d,e)
#  else
#    define DBUG(x,y)
#    define DBUG(x,y,a)
#    define DBUG(x,y,a,b)
#    define DBUG(x,y,a,b,c)
#    define DBUG(x,y,a,b,c,d)
#    define DBUG(x,y,a,b,c,d,e)
#  endif
#endif

If we have uses w/ more than 5 variables, I'll add a bunch more lines to 
the above to make things happy again.

Please do let me know about the other warnings.  We don't *want* to
require GCC (and when we choose to use GCC features, we intend for that
to be a conscious decision.

Thanks!

Greg