[PATCH] D52879: Derive builtin return type from its definition

Bruno Ricci via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Nov 30 07:30:17 PST 2018


riccibruno added a comment.

In D52879#1311177 <https://reviews.llvm.org/D52879#1311177>, @riccibruno wrote:

> And moreover I believe this change is subtly incorrect for the following reason:
>  The type that is passed into the constructor of the call expression is the type
>  of the call expression, and not the return type.
>
> The difference between the return type and the type of the call expression is that
>  1.) References are dropped, and
>  2.) For C++: The cv-qualifiers of non class pr-values are dropped,
>  3.) For C: The cv-qualifiers are dropped.
>
> ( as can be seen in `FunctionType::getCallResultType` )


@mantognini Ping ? I agree with you that it would be best to derive the return type of builtins from
their definition, but as such I think that this change is incorrect for the reason given above.

What I would like to propose is to revert the changes to the code in `Sema`, but keep the tests.


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D52879/new/

https://reviews.llvm.org/D52879





More information about the cfe-commits mailing list