Can any of you C++ hackers explain to me the difference in using, or not using, a set of parentheses around a #define'd value? FD_MS_DATA_READY is simply FD_MS_MRQ|FD_MS_DIO. Here is the diff. The first one causes Bochs to triple-fault with a bad opcode. The second one works. Curiously enough, it's the bad one that actually compiles the comparison, as seen in the diff of the disassemblies (the only substantive difference -- of course many of the offsets were changed due to that). In other words, there is a bug in my code -- I'm better off when the comparison isn't done (???), but there's also a bug in g++. Or is there? I'm kinda stumped. If you want to see the full source of what I'm doing, visit the CVS Browse pages of the colorForth project.

My first good batch of sourdough since last winter came out this morning, despite two very cold days of fermentation, and I made a big pancake out of it. I hope the little I left in the bowl will serve as sufficient starter for the next batch, it was excellent. Next time I've got to thin it out a little though -- the pancake came out a little too thick.

Back to blog or home page

last updated 2013-01-10 20:50:36. served from tektonic.jcomeau.com