On Jan 5, 2009, at 10:26 PM, Douglas Gregor wrote: >>> Most declarations of a class type will need to perform the check >>> for a POD type, which is recursive (it's only a POD if all of its >>> non-static data members are PODs, and so on), so it might be >>> expensive to compute this property on the fly. Personally, I >>> prefer the way Sebastian's doing it: there will be quite a few >>> other class properties like this, too. >> >> What if the query is lazy but cached? Many types are defined in >> headers that are never used, I can't believe that we'd end up >> querying isPod for all of them... > > We could certainly make the query lazy but cached, but why? The most > expensive check needed to maintain this flag is "if (!T- > >isPODType())".
I'm not "afraid" of the cost to compute pod-ness eagerly or the bit to store it in. I'm most interested in getting the "compute whether this type is pod" code together in one place. However, I can't stomach the cost of doing a post-pass over the type (instead of doing it on the fly like Sebastian is doing), so it is probably fine to stay the way it is now. -Chris _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
