Il 14/12/2010 00:06, John McCall ha scritto: > On Dec 13, 2010, at 2:40 PM, Chandler Carruth wrote: >> On Mon, Dec 13, 2010 at 2:27 PM, Abramo Bagnara >> <[email protected] <mailto:[email protected]>> wrote: >> >> Skip ParenType on function instantiations. >> >> >> While this fixes one case, your patch remains fundamentally broken. >> There are more cases throughout Sema that reason about a QualType or >> TypeSourceInfo or TypeLoc and expect getAs<FunctionType> or >> dyn_cast<FunctionType> to Just Work. They don't any more. Function >> attributes won't work now for example. Can you audit the codebase >> looking for these? They should be very easy to craft test cases for. > > getAs<>() should be working just fine because (1) the canonical type is > untouched and (2) isSugared() and desugar() have been implemented > correctly.
Yes, we were relying on this behaviour in many places. > Chandler is right that we probably need to check all the > explicit isa<>s on TypeLocs. OK, we'll perform such a review. > I am skeptical that we need QualType::IgnoreParens() at all, Currently we only have a couple of uses in the very same function and you are right, these are unnecessary, since in those places too we have occurrences of getAs<>, which are going to work just fine. We will remove this method. > but TypeLoc::IgnoreParens is reasonable, although I agree with Chandler that > this should be an inline function. Agreed: we will code the fast path inline and use an IgnoreParensImpl for the slow path. Enea. > > John. _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
