> "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