Both ParmVarDecl and FunctionDecl::getType() are staying the same. However, most other FunctionProtoType Exprs in the AST now have undecayed types, and we can make calls with them. This is because there are many calls to GetTypeForDeclarator() that could return a FunctionProtoType, and it didn't seem right to check all of them.
Why would you say it's wrong to decay variable length arrays in InitializeParameter(), but not normal arrays? If it is wrong, I think most instances could be fixed by adjusting the type in GatherArgumentsForCall. On Tue, Jun 11, 2013 at 3:16 PM, Eli Friedman <[email protected]>wrote: > Err, wait, that's not right; I'm pretty sure you aren't changing the > return type of ParmVarDecl::getType() (correct me if I'm wrong). In that > case, you shouldn't be changing InitializedEntity::InitializeParameter, > but rather its caller. > > -Eli > > > On Tue, Jun 11, 2013 at 12:13 PM, Eli Friedman <[email protected]>wrote: > >> Sorry I didn't catch this the first time around, but why are you changing >> the return value of ParmVarDecl::getType()? ParmVarDecl::getOriginalType() >> already returns the type before adjustment. >> >> -Eli >> >> >> On Tue, Jun 11, 2013 at 12:02 PM, Reid Kleckner <[email protected]> wrote: >> >>> This was originaly r183614 which was reverted in r183616. >>> >>> The fix here was to change InitializeParameter() to use >>> ASTContext::getSignatureParameterType() to avoid errors when trying to >>> initialize array parameters with normal pointers. >>> >>> I had to change some objc tests which were getting extra qualifiers in >>> diagnostics, but they looked coincidental, not intentional. >>> >>> http://llvm-reviews.chandlerc.com/D957 >>> >>> Files: >>> include/clang/Sema/Initialization.h >>> lib/Sema/SemaDecl.cpp >>> lib/Sema/SemaType.cpp >>> test/Index/print-type.c >>> test/Index/print-type.cpp >>> test/Sema/function-redecl.c >>> test/Sema/function.c >>> test/SemaObjC/objc-literal-nsnumber.m >>> test/SemaObjCXX/arc-type-conversion.mm >>> test/SemaObjCXX/literals.mm >>> >>> _______________________________________________ >>> cfe-commits mailing list >>> [email protected] >>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >>> >>> >> >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
