+#define XOBFINISH(O, PT) ((PT) obstack_finish ((O)))
For XOBNEW, etc., we use (T *) rather than (PT). Using (PT) seems
error-probe--it's the only use of the obstack with a different type
parameter. Why not use T rather than PT here, and return (T *)?
I'd have to change many (about 60) occurences of XOBFINISH if I change that.
I'd go for it if I was sure it's what we want, it can be a separate patch
later on.
I'm sorry to ask you to change a lot of code, but it simply doesn't
make sense to me to have all but one macro take the type as an
argument, and have one macro take a pointer to the type. They really
have to be consistent.