[cfe-commits] r108234 - in /cfe/trunk: include/clang/AST/ include/clang/Basic/ lib/AST/ lib/Rewrite/ lib/Sema/ test/CodeGen/ test/Sema/ test/SemaCXX/ test/SemaTemplate/

Douglas Gregor dgregor at apple.com
Tue Jul 13 11:47:59 PDT 2010


On Jul 13, 2010, at 1:57 AM, Eli Friedman wrote:

> On Tue, Jul 13, 2010 at 1:18 AM, Douglas Gregor <dgregor at apple.com> wrote:
>> Author: dgregor
>> Date: Tue Jul 13 03:18:22 2010
>> New Revision: 108234
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=108234&view=rev
>> Log:
>> When forming a function call or message send expression, be sure to
>> strip cv-qualifiers from the expression's type when the language calls
>> for it: in C, that's all the time, while C++ only does it for
>> non-class types.
>> 
>> Centralized the computation of the call expression type in
>> QualType::getCallResultType() and some helper functions in other nodes
>> (FunctionDecl, ObjCMethodDecl, FunctionType), and updated all relevant
>> callers of getResultType() to getCallResultType().
>> 
>> Fixes PR7598 and PR7463, along with a bunch of getResultType() call
>> sites that weren't stripping references off the result type (nothing
>> stripped cv-qualifiers properly before this change).
> 
> There are some other places with similar problems, e.g.:
[snip lots of good examples]

Yep, you're right... thanks! I've gone through and audited our expression-construction code. I believe the issue is fixed in r108253.

	- Doug





More information about the cfe-commits mailing list