On 04/11/2012 12:00 PM, Bob McKay wrote: > does this look like a bug to you? Should I be reporting it? No. That expression expands to more than 200 megabytes of source code. You're expanding macros within macros. This gcc extension would help: #define PVAL(Y) ({double y = (Y); ((y==HUGE_VAL)?(INFPLUS):((y==-HUGE_VAL)?(-INFMINUS):(y)))}) Or just define PVAL as a function. Andrew.