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

Greg Badros (gjb@cs.washington.edu)
17 Aug 1998 22:13:22 -0700

"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